ใช้ ARCore API ใน Google Cloud

เลือกแพลตฟอร์ม:

ฟีเจอร์ของ ARCore เช่น Geospatial API และ Cloud Anchor ใช้ ARCore API ที่โฮสต์ใน Google Cloud เมื่อใช้ฟีเจอร์เหล่านี้ แอปพลิเคชันจะใช้ข้อมูลเข้าสู่ระบบเพื่อเข้าถึงบริการ ARCore API

การเริ่มต้นอย่างรวดเร็วนี้จะอธิบายวิธีตั้งค่าแอปพลิเคชันเพื่อให้สื่อสารกับบริการ ARCore API ที่โฮสต์บน Google Cloud ได้

สร้างโปรเจ็กต์ Google Cloud ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่

หากมีโปรเจ็กต์เดิม ให้เลือกโปรเจ็กต์นั้น

ไปที่ตัวเลือกโปรเจ็กต์

หากยังไม่มีโปรเจ็กต์ Google Cloud ให้สร้างโปรเจ็กต์ดังกล่าว

สร้างโปรเจ็กต์ใหม่

เปิดใช้ ARCore API

คุณต้องเปิดใช้ ARCore API ในโปรเจ็กต์

เปิดใช้ ARCore API

ตั้งค่าวิธีการให้สิทธิ์

แอปพลิเคชัน Android สื่อสารกับ ARCore API ได้โดยใช้วิธีการให้สิทธิ์ 2 แบบ ได้แก่ การให้สิทธิ์คีย์แบบไม่ใช้คีย์ (OAuth 2.0) ซึ่งเป็นวิธีที่แนะนำและการให้สิทธิ์คีย์ API

  • การให้สิทธิ์แบบไม่ใช้คีย์จะใช้ชื่อแพ็กเกจของแอปพลิเคชันและลายนิ้วมือของคีย์การลงชื่อร่วมกันเพื่อให้สิทธิ์แอปพลิเคชันของคุณ
  • คีย์ API เป็นสตริงที่ระบุโปรเจ็กต์ Google Cloud โดยทั่วไปแล้วคีย์ API จะไม่ถือว่าปลอดภัยเนื่องจากไคลเอ็นต์จะเข้าถึงได้ ลองใช้การให้สิทธิ์แบบไม่มีคีย์เพื่อสื่อสารกับ ARCore API

แบบไม่ใช้กุญแจ

หากต้องการให้สิทธิ์แอปโดยใช้การตรวจสอบสิทธิ์แบบไม่ใช้คีย์ ให้สร้างรหัสไคลเอ็นต์ OAuth 2.0

ระบุลายนิ้วมือที่สำคัญของการลงชื่อ

รหัสไคลเอ็นต์ OAuth 2.0 ใช้ลายนิ้วมือคีย์ Signing ของแอปเพื่อระบุแอปของคุณ

วิธีรับลายนิ้วมือสำหรับลงนามการแก้ไขข้อบกพร่อง

เมื่อเรียกใช้หรือแก้ไขข้อบกพร่องของโปรเจ็กต์ เครื่องมือ Android SDK จะรับรองแอปของคุณโดยอัตโนมัติด้วยใบรับรองการแก้ไขข้อบกพร่องที่สร้างขึ้น

  • ใน Android Studio ให้เปิดแผงเครื่องมือ Gradle
  • ไปที่ project-name > Tasks > 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 คีย์นี้ควรใช้เป็นลายนิ้วมือรับรอง

  1. ในหน้า App Signing ใน Google Play Console ให้เลื่อนไปที่ใบรับรองคีย์ App Signing
  2. ใช้ลายนิ้วมือของใบรับรอง SHA-1

สร้างรหัสไคลเอ็นต์ OAuth 2.0

สำหรับคีย์การลงนามที่เกี่ยวข้องแต่ละรายการจากขั้นตอนก่อนหน้า ให้สร้างรหัสไคลเอ็นต์ OAuth 2.0 ในข้อมูลเข้าสู่ระบบของโปรเจ็กต์ Google Cloud

  • เปิดหน้าข้อมูลเข้าสู่ระบบใน Google Cloud

    ข้อมูลเข้าสู่ระบบ

  • คลิกสร้างข้อมูลเข้าสู่ระบบ จากนั้นเลือกรหัสไคลเอ็นต์ OAuth จากเมนู

  • กรอกข้อมูลในช่องที่ต้องกรอกดังนี้

    • ประเภทแอปพลิเคชัน: เลือก Android
    • ชื่อแพ็กเกจ: ใช้ชื่อแพ็กเกจตามที่แจ้งไว้ใน AndroidManifest.xml
    • ลายนิ้วมือของใบรับรอง SHA-1: ใช้ลายนิ้วมือที่ได้ในขั้นตอนก่อนหน้า
  • กดสร้าง

รวมไลบรารีที่จำเป็น

  1. รวม com.google.android.gms:play-services-auth:16+ ในทรัพยากร Dependency ของแอป
  2. หากคุณใช้การลดขนาดโค้ด ให้เพิ่มลงในไฟล์ build.gradle ของแอป ดังนี้

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. เพิ่มโค้ดต่อไปนี้ลงในไฟล์ 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

  1. เปิดหน้าข้อมูลเข้าสู่ระบบใน Google Cloud
    ข้อมูลเข้าสู่ระบบ
  2. คลิกสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกคีย์ API จากเมนู
    กล่องโต้ตอบการสร้างคีย์ API จะแสดงสตริงสำหรับคีย์ที่สร้างขึ้นใหม่
  3. ใน Android Studio ให้เพิ่มคีย์ API ใหม่ในโปรเจ็กต์ รวมคีย์ API ในองค์ประกอบ <meta-data> ในองค์ประกอบ <application> ใน AndroidManifest.xml ของแอป

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. ดูเอกสารประกอบเกี่ยวกับข้อจำกัดของคีย์ API เพื่อรักษาความปลอดภัยของคีย์ API

ตอนนี้แอปได้รับการกําหนดค่าให้ใช้คีย์ API แล้ว

ขั้นตอนถัดไป

เมื่อกำหนดค่าการให้สิทธิ์แล้ว โปรดตรวจสอบฟีเจอร์ ARCore ที่ใช้ฟีเจอร์ดังกล่าวต่อไปนี้