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