Place Autocomplete では、セッション トークンを使用して、ユーザーのオートコンプリート検索のクエリフェーズと選択フェーズを、請求処理のために個別のセッションにグループ化します。セッションは、ユーザーがクエリの入力を開始すると開始され、ユーザーが場所を選択して Place Details が呼び出されると終了します。各セッションでは、複数のオートコンプリート クエリの後に 1 つの場所を選択できます。セッション内の各リクエストに使用される API キーは、同じ Google Cloud Console プロジェクトに属している必要があります。セッションが終了すると、トークンは無効になります。アプリでは、セッションごとに新しいトークンを生成する必要があります。sessiontoken
パラメータを省略する場合や、セッション トークンを再利用する場合は、セッション トークンが指定されていない場合と同様にセッションが課金されます(各リクエストが個別に課金されます)。
次のガイドラインに従うことをおすすめします。
- すべてのオートコンプリート セッションでセッション トークンを使用します。
- セッションごとに新しいトークンを生成します。
- セッション内のすべての Place Autocomplete リクエストと Place Details リクエストに使用される API キーが同じ Google Cloud Console プロジェクトに属していることを確認します。
- 新しいセッションごとに固有のセッション トークンを渡すようにしてください。複数のセッションで同じトークンを使用すると、リクエストごとに課金されます。
必要に応じて、リクエストからオートコンプリート セッション トークンを省略できます。セッション トークンを省略すると、各リクエストは個別に請求され、Autocomplete - Per Request SKU がトリガーされます。セッション トークンを再使用すると、そのセッションは無効とみなされ、セッション トークンを渡さなかった場合と同様にリクエストが課金されます。
例
ユーザーがクエリを入力すると、数文字入力(文字単位では入力しない)ごとにオートコンプリート リクエストが呼び出され、有効な結果のリストが返されます。ユーザーが結果リストから選択すると、その選択がリクエストとしてカウントされ、検索中に行われたすべてのリクエストが 1 つのリクエストとしてバンドルされ、カウントされます。ユーザーが場所を選択すると、検索クエリが無料になり、プレイスのデータ リクエストのみが課金されます。ユーザーがセッション開始から数分以内に選択しなければ、検索クエリに対してのみ課金されます。
このイベント フローをアプリの観点から調べてみましょう。
- ユーザーが「パリ フランス」と検索する語句を入力します。
- ユーザー入力を検出すると、アプリは新しいセッション トークン「Token A」を作成します。
- ユーザーが入力すると、API によって数文字ごとにオートコンプリート リクエストが作成され、それぞれの新しい結果のリストが表示されます。
"P"
"Par"
"Paris,"
"Paris, Fr"
- ユーザーが選択します。
- クエリからのリクエストはすべてグループ化され、「Token A」で表されるセッションに 1 つのリクエストとして追加されます。
- ユーザーの選択が Place Details リクエストとしてカウントされ、「Token A」で表されるセッションに追加されます。
- セッションは終了し、アプリは「Token A」を破棄します。
Autocomplete リクエストに対する課金方法については、使用量と課金をご覧ください。
セッション トークンの作成
セッション トークンを作成するには、GMSAutocompleteSessionToken.init()
を呼び出します。