نوامبر 2022 حذف روش‌های دوربین منسوخ برای ARCore SDK برای Android NDK (C)

در نوامبر ۲۰۲۲، Google Play Services for AR روش‌های منسوخ مربوط به تصاویر و ابرداده‌های دوربین NDK را حذف خواهد کرد.

برنامه‌هایی که از این روش‌ها در نسخه‌های آسیب‌دیده ARCore SDK استفاده می‌کنند ممکن است وقتی کاربران سرویس‌های Google Play را برای واقعیت افزوده به‌روزرسانی می‌کنند، رفتار متفاوتی داشته باشند یا از کار بیفتند.

برنامه های تحت تأثیر

از نوامبر 2022، زمانی که کاربران به آخرین نسخه سرویس‌های Google Play برای AR به‌روزرسانی می‌شوند، برنامه شما ممکن است از کار بیفتد یا از کار بیفتد، اگر:

  1. برنامه شما با یک SDK آسیب دیده کامپایل شده است
  2. برنامه شما از هر یک از 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 ایجاد شده برمی گرداند.

برنامه های آسیب دیده را برطرف کنید

برنامه‌های آسیب‌دیده ممکن است در نوامبر ۲۰۲۲ دچار شکستگی شوند. برای کاهش این مشکل، از جایگزین‌های کشویی برای روش‌های آسیب‌دیده استفاده کنید:

بررسی کنید که برنامه آسیب دیده برطرف شده است

برنامه را با شبیه سازی تغییرات نوامبر 2022 از قبل با افزودن یک ورودی meta-data ویژه به AndroidManifest.xml برنامه خود آزمایش کنید:

  1. مطمئن شوید که Play Services برای AR نسخه 1.29.0 یا بالاتر روی دستگاه مورد نظر نصب شده است.
  2. یک تگ <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>
    
  3. برنامه خود را آزمایش کنید و بررسی کنید که همه ویژگی‌های ARCore مطابق انتظار عمل می‌کنند.

  4. پس از اتمام تست، تگ <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 استفاده می‌کنند، تغییر قطعی ایجاد کنید.