ใช้ ARCore API ใน Google Cloud

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

คุณลักษณะของ ARCore เช่น ภูมิสารสนเทศ 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 โดยใช้ วิธีการให้สิทธิ์: การให้สิทธิ์แบบไม่ใช้คีย์ (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 ควรใช้คีย์นี้สำหรับลายนิ้วมือรับรอง

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

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

สำหรับคีย์ Signing ที่เกี่ยวข้องแต่ละรายการจากขั้นตอนก่อนหน้า ให้สร้างรหัสไคลเอ็นต์ 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 ต่อไปนี้ที่ใช้ ดังนี้