در نوامبر ۲۰۲۲، Google Play Services for AR روشهای منسوخ مربوط به تصاویر و ابردادههای دوربین NDK را حذف خواهد کرد.
برنامههایی که از این روشها در نسخههای آسیبدیده ARCore SDK استفاده میکنند ممکن است وقتی کاربران سرویسهای Google Play را برای واقعیت افزوده بهروزرسانی میکنند، رفتار متفاوتی داشته باشند یا از کار بیفتند.
برنامه های تحت تأثیر
از نوامبر 2022، زمانی که کاربران به آخرین نسخه سرویسهای Google Play برای AR بهروزرسانی میشوند، برنامه شما ممکن است از کار بیفتد یا از کار بیفتد، اگر:
- برنامه شما با یک SDK آسیب دیده کامپایل شده است
- برنامه شما از هر یک از API های تحت تأثیر زیر استفاده می کند:
اگر برنامه شما با نسخه ARCore SDK… | و از APIهای تحت تأثیر استفاده می کند… | رفتار شکست از نوامبر 2022 شروع می شود |
---|---|---|
1.22.0 یا پایین تر | ArImage_getNdkImage() (در ARCore SDK 1.23.0 حذف شد) | NULL در ساختار AImage به دست آمده برمی گرداند. |
1.22.0 یا پایین تر | ArImage_getNdkCameraMetadata() (در ARCore SDK 1.23.0 حذف شد) | NULL در ساختار ACameraMetadata ایجاد شده برمی گرداند. |
برنامه های آسیب دیده را برطرف کنید
برنامههای آسیبدیده ممکن است در نوامبر ۲۰۲۲ دچار شکستگی شوند. برای کاهش این مشکل، از جایگزینهای کشویی برای روشهای آسیبدیده استفاده کنید:
- متدهای
ArImage_getNdkImage()
وAImage_*
: از متدهای مربوطه ازArImage
استفاده کنید. به عنوان مثال:-
AImage_getNumberOfPlanes()
تبدیل بهArImage_getNumberOfPlanes()
-
AImage_getPlaneData()
بهArImage_getPlaneData()
تبدیل می شود
-
-
ArImage_getNdkCameraMetadata()
: به جای آن ازArImageMetadata_getConstEntry()
استفاده کنید
بررسی کنید که برنامه آسیب دیده برطرف شده است
برنامه را با شبیه سازی تغییرات نوامبر 2022 از قبل با افزودن یک ورودی meta-data
ویژه به AndroidManifest.xml
برنامه خود آزمایش کنید:
- مطمئن شوید که Play Services برای AR نسخه 1.29.0 یا بالاتر روی دستگاه مورد نظر نصب شده است.
یک تگ
<meta-data>
جدید به عنوان فرزند عنصر<application>
موجود در فایلAndroidManifest.xml
برنامه اضافه کنید:<application …> … <!-- Simulate the November 2022 changes in advance. IMPORTANT: Remove this tag when testing is completed. Do not include this tag in published versions of your app. --> <meta-data android:name="com.google.ar.core.session_settings" android:value="camera_stack_option,unified_mono" /> </application>
برنامه خود را آزمایش کنید و بررسی کنید که همه ویژگیهای ARCore مطابق انتظار عمل میکنند.
پس از اتمام تست، تگ
<meta-data>
را حذف کنید. قرار دادن این برچسب در برنامه منتشر شده شما می تواند منجر به رفتار غیرمنتظره ای در آینده شود.
اگر برنامه به طور معمول کار کند، برنامه برای تغییرات در نوامبر 2022 آماده است.
جدول زمانی
دوره | رویدادها |
---|---|
نوامبر 2020 (ARCore SDK نسخه 1.20.0) | API های آسیب دیده را منسوخ کنید، جایگزین های API حذفی را معرفی کنید. |
فوریه 2021 (ARCore SDK نسخه 1.23.0) | امضاهای APIهای منسوخ شده قبلی را از ARCore SDK حذف کنید. |
نوامبر 2021 | تغییر قطعی آینده را به دلیل در انتظار حذف اجرای APIهای آسیب دیده از خدمات Google Play برای AR در نوامبر 2022 اعلام کنید. |
نوامبر 2022 | پیاده سازی API های آسیب دیده را از سرویس های Google Play برای AR حذف کنید. برای برنامههایی که از نسخههای ARCore قبل از 1.23.0 استفاده میکنند، تغییر قطعی ایجاد کنید. |