2022 年 11 月、ARCore SDK for Android(Kotlin/Java)のカメラメソッドのサポート終了

2022 年 11 月に、Google Play 開発者サービス(AR)から、NDK カメラ画像とメタデータに関連する非推奨メソッドが削除されます。

影響を受けるバージョンの ARCore SDK でこれらのメソッドを使用しているアプリは、ユーザーが AR 用 Google Play 開発者サービスを更新すると、動作が変わったり、クラッシュしたりする可能性があります。

影響を受けるアプリ

2022 年 11 月以降、ユーザーが AR 用 Google Play 開発者サービスを最新バージョンにアップデートすると、以下の場合にアプリが動作しなくなったりクラッシュしたりすることがあります。

  1. アプリが影響を受ける SDK でコンパイルされている
  2. お客様のアプリは、影響を受ける以下の API のいずれかを使用しています。
アプリが
ARCore SDK バージョンでコンパイルされている場合…
影響を受ける API を使用 2022 年 11 月以降の動作の変更
1.19.0 以前 Frame.getImageMetadata() IllegalArgumentException をスローします。
1.10.0 以前 Frame.acquireCameraImage() 0x0 サイズの画像を返します。

影響を受けるアプリを修正する

影響を受けるアプリは、2022 年 11 月に不具合が発生する可能性があります。この問題を軽減するには、最新の ARCore SDK を使用してアプリを再ビルドします。少なくとも ARCore SDK バージョン 1.20.0 以降にアップグレードする必要があります。

影響を受けるアプリが修正されていることを確認する

アプリの AndroidManifest.xml に特別な meta-data エントリを追加して、2022 年 11 月の変更を事前にシミュレートし、アプリをテストします。

  1. 対象デバイスに Play 開発者サービス(AR)バージョン 1.29.0 以降がインストールされていることを確認します。
  2. アプリの 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>
    
  3. アプリをテストして、すべての ARCore 機能が想定どおりに機能することを確認します。

  4. テストが完了したら、<meta-data> タグを削除します。公開済みのアプリにこのタグを残しておくと、将来的に予期しない動作が発生する可能性があります。

アプリが正常に機能していれば、アプリは 2022 年 11 月の変更に対応できます。

タイムライン

期間 イベント
2020 年 11 月
(ARCore SDK バージョン 1.20.0)
ネイティブ API のサポートを終了します。
代替のネイティブ API を使用するように実装を更新。
2021 年 11 月 影響を受ける API の実装を 2022 年 11 月に Google Play 開発者サービス(AR)から削除が保留中であることによる、今後の互換性を破る変更について発表します。
2022 年 11 月 Google Play 開発者サービス(AR)から影響を受ける API の実装を削除します。
1.20.0 より前の ARCore バージョンを使用しているアプリに対する互換性のない変更を導入。