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

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

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

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

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

  1. برنامه شما با یک SDK آسیب دیده کامپایل شده است
  2. برنامه شما از هر یک از API های تحت تأثیر زیر استفاده می کند:
اگر برنامه شما با
نسخه ARCore SDK…
و از APIهای تحت تأثیر استفاده می کند… رفتار شکست از نوامبر 2022 شروع می شود
1.19.0 یا پایین تر Frame.getImageMetadata() IllegalArgumentException را پرتاب می کند.
1.10.0 یا پایین تر Frame.acquireCameraImage() یک تصویر در اندازه 0x0 را برمی گرداند.

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

برنامه‌های تحت تأثیر ممکن است در نوامبر 2022 دچار شکستگی شوند. برای کاهش این مشکل، برنامه خود را با استفاده از آخرین ARCore SDK بازسازی کنید. حداقل باید به ARCore SDK نسخه 1.20.0 یا بالاتر ارتقا دهید.

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

برنامه را با شبیه سازی تغییرات نوامبر 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 تغییر قطعی آینده را به دلیل در انتظار حذف اجرای APIهای آسیب دیده از خدمات Google Play برای AR در نوامبر 2022 اعلام کنید.
نوامبر 2022 پیاده سازی API های آسیب دیده را از سرویس های Google Play برای AR حذف کنید.
برای برنامه‌هایی که از نسخه‌های ARCore قبل از 1.20.0 استفاده می‌کنند، تغییر قطعی ایجاد کنید.
،

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

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

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

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

  1. برنامه شما با یک SDK آسیب دیده کامپایل شده است
  2. برنامه شما از هر یک از API های تحت تأثیر زیر استفاده می کند:
اگر برنامه شما با
نسخه ARCore SDK…
و از APIهای تحت تأثیر استفاده می کند… رفتار شکست از نوامبر 2022 شروع می شود
1.19.0 یا پایین تر Frame.getImageMetadata() IllegalArgumentException را پرتاب می کند.
1.10.0 یا پایین تر Frame.acquireCameraImage() یک تصویر در اندازه 0x0 را برمی گرداند.

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

برنامه‌های تحت تأثیر ممکن است در نوامبر 2022 دچار شکستگی شوند. برای کاهش این مشکل، برنامه خود را با استفاده از آخرین ARCore SDK بازسازی کنید. حداقل باید به ARCore SDK نسخه 1.20.0 یا بالاتر ارتقا دهید.

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

برنامه را با شبیه سازی تغییرات نوامبر 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 تغییر قطعی آینده را به دلیل در انتظار حذف اجرای APIهای آسیب دیده از خدمات Google Play برای AR در نوامبر 2022 اعلام کنید.
نوامبر 2022 پیاده سازی API های آسیب دیده را از سرویس های Google Play برای AR حذف کنید.
برای برنامه‌هایی که از نسخه‌های ARCore قبل از 1.20.0 استفاده می‌کنند، تغییر قطعی ایجاد کنید.