Google Cloud で ARCore API を使用する

プラットフォームを選択: <ph type="x-smartling-placeholder"></ph>

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

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

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

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

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

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

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

ARCore API を有効にする

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

ARCore API を有効にする

認証方法を設定する

iOS アプリは、次の 2 つの方法で ARCore API と通信できます。 認可方法: キーレス認証。これは、 方法、API キー認証があります。

  • キーレス認証では、API へのアクセスを制御するために署名されたトークンを使用します。この メソッドでは、トークンに署名し、トークンへのアクセスを制御するために、 できます。
  • API キーは、Google Cloud プロジェクトを識別する文字列です。API キーは、 これらはクライアントがアクセスできるため、一般的には安全とは見なされません。 トークン認証を使用して ARCore API と通信することを検討してください。

キーレス

ARCore は、(JSON Web あります)。トークンは、Google Cloud のデジタル サービス サービス アカウント。

iOS 用のトークンを生成するには、サーバーにエンドポイントが必要です 次の要件を満たす必要があります。

  • 独自の認可メカニズムでエンドポイントを保護する必要があります。

  • エンドポイントは、次のように新しいトークンを毎回生成する必要があります。

    • 各ユーザーは一意のトークンを取得します。
    • トークンはすぐには期限切れになりません。

サービス アカウントと署名鍵を作成する

Google サービス アカウントと署名鍵を作成する手順は次のとおりです。

  1. Google Cloud で、[認証情報] ページを開きます。
    認証情報
  2. [認証情報を作成 >サービス アカウント
  3. [サービス アカウントの詳細] で、新しいアカウントの名前を入力して、[ 作成:
  4. [サービス アカウントの権限] ページで、[ロールを選択] プルダウンに移動します。 [サービス アカウント >サービス アカウント トークン作成者] をクリックし、 続行。
  5. [ユーザーにこのサービス アカウントへのアクセスを許可] ページで、[完了] をクリックします。
  6. 認証情報 [サービス アカウント] セクションで目的のアカウント名をクリックし、 作成します。
  7. [サービス アカウントの詳細] ページで、[キー] セクションまで下にスクロールし、 [鍵を追加 >新しい鍵を作成する
  8. 鍵のタイプとして [JSON] を選択し、[作成] をクリックします。

    秘密鍵を含む JSON ファイルがマシンにダウンロードされます。保存 ダウンロードした JSON キーファイルを安全な場所に保管します。

サーバーでトークンを作成する

サーバーで新しいトークン(JWT)を作成するには、標準の JWT を使用します。 ライブラリ 新しいサービス アカウントから安全にダウンロードした JSON ファイルと、

開発マシンでトークンを作成する

開発マシンで JWT を生成するには、次のコマンドを使用します。 oauth2l コマンド:

oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"

--cache フラグを使用して空のキャッシュ ロケーションを指定する必要があります。 毎回異なるトークンが生成されるようにします。必ず 結果の文字列です。余分なスペースや改行文字を入力すると、API の動作が 拒否することもできます。

トークンに署名する

JWT に署名するには、RS256 アルゴリズムと次のクレームを使用する必要があります。

  • iss - サービス アカウントのメールアドレス。
  • sub - サービス アカウントのメールアドレス。
  • iat - トークンが生成されたときの Unix エポック時間(秒単位)。
  • exp - iat + 3600(1 時間)トークンが期限切れになる Unix エポック時刻。 秒単位で分析できます
  • aud - オーディエンス。次のように設定する必要があります。 https://arcore.googleapis.com/

JWT ペイロードには標準以外のクレームは必要ありませんが、 uid クレームは、対応するユーザーの識別に役立ちます。

Google Cloud コンソールを使用するなど、異なる方法で JWT を生成する場合は、 使用する場合は、必ずクレームで JWT に署名してください。 説明します。何よりも、対象者が正しいことを確認してください。

ARCore セッションでトークンを渡す

  1. 次を使用してセッションを構築する GARSession#sessionWithError:

    NSError *error = nil;
    GARSession *garSession = [GARSession sessionWithError:&error];
    
  2. トークンを取得したら、次のコマンドでセッションに渡します。 setAuthToken:。 それ以外の場合、セッションは最新の有効な認証トークンを使用します。 表示されます。トークンを更新するたびに、このメソッドを呼び出します。

    [garSession setAuthToken: authToken]
    

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

トークンをセッションに渡すときは、次の点に注意してください。

  • API キーを使用してセッションを作成した場合、ARCore は エラーをログに記録します。

    API キーが不要になった場合は、Google Developers コンソールから削除し、 。

  • ARCore は、スペースまたは特殊文字を含むトークンを無視します。

  • トークンは通常、1 時間後に期限切れになります。なんらかの理由で、 トークンが使用中の間に期限切れになる場合は、新しいトークンを取得して API に渡します。

API キー

  1. Google Cloud で、[認証情報] ページを開きます。
    認証情報
  2. [認証情報の作成] を選択し、メニューから [API キー] を選択します。
    [API キーを作成しました] ダイアログに、新しく作成したキーの文字列が表示されます。
  3. GARSession を作成するときは、次のコマンドを使用します。 GARSession#sessionWithAPIKey:bundleIdentifier:error: API キーを入力します。

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    
  4. API キーの制限に関するドキュメントを確認する して、API キーを保護します。

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

次のステップ

認可を構成したら、以下を使用する ARCore 機能を確認してください。 説明します。