2022 年 11 月に、Google Play 開発者サービス(AR)から、NDK カメラ画像とメタデータに関連する非推奨メソッドが削除されます。
影響を受けるバージョンの ARCore SDK でこれらのメソッドを使用しているアプリは、ユーザーが Google Play 開発者サービス(AR)を更新すると、動作が異なってしまうか、クラッシュする可能性があります。
影響を受けるアプリ
2022 年 11 月以降、以下の条件を満たすアプリは、ユーザーが Google Play 開発者サービス for AR の最新バージョンにアップデートしたときに、動作が停止したりクラッシュしたりする可能性があります。
- アプリが影響を受ける SDK でコンパイルされている
- お客様のアプリは、影響を受ける次のいずれかの API を使用しています。
|
アプリが ARCore SDK バージョンでコンパイルされている場合… |
影響を受ける API を使用している | 2022 年 11 月以降の動作の変更 |
|---|---|---|
| 1.22.0 以前 | ArImage_getNdkImage()(ARCore SDK 1.23.0 で削除) |
結果の AImage 構造体で NULL を返します。 |
| 1.22.0 以前 | ArImage_getNdkCameraMetadata()(ARCore SDK 1.23.0 で削除) |
結果の ACameraMetadata 構造体で NULL を返します。 |
影響を受けるアプリを修正する
影響を受けるアプリは、2022 年 11 月に動作しなくなる可能性があります。これを軽減するには、影響を受けるメソッドにドロップイン置換を使用します。
ArImage_getNdkImage()メソッドとAImage_*メソッド:ArImageの対応するメソッドを使用します。例:ArImage_getNdkCameraMetadata(): 代わりにArImageMetadata_getConstEntry()を使用してください
影響を受けるアプリが修正されたことを確認する
アプリの AndroidManifest.xml に特別な meta-data エントリを追加して、2022 年 11 月の変更を事前にシミュレートし、アプリをテストします。
- ターゲット デバイスに Google Play 開発者サービス(AR)バージョン 1.29.0 以降がインストールされていることを確認します。
アプリの
AndroidManifest.xmlファイルの既存の<application>要素の子要素として、新しい<meta-data>タグを追加します。<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 年 11 月の変更に対応できます。
タイムライン
| 期間 | イベント |
|---|---|
| 2020 年 11 月 (ARCore SDK バージョン 1.20.0) |
影響を受ける API を非推奨にし、代替のドロップイン API を導入します。 |
| 2021 年 2 月 (ARCore SDK バージョン 1.23.0) |
以前に非推奨になった API のシグネチャを ARCore SDK から削除しました。 |
| 2021 年 11 月 | 2022 年 11 月に Google Play 開発者サービス(AR)から影響を受ける API の実装が削除される予定であるため、今後の破壊的変更を発表します。 |
| 2022 年 11 月 |
Google Play 開発者サービス(AR)から影響を受ける API の実装を削除します。 1.23.0 より前の ARCore バージョンを使用しているアプリに破壊的変更を導入。 |