W listopadzie 2022 r. Usługi Google Play dla AR usuną wycofane metody związane z obrazami i metadanymi aparatu NDK.
Aplikacje korzystające z tych metod w dotkniętych wersjach pakietu SDK ARCore mogą zacząć działać inaczej lub ulec awarii, gdy użytkownicy zaktualizują Usługi Google Play dla AR.
Aplikacje, których dotyczy problem
Od listopada 2022 r. Twoja aplikacja może przestać działać lub ulec awarii, gdy użytkownicy zaktualizują Usługi Google Play dla AR do najnowszej wersji, jeśli:
- Twoja aplikacja została skompilowana z dotkniętym problemem pakietem SDK
- Twoja aplikacja używa któregoś z tych interfejsów API:
Jeśli aplikacja została skompilowana z wersją pakietu ARCore… |
Używa też tych interfejsów API: | Zmiana zachowania w listopadzie 2022 r. |
---|---|---|
1.22.0 lub starsza | ArImage_getNdkImage() (usunięte z pakietu ARCore SDK 1.23.0) |
Zwraca wartość NULL w wyniku struct AImage . |
1.22.0 lub starsza | ArImage_getNdkCameraMetadata() (usunięte z pakietu ARCore SDK 1.23.0) |
Zwraca wartość NULL w wyniku struct ACameraMetadata . |
Naprawianie aplikacji, których dotyczy problem
W listopadzie 2022 r. aplikacje, których dotyczy problem, mogą przestać działać. Aby temu zapobiec, zastosuj w przypadku dotkniętych metod zamienniki:
- Metody
ArImage_getNdkImage()
iAImage_*
: użyj odpowiednich metod zArImage
. Na przykład:AImage_getNumberOfPlanes()
zmienia się wArImage_getNumberOfPlanes()
AImage_getPlaneData()
zmienia się wArImage_getPlaneData()
ArImage_getNdkCameraMetadata()
: zamiast tego użyjArImageMetadata_getConstEntry()
.
Sprawdź, czy problem został rozwiązany w aplikacji
Przetestuj aplikację, symulując zmiany z listopada 2022 r., dodając do niej specjalny wpis meta-data
do AndroidManifest.xml
:
- Upewnij się, że na urządzeniu docelowym są zainstalowane Usługi Play dla AR w wersji 1.29.0 lub nowszej.
Dodaj nowy tag
<meta-data>
jako element podrzędny dotychczasowego elementu<application>
w plikuAndroidManifest.xml
aplikacji:<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>
przetestuj aplikację i upewnij się, że wszystkie funkcje ARCore działają prawidłowo;
Po zakończeniu testowania usuń tag
<meta-data>
. Pozostawienie tego tagu w opublikowanej aplikacji może spowodować nieoczekiwane zachowanie w przyszłości.
Jeśli aplikacja działa prawidłowo, jest gotowa na zmiany, które wprowadzimy w listopadzie 2022 r.
Oś czasu
Okres | Wydarzenia |
---|---|
listopad 2020 r. (ARCore SDK w wersji 1.20.0) |
wycofać interfejsy API, których dotyczy problem, i zastąpić je alternatywnymi interfejsami API; |
Luty 2021 r. (ARCore SDK w wersji 1.23.0) |
Usuń z pakietu ARCore SDK podpisy wycofanych interfejsów API. |
Listopad 2021 r. | Ogłosić przyszłą zmianę ze względu na planowane usunięcie implementacji interfejsów API w Usługach Google Play dla AR w listopadzie 2022 r. |
Listopad 2022 r. |
Usuń implementację interfejsów API, których dotyczy problem, z Usług Google Play dla AR. Wprowadzamy istotną zmianę w przypadku aplikacji korzystających z wersji ARCore starszych niż 1.23.0. |