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