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 呼び出しを承認します。
前提条件
- アンカーと Cloud Anchors の仕組みを理解する。
- ARCore SDK for Android をインストールして構成します。
要件
ハードウェア
- 最新バージョンの Google Play 開発者サービス(AR)がインストールされている ARCore 対応デバイス。
- デバイスを開発マシンに接続するための USB ケーブル
ソフトウェア
- 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
Android Studio で [Open] をクリックします。
マシンの arcore-android-sdk ディレクトリがある場所に移動します。SDK フォルダ全体は開かないでください。代わりに、サンプルをご覧ください >persistent_cloud_anchor_java を指定し、[persistent_cloud_anchor_java] をクリックします。
Cloud Anchors
Android Studio で [Open] をクリックします。
マシンの 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 を共有します。実際のアプリでは別のソリューションを使用できます。
- アプリに Firebase を手動で追加します。
cloud_anchor_java
パッケージ名はcom.google.ar.core.examples.java.cloudanchor
です。main/AndroidManifest.xml
で確認できます。 - Firebase をアプリに追加したときに生成した
google-services.json
ファイルをダウンロードします。 - Firebase で Realtime Database を作成する。
- 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
アプリを実行する
- デバイスで開発者向けオプションと USB デバッグが有効になっていることを確認します。
- デバイスを USB 経由で開発マシンに接続します。
- Android Studio で、デプロイ ターゲットとしてデバイスを選択し、[Run] をクリックします。
デバイスで persistent_cloud_anchor_java
が起動し、デバイスのカメラの前にある平面を検出するように ARCore が促します。
Google Cloud の認可が失敗した場合は、トラブルシューティングの手順をご覧ください。
アンカーを配置する
- アプリが平面の検出を開始したら、画面をタップして、検出された平面のいずれかにアンカーを置きます。
- [ホスト] ボタンをタップして、配置したアンカーをホストします。これにより、ホスト リクエストが ARCore API に送信されます。ARCore API には、近くの視覚的対象物に対するアンカーの位置を表すデータを含むリクエストがあります。
ホスト リクエストが成功すると、配置された場所にアンカーが設定され、Cloud Anchor ID が割り当てられます。ホスト リクエストが成功すると、アプリに客室コードが表示されます。このコードを使用すると、どのデバイスからでも、この会議室用に以前ホストされたアンカーにアクセスできます。
アンカーを解決する
- この会議室でホストされているアンカーにアクセスするには、[解決] をタップして以前に返された会議室コードを入力します。これにより、ARCore API に解決リクエストが送信され、ARCore API は現在会議室でホストされているすべてのアンカーの ID を返します。
persistent_cloud_anchor_java
はこれらの ID を使用して、ホストされているアンカーに付加された 3D オブジェクトをレンダリングします。
Cloud Anchors
アプリを実行する
- デバイスで開発者向けオプションと USB デバッグが有効になっていることを確認します。
- デバイスを USB 経由で開発マシンに接続します。
- 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
をダウンロードします。
アンカーを配置する
- アプリが平面の検出を開始したら、画面をタップして、検出された平面のいずれかにアンカーを置きます。
- [ホスト] ボタンをタップして、配置したアンカーをホストします。これにより、ホスト リクエストが ARCore API に送信されます。ARCore API には、近くの視覚的対象物に対するアンカーの位置を表すデータを含むリクエストがあります。
ホスト リクエストが成功すると、配置された場所にアンカーが設定され、Cloud Anchors ID が割り当てられます。ホスト リクエストが成功すると、アプリに客室コードが表示されます。このコードを使用すると、どのデバイスからでも、この会議室用に以前ホストされたアンカーにアクセスできます。
アンカーを解決する
- この会議室でホストされているアンカーにアクセスするには、[解決] をタップして以前に返された会議室コードを入力します。これにより、ARCore API に解決リクエストが送信され、ARCore API は現在会議室でホストされているすべてのアンカーの ID を返します。
cloud_anchor_java
はこれらの ID を使用して、ホストされているアンカーに付加された 3D オブジェクトをレンダリングします。
次のステップ
- ARCore Cloud Anchors と永続的な Cloud Anchors Codelab に沿って Cloud Anchors アプリを作成します。
- Cloud Anchors をアプリに組み込む方法については、Cloud Anchors デベロッパー ガイドをご覧ください。
- Cloud Anchors Management API を使用して、ARCore アプリの外部で Cloud Anchors を管理します。