В ноябре 2022 года из сервисов Google Play для AR будут удалены устаревшие методы, связанные с изображениями и метаданными камеры NDK.
Приложения, использующие эти методы в затронутых версиях ARCore SDK, могут начать вести себя по-другому или выйти из строя, когда пользователи обновляют Сервисы Google Play для AR.
Затронутые приложения
Начиная с ноября 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 . |
Исправьте затронутые приложения
Затронутые приложения могут выйти из строя в ноябре 2022 года. Чтобы избежать этой проблемы, используйте замену затронутых методов:
- Методы
ArImage_getNdkImage()
иAImage_*
: используйте соответствующие методы изArImage
. Например:-
AImage_getNumberOfPlanes()
становитсяArImage_getNumberOfPlanes()
-
AImage_getPlaneData()
становитсяArImage_getPlaneData()
-
-
ArImage_getNdkCameraMetadata()
: вместо этого используйтеArImageMetadata_getConstEntry()
Убедитесь, что затронутое приложение исправлено
Протестируйте приложение, заранее смоделировав изменения, произошедшие в ноябре 2022 г., добавив специальную запись meta-data
в AndroidManifest.xml
вашего приложения:
- Убедитесь, что на целевом устройстве установлены Play Services for 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. |