คุณลักษณะของ ARCore เช่น ภูมิสารสนเทศ API และ Cloud Anchor ใช้ ARCore API โฮสต์บน Google Cloud เมื่อใช้ฟีเจอร์เหล่านี้ แอปพลิเคชันของคุณ ใช้ข้อมูลเข้าสู่ระบบเพื่อเข้าถึงบริการ ARCore API
การเริ่มต้นอย่างรวดเร็วนี้อธิบายวิธีการตั้งค่าแอปพลิเคชันของคุณเพื่อให้ สื่อสารกับบริการ ARCore API ที่โฮสต์ใน Google Cloud
สร้างโปรเจ็กต์ Google Cloud ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่
หากมีโปรเจ็กต์อยู่แล้ว ให้เลือกโปรเจ็กต์ดังกล่าว
หากยังไม่มีโปรเจ็กต์ Google Cloud ให้สร้างโปรเจ็กต์
เปิดใช้ ARCore API
หากต้องการใช้ ARCore API คุณต้องเปิดใช้ในโปรเจ็กต์ของคุณ
ตั้งค่าวิธีการให้สิทธิ์
แอปพลิเคชัน Android สามารถสื่อสารกับ ARCore API โดยใช้ วิธีการให้สิทธิ์: การให้สิทธิ์แบบไม่ใช้คีย์ (OAuth 2.0) ซึ่งก็คือ เมธอดที่แนะนำและการให้สิทธิ์คีย์ API
- การให้สิทธิ์แบบไม่ใช้คีย์ใช้ชื่อแพ็กเกจของแอปพลิเคชันผสมกัน และลายนิ้วมือของคีย์ Signing เพื่อให้สิทธิ์แอปพลิเคชัน
- คีย์ API คือสตริงที่ระบุโปรเจ็กต์ Google Cloud คีย์ API คือ มักไม่ถือว่าปลอดภัยเนื่องจากไคลเอ็นต์มักเข้าถึงได้ ลองใช้การให้สิทธิ์แบบไม่ใช้คีย์เพื่อสื่อสารกับ ARCore API
แบบไม่ใช้กุญแจ
หากต้องการให้สิทธิ์แอปโดยใช้การตรวจสอบสิทธิ์แบบไม่ใช้คีย์ ให้สร้างไคลเอ็นต์ OAuth 2.0 รหัส
ระบุลายนิ้วมือคีย์ Signing
รหัสไคลเอ็นต์ OAuth 2.0 ใช้ลายนิ้วมือคีย์ Signing ของแอปเพื่อระบุ แอป
วิธีรับลายนิ้วมือรับรองการแก้ไขข้อบกพร่อง
เมื่อเรียกใช้หรือแก้ไขข้อบกพร่องของโครงการ เครื่องมือ Android SDK จะลงชื่อโดยอัตโนมัติ แอปด้วยใบรับรองการแก้ไขข้อบกพร่องที่สร้างขึ้น
- ใน Android Studio ให้เปิดแผงเครื่องมือ Gradle
- ไปที่ project-name > งาน > android
- เรียกใช้งาน signingReport
- คัดลอกลายนิ้วมือ SHA-1 สำหรับตัวแปรแก้ไขข้อบกพร่อง
วิธีรับลายนิ้วมือรับรองจากคีย์สโตร์
หากมีไฟล์คีย์สโตร์ ให้ใช้ยูทิลิตี keytool
เพื่อระบุลายนิ้วมือ
keytool -list -v -alias your-key-name -keystore path-to-production-keystore
จากนั้นยูทิลิตี keytool
จะพิมพ์ลายนิ้วมือไปยังเครื่องชำระเงิน เช่น
Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09
วิธีรับคีย์ Signing ของแอปจาก Play App Signing
เมื่อใช้ Play App Signing Google จัดการคีย์ Signing ของแอปและใช้คีย์นี้เพื่อรับรอง APK ควรใช้คีย์นี้สำหรับลายนิ้วมือรับรอง
- ในหน้า App Signing ของ Google Play Console ให้เลื่อนไปที่ใบรับรองคีย์ App Signing
- ใช้ลายนิ้วมือสำหรับใบรับรอง SHA-1
สร้างรหัสไคลเอ็นต์ OAuth 2.0
สำหรับคีย์ Signing ที่เกี่ยวข้องแต่ละรายการจากขั้นตอนก่อนหน้า ให้สร้างรหัสไคลเอ็นต์ OAuth 2.0 ใน ข้อมูลเข้าสู่ระบบของโปรเจ็กต์ Google Cloud
เปิดหน้าข้อมูลเข้าสู่ระบบใน Google Cloud
คลิกสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth จากเมนู
กรอกข้อมูลในช่องที่ต้องกรอกดังต่อไปนี้
- ประเภทแอปพลิเคชัน: เลือก Android
- ชื่อแพ็กเกจ: ใช้ชื่อแพ็กเกจตามที่ประกาศไว้ใน AndroidManifest.xml
- ลายนิ้วมือสำหรับใบรับรอง SHA-1: ใช้ลายนิ้วมือที่ได้รับจากขั้นตอนก่อนหน้า
กดสร้าง
รวมไลบรารีที่จำเป็น
- รวม
com.google.android.gms:play-services-auth:16+
ในทรัพยากร Dependency ของแอป หากคุณใช้การลดขนาดโค้ด เพิ่มลงในไฟล์
build.gradle
ของแอปbuildTypes { release { ... proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
เพิ่มโค้ดต่อไปนี้ลงในไฟล์
proguard-rules.pro
ของแอป-keep class com.google.android.gms.common.** { *; } -keep class com.google.android.gms.location.** { *; } -keep class com.google.android.gms.auth.** { *; } -keep class com.google.android.gms.tasks.** { *; }
กำหนดค่าแอปให้ใช้การตรวจสอบสิทธิ์แบบไม่ใช้คีย์แล้ว
คีย์ API
- เปิดหน้าข้อมูลเข้าสู่ระบบใน Google Cloud
ข้อมูลเข้าสู่ระบบ - คลิกสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกคีย์ API จากเมนู
กล่องโต้ตอบการสร้างคีย์ API จะแสดงสตริงสำหรับคีย์ที่สร้างขึ้นใหม่ ใน Android Studio ให้เพิ่มคีย์ API ใหม่ในโปรเจ็กต์ รวมคีย์ API ไว้ในไฟล์
<meta-data>
ในส่วน<application>
ในAndroidManifest.xml
ของแอปคุณ:<meta-data android:name="com.google.android.ar.API_KEY" android:value="API_KEY"/>
- อ่านเอกสารประกอบเกี่ยวกับข้อจำกัดของคีย์ API เพื่อรักษาความปลอดภัยคีย์ API
แอปของคุณกําหนดค่าให้ใช้คีย์ API แล้ว
ขั้นตอนถัดไป
เมื่อกำหนดค่าการให้สิทธิ์แล้ว ลองดูฟีเจอร์ของ ARCore ต่อไปนี้ที่ใช้ ดังนี้