การแก้ปัญหาเกี่ยวกับการให้สิทธิ์ ARCore API

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

คีย์แบบไม่ใช้กุญแจใช้งานไม่ได้ (ERROR_NOT_AUTHORIZED)

เมื่อการสื่อสารกับเซิร์ฟเวอร์ ARCore API ส่ง ERROR_NOT_AUTHORIZED ให้ตรวจสอบว่าแอปพลิเคชันมีไลบรารี com.google.android.gms:play-services-auth ดังนี้

  1. สร้างแอปและตรวจสอบอาร์ติแฟกต์ที่ได้โดยใช้ตัววิเคราะห์ APK ตรวจสอบว่าไบนารีของแอปพลิเคชันที่สร้างขึ้นมีแพ็กเกจ com.google.android.gms.auth และไม่ได้เปลี่ยนชื่อหรือลดขนาดเนื้อหาของแพ็กเกจ
    • หากไม่มี ให้ทำตามรวมไลบรารีที่จำเป็น และตรวจสอบว่ามีการรวมไลบรารีแล้วและการตั้งค่าการลดขนาดถูกต้อง
  2. แสดงข้อมูลความปลอดภัยที่อยู่ในอาร์ติแฟกต์เป้าหมายที่ล้มเหลวโดยใช้ยูทิลิตี keytool ดังนี้

    อาร์ติแฟกต์ AAB

    keytool -printcert -jarfile artifact.aab

    อาร์ติแฟกต์ APK

    keytool -printcert -jarfile artifact.apk
  3. ตรวจสอบว่าลายนิ้วมือของใบรับรอง SHA-1 ตรงกับข้อมูลเข้าสู่ระบบที่ใช้ในรหัสไคลเอ็นต์ OAuth 2.0 ของโปรเจ็กต์

  4. ตรวจสอบว่าคุณได้เปิดใช้ ARCore API สำหรับโปรเจ็กต์ที่ถูกต้องใน Google Cloud

การให้สิทธิ์แบบไม่ใช้คีย์สำเร็จในบิลด์บางประเภท (เช่น การแก้ไขข้อบกพร่อง) แต่ไม่สำเร็จในประเภทอื่นๆ

หากการให้สิทธิ์แบบไม่ใช้คีย์ประสบความสำเร็จในบางบิลด์ แต่ไม่สำเร็จในบิลด์อื่นๆ ให้ตรวจสอบว่าลายนิ้วมือที่แสดงในอาร์ติแฟกต์ที่ล้มเหลวตรงกับลายนิ้วมือที่แสดงใน Google Cloud Console ดูการให้สิทธิ์แบบไม่ใช้คีย์ไม่ทำงาน และทำตามขั้นตอนเพื่อยืนยันว่าลายนิ้วมือคีย์การลงนามสำหรับอาร์ติแฟกต์นั้นตรงกับลายนิ้วมือที่แสดงใน Google Cloud

การให้สิทธิ์แบบไม่ใช้คีย์ไม่ทำงานเมื่อใช้ Play App Signing

หากการให้สิทธิ์แบบไม่ใช้คีย์ใช้ได้ในบิลด์ภายใน แต่ทำไม่ได้หลังจากอัปโหลดไปยัง Google Play Store เมื่อเปิดใช้ Play App Signing แล้ว ให้ตรวจสอบว่าลายนิ้วมือสำหรับใบรับรอง SHA-1 ที่บันทึกไว้ในข้อมูลเข้าสู่ระบบของโปรเจ็กต์ตรงกับลายนิ้วมือที่ Google ใช้ในการรับรองแอปของคุณ

ดูข้อมูลเพิ่มเติมได้ที่การลงนามแอป Play

การตรวจสอบสิทธิ์คีย์ API ไม่ทำงาน

หากการให้สิทธิ์คีย์ API ไม่ทำงาน ให้ทำตามขั้นตอนต่อไปนี้

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