Android 用 Cloud Anchors クイックスタート

cloud_anchor_java サンプルアプリと persistent_cloud_anchor_java サンプルアプリで Cloud Anchors のホスティングと解決を試します。

どのサンプルアプリを使用すればよいですか。

Cloud Anchors は、ARCore API クラウド エンドポイントでホストされるアンカーです。この API を使用すると、ユーザーは同じアプリでエクスペリエンスを共有できます。永続的な Cloud Anchors は、24 時間以上ホストできる Cloud Anchors です。

  • persistent_cloud_anchor_java は、共同プロジェクト ユースケースの実装です。キーレス認証を使用して ARCore API 呼び出しを認可します。Firebase バックエンドを使用してデバイス間で Cloud Anchor ID を共有することはないため、簡単に利用を開始できます。
  • cloud_anchor_java はマルチプレーヤーのユースケースの実装です。API キーを使用して ARCore API 呼び出しを承認します。

前提条件

要件

ハードウェア

ソフトウェア

  • Android Studio バージョン 3.0 以降と Android SDK プラットフォーム バージョン 7.0(API レベル 24)以降
  • ARCore SDK for Android は、次のいずれかの方法で入手できます。 <ph type="x-smartling-placeholder">
      </ph>
    • GitHub からダウンロードしてマシンに抽出します。
    • 次のコマンドを使用して、リポジトリのクローンを作成します。
      git clone https://github.com/google-ar/arcore-android-sdk.git

Android Studio でサンプルアプリを開く

ARCore SDK には、Cloud Anchors の機能のデモンストレーション用の cloud_anchor_java サンプルアプリと persistent_cloud_anchor_java サンプルアプリが用意されています。Android Studio でアプリを開く手順は次のとおりです。

永続的な Cloud Anchors

  1. Android Studio で [Open] をクリックします。

  2. マシンの arcore-android-sdk ディレクトリがある場所に移動します。SDK フォルダ全体は開かないでください。代わりに、サンプルをご覧ください >persistent_cloud_anchor_java を指定し、[persistent_cloud_anchor_java] をクリックします。

Cloud Anchors

  1. Android Studio で [Open] をクリックします。

  2. マシンの arcore-android-sdk ディレクトリがある場所に移動します。SDK フォルダ全体は開かないでください。代わりに、サンプルをご覧ください >cloud_anchor_java を選択し、[開く] をクリックします。

Cloud Anchor ID の共有を設定する

Cloud Anchor ID は、ホストされている Cloud Anchors を識別する文字列です。これらは、ホストされているアンカーに取り付けられている 3D オブジェクトを解決、またはレンダリングするために使用されます。

永続的な Cloud Anchors

Cloud Anchor ID の共有は、アプリ内でローカルに維持されます。ここでは何もする必要はありません。

Cloud Anchors

cloud_anchor_java サンプルアプリは、Firebase の Realtime Database を使用してデバイス間で Cloud Anchor ID を共有します。実際のアプリでは別のソリューションを使用できます。

  1. アプリに Firebase を手動で追加します。cloud_anchor_java パッケージ名は com.google.ar.core.examples.java.cloudanchor です。main/AndroidManifest.xml で確認できます。
  2. Firebase をアプリに追加したときに生成した google-services.json ファイルをダウンロードします。
  3. Firebase で Realtime Database を作成する。
  4. Android Studio で、google-services.json ファイルをプロジェクトの app ディレクトリに追加します。

ARCore API 呼び出しを承認する

ARCore API の呼び出しを承認し、Cloud Anchors をホストして解決します。 。Google で ARCore API を使用する Google Cloud を利用し、キーレス Cloud Anchors の永続 Cloud Anchors または API キーの認可 Cloud Anchors。

サンプルアプリをビルドして実行する

永続的な Cloud Anchors

アプリを実行する

  1. デバイスで開発者向けオプションと USB デバッグが有効になっていることを確認します。
  2. デバイスを USB 経由で開発マシンに接続します。
  3. Android Studio で、デプロイ ターゲットとしてデバイスを選択し、[Run] をクリックします。

デバイスで persistent_cloud_anchor_java が起動し、デバイスのカメラの前にある平面を検出するように ARCore が促します。

Google Cloud の認可が失敗した場合は、トラブルシューティングの手順をご覧ください。

アンカーを配置する

  1. アプリが平面の検出を開始したら、画面をタップして、検出された平面のいずれかにアンカーを置きます。
  2. [ホスト] ボタンをタップして、配置したアンカーをホストします。これにより、ホスト リクエストが ARCore API に送信されます。ARCore API には、近くの視覚的対象物に対するアンカーの位置を表すデータを含むリクエストがあります。

ホスト リクエストが成功すると、配置された場所にアンカーが設定され、Cloud Anchor ID が割り当てられます。ホスト リクエストが成功すると、アプリに客室コードが表示されます。このコードを使用すると、どのデバイスからでも、この会議室用に以前ホストされたアンカーにアクセスできます。

アンカーを解決する

  1. この会議室でホストされているアンカーにアクセスするには、[解決] をタップして以前に返された会議室コードを入力します。これにより、ARCore API に解決リクエストが送信され、ARCore API は現在会議室でホストされているすべてのアンカーの ID を返します。persistent_cloud_anchor_java はこれらの ID を使用して、ホストされているアンカーに付加された 3D オブジェクトをレンダリングします。

Cloud Anchors

アプリを実行する

  1. デバイスで開発者向けオプションと USB デバッグが有効になっていることを確認します。
  2. デバイスを USB 経由で開発マシンに接続します。
  3. Android Studio で、デプロイ ターゲットとしてデバイスを選択し、[Run] をクリックします。

デバイスで cloud_anchor_java が起動し、デバイスのカメラの前にある平面を検出するように ARCore が促します。

エラー: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

このエラーが発生した場合は、firebase_url プロパティが google-services.json に存在することを確認してください。このプロパティの正しい値を取得するには、Realtime Database が作成されていることを確認し、google-services.json をダウンロードします。


アンカーを配置する

  1. アプリが平面の検出を開始したら、画面をタップして、検出された平面のいずれかにアンカーを置きます。
  2. [ホスト] ボタンをタップして、配置したアンカーをホストします。これにより、ホスト リクエストが ARCore API に送信されます。ARCore API には、近くの視覚的対象物に対するアンカーの位置を表すデータを含むリクエストがあります。

ホスト リクエストが成功すると、配置された場所にアンカーが設定され、Cloud Anchors ID が割り当てられます。ホスト リクエストが成功すると、アプリに客室コードが表示されます。このコードを使用すると、どのデバイスからでも、この会議室用に以前ホストされたアンカーにアクセスできます。

アンカーを解決する

  1. この会議室でホストされているアンカーにアクセスするには、[解決] をタップして以前に返された会議室コードを入力します。これにより、ARCore API に解決リクエストが送信され、ARCore API は現在会議室でホストされているすべてのアンカーの ID を返します。cloud_anchor_java はこれらの ID を使用して、ホストされているアンカーに付加された 3D オブジェクトをレンダリングします。

次のステップ