ข้อกำหนดของ ARCore 64 บิต

ในเดือนสิงหาคม 2020 บริการ Google Play สำหรับ AR (ARCore) ได้เลิกรองรับแอปแบบ 32 บิตเท่านั้นในอุปกรณ์ 64 บิตบางรุ่น การรองรับแอปที่เปิดใช้ ARCore แบบ 32 บิตเท่านั้นในอุปกรณ์ 64 บิตที่เหลืออาจถูกนำออกโดยไม่ต้องแจ้งให้ทราบใน ARCore รุ่นที่กำลังจะมาถึง แอปที่เปิดใช้ ARCore แบบ 32 บิตซึ่งทำงานในอุปกรณ์ 32 บิตจะไม่ได้รับผลกระทบและยังคงรองรับต่อไป

ในกรณีที่เผยแพร่เวอร์ชัน 32 บิตเท่านั้น (เช่น armeabi-v7a) เวอร์ชัน แอปที่เปิดใช้ ARCore โดยไม่ได้เผยแพร่แอปเวอร์ชัน 64 บิต (arm64-v8a) ที่สอดคล้องกันสำหรับอุปกรณ์ 64 บิต คุณต้องอัปเดตแอปเป็นเวอร์ชัน 64 บิตที่เข้ากันได้สำหรับอุปกรณ์ 64 บิต

แอปที่เปิดใช้ ARCore แบบ 32 บิตที่ไม่ได้อัปเดตจะสร้างเซสชัน ARCore ไม่สำเร็จและอาจขัดข้องเมื่อพยายามเริ่มเซสชัน Augmented Reality (AR) ในอุปกรณ์ 64 บิตที่ได้รับผลกระทบ

หากคุณตั้งค่าแอตทริบิวต์ android:use32bitAbi="true" ใน AndroidManifest.xml ของแอป แอปจะใช้ไลบรารี 32 บิตเท่านั้น ประสบการณ์การใช้ AR ในแอปจะพยายามใช้ ARCore ในโหมด 32 บิต แต่ไลบรารี 32 บิตจะไม่ปรากฏในบริการบริการ Google Play สำหรับ AR ในอุปกรณ์ 64 บิตบางรุ่น หากไม่มีไลบรารีเหล่านี้ แอปจะสร้างเซสชัน ARCore ไม่สำเร็จและอาจขัดข้องเมื่อพยายามเริ่มเซสชัน Augmented Reality (AR) ในอุปกรณ์ 64 บิตที่ได้รับผลกระทบ ซึ่งจะส่งผลต่อทั้งประสบการณ์การใช้งาน AR แบบดั้งเดิมและประสบการณ์ AR ที่ใช้ WebXR ภายในคอมโพเนนต์ WebView

ข้อกำหนด 64 บิตของ Google Play Store

ข้อกำหนด ARCore 64 บิตที่อธิบายในส่วนก่อนหน้านี้มีผลกับอุปกรณ์ 64 บิตทั้งหมด ไม่ว่าจะ Android เวอร์ชันใดและระดับ API ใดก็ตาม ข้อกำหนดนี้ แยกออกมาต่างหากและไม่เกี่ยวข้องกับข้อกำหนด 64 บิตของ Google Play ที่มีผลบังคับใช้ในวันที่ 1 สิงหาคม 2019 ซึ่งมี การประเมินที่ระดับการเผยแพร่แอป และมีผลเฉพาะกับ APK หรือ App Bundle ที่จัดจำหน่ายให้อุปกรณ์ที่ใช้ Android 9 Pie (API ระดับ 28) ขึ้นไปเท่านั้น

ทำความเข้าใจการรองรับ ARCore ABI

ARCore ช่วยให้คุณสร้างแอปที่รองรับ ABI ของ Android ต่อไปนี้

เมื่อคุณสร้างแอปที่เปิดใช้ ARCore ระบบบิลด์ของ Android จะมีไลบรารี ARCore (lib/…/libarcore_sdk*.so) อย่างน้อย 1 รายการสำหรับ ABI ของ Android ที่แอปกำหนดเป้าหมาย

ก่อนหน้านี้แอปที่เปิดใช้ ARCore แบบ 32 บิตสามารถทำงานได้ทั้งในอุปกรณ์ 32 บิตและ 64 บิต ในเดือนสิงหาคม 2020 บริการ Google Play สำหรับ AR (ARCore) ได้หยุดให้บริการไลบรารีเนทีฟ 32 บิตในอุปกรณ์ 64 บิตบางประเภทแล้ว ซึ่งในขณะนั้นแอปที่เปิดใช้ ARCore แบบ 32 บิตไม่สามารถทำงานในอุปกรณ์ 64 บิตที่ได้รับผลกระทบได้อีกต่อไป ในรุ่นถัดไป เราอาจนำการรองรับแอปที่เปิดใช้ ARCore แบบ 32 บิตเท่านั้นออกโดยไม่ต้องแจ้งให้ทราบจากอุปกรณ์ 64 บิตที่เหลือ

แอปที่เปิดใช้ ARCore แบบ 32 บิตที่ไม่ได้อัปเดตจะสร้างเซสชันไม่สำเร็จและอาจขัดข้องเมื่อพยายามเริ่มเซสชัน Augmented Reality (AR) ในอุปกรณ์ 64 บิตที่ได้รับผลกระทบ โดยเฉพาะในกรณีต่อไปนี้

ARCore SDK รายละเอียดความล้มเหลวในการสร้างเซสชัน
ARCore SDK สำหรับ Android (NDK) ArSession_create และ ArSession_createWithFeatures จะคืนค่า AR_ERROR_FATAL
ARCore SDK สำหรับ Android (Java) ตัวสร้างเซสชัน Session(Context) และ Session(Context, Set<Session.Feature>) จะแสดง FatalException
ARCore SDK สำหรับ Unity เมื่อคุณเปิดใช้คอมโพเนนต์ ARCoreSession ซึ่งมักจะพบใน Prefab อุปกรณ์ ARCore จะทำให้ ARCore สร้างเซสชัน ARCore ไม่สำเร็จและ Session.Status จะเป็น SessionStatus.FatalError
AR Foundation (Unity)
+ ปลั๊กอิน ARCore XR
แอปจะหยุดการแสดงผล (หน้าจอสีดำ) เมื่อแอปพยายามเริ่มเซสชัน AR เนื่องจากเกิดข้อขัดข้องในเทรดหลักขณะพยายามโหลดไลบรารีเนทีฟของ ARCore 32 บิตที่ไม่มีอยู่จริง

กำหนดว่าแอปต้องได้รับการอัปเดตหรือไม่

วิธีตรวจสอบว่าแอปที่เผยแพร่มีไลบรารี ARCore ที่จำเป็น เพื่อรองรับอุปกรณ์ 64 บิตหรือไม่

  1. เปิด Google Play Console

  2. เลือกแอปที่เปิดใช้ ARCore

  3. ขยายรุ่นที่ใช้งานอยู่ของแอปเพื่อยืนยันว่าแพลตฟอร์มเนทีฟรองรับ 64 บิต (arm64-v8a)

การอัปเดตแอปของคุณเพื่อรองรับอุปกรณ์ 64 บิต

วิธีอัปเดตแอปเดิมที่เปิดใช้ ARCore แบบ 32 บิตให้รวมไลบรารีเนทีฟ 64 บิต

  1. อัปเดตโปรเจ็กต์เพื่อใช้ ARCore SDK เวอร์ชันล่าสุด

  2. สร้างแอปและเผยแพร่โดยใช้ Google Play Console

Google Play จะยืนยันว่าแอปของคุณเป็นไปตามข้อกำหนดเกี่ยวกับ 64 บิตของ Google Play Store ซึ่งมีผลบังคับใช้ก่อนหน้านี้เมื่อวันที่ 1 สิงหาคม 2019 เพื่อให้มั่นใจว่าแอปที่เปิดใช้ ARCore รองรับ 64 บิต (arm64-v8a) สำหรับอุปกรณ์ 64 บิตทั้งหมด ไม่ว่าเวอร์ชัน Android หรือระดับ API จะเป็นเวอร์ชันใดก็ตาม