Google Cloud で ARCore API を使用する

プラットフォームを選択:

Geospatial APICloud Anchors などの ARCore 機能では、Google Cloud でホストされている ARCore API を使用します。これらの機能を使用する場合、アプリは認証情報を使用して ARCore API サービスにアクセスします。

このクイックスタートでは、Google Cloud でホストされている ARCore API サービスと通信できるようにアプリケーションを設定する方法について説明します。

新しい Google Cloud プロジェクトを作成するか、既存のプロジェクトを使用します

既存のプロジェクトがある場合は、それを選択します。

プロジェクト セレクタに移動

既存の Google Cloud プロジェクトがない場合は、1 つ作成します。

新しいプロジェクトを作成

ARCore API を有効にする

ARCore API を使用するには、プロジェクトで ARCore API を有効にする必要があります。

ARCore API を有効にする

認証方法を設定する

Android アプリは、2 種類の認証方法(推奨方法であるキーなし認証(OAuth 2.0)と API キー認証)を使用して、ARCore API と通信できます。

  • キーなしの承認では、アプリのパッケージ名と署名鍵のフィンガープリントの組み合わせを使用して、アプリを認可します。
  • API キーは、Google Cloud プロジェクトを識別する文字列です。API キーは、クライアントからアクセスされることが多いため、安全とはみなされません。ARCore API と通信するには、キーなし認証の使用を検討してください。

キーレス

キーなし認証を使用してアプリを承認するには、OAuth 2.0 クライアント ID を作成します。

署名鍵フィンガープリントを決定する

OAuth 2.0 クライアント ID は、アプリの署名鍵フィンガープリントを使用してアプリを識別します。

デバッグ用の署名のフィンガープリントを取得する方法

Android SDK Tools は、プロジェクトを実行またはデバッグする際に、生成されたデバッグ証明書を使用してアプリを自動的に署名します。

  • Android Studio で Gradle ツールペインを開きます。
  • project-name > [ToDo リスト] > [android] に移動します。
  • signingReport タスクを実行します。

  • debug バリアントの SHA-1 フィンガープリントをコピーします。

キーストアから署名フィンガープリントを取得する方法

キーストア ファイルがある場合は、keytool ユーティリティを使用してフィンガープリントを特定します。

keytool -list -v -alias your-key-name -keystore path-to-production-keystore

keytool ユーティリティはフィンガープリントをターミナルに出力します。次に例を示します。

   Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

Play アプリ署名からアプリの署名鍵を取得する方法

Play アプリ署名を使用する場合、Google はアプリの署名鍵を管理し、それを使用して APK の署名を行います。この鍵を署名フィンガープリントに使用します。

  1. Google Play Console の [アプリ署名] ページで、[アプリ署名鍵の証明書] までスクロールします。
  2. SHA-1 証明書フィンガープリントを使用します。

OAuth 2.0 クライアント ID を作成する

前の手順で示した該当する署名鍵ごとに、Google Cloud プロジェクトの認証情報に OAuth 2.0 クライアント ID を作成します。

  • Google Cloud で [認証情報] ページを開きます。

    クルデンシャル

  • [認証情報を作成] をクリックし、メニューから [OAuth クライアント ID] を選択します。

  • 以下の必須項目に情報を入力します。

    • Application type: [Android] を選択します。
    • パッケージ名: AndroidManifest.xml で宣言されているパッケージ名を使用します。
    • SHA-1 証明書フィンガープリント: 前の手順で取得したフィンガープリントを使用します。
  • [作成] をクリックします。

必要なライブラリを追加する

  1. アプリの依存関係に com.google.android.gms:play-services-auth:16+ を含めます。
  2. コードの圧縮を使用している場合は、アプリの build.gradle ファイルに追加します。

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. アプリの proguard-rules.pro ファイルに次の行を追加します。

    -keep class com.google.android.gms.common.** { *; }
    -keep class com.google.android.gms.location.** { *; }
    -keep class com.google.android.gms.auth.** { *; }
    -keep class com.google.android.gms.tasks.** { *; }
    

これで、アプリはキーなし認証を使用するように構成されました。

API キー

  1. Google Cloud で [認証情報] ページを開きます。
    認証情報
  2. [認証情報の作成] を選択し、メニューから [API キー] を選択します。
    [API キーを作成しました] ダイアログに、新しく作成されたキーの文字列が表示されます。
  3. Android Studio で、新しい API キーをプロジェクトに追加します。アプリの AndroidManifest.xml で、<application> 要素の <meta-data> 要素に API キーを含めます。

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. API キーを保護する方法については、API キーの制限に関するドキュメントをご覧ください。

これで、API キーを使用するようにアプリが構成されました。

次のステップ

認可を構成したら、それを使用している次の ARCore 機能を確認します。