Place Autocomplete (ancienne version) utilise des jetons de session pour regrouper les phases de requête et de sélection d'une recherche de saisie semi-automatique d'un utilisateur dans une session distincte à des fins de facturation. La session commence lorsque l'utilisateur commence à saisir une requête et se termine lorsqu'il sélectionne un lieu et qu'un appel à Place Details (ancien) est effectué. Chaque session peut comporter plusieurs requêtes de saisie semi-automatique, suivies d'une sélection de lieu. Les clés API utilisées pour chaque requête d'une session doivent appartenir au même projet de la console Google Cloud. Lorsque la session prend fin, le jeton n'est plus valide. Votre application doit générer un nouveau jeton pour chaque session. Si vous omettez le paramètre sessiontoken ou si vous réutilisez un jeton de session, la session est facturée comme si aucun jeton n'était fourni (chaque requête est facturée séparément).
Nous vous recommandons de respecter les consignes suivantes:
- Utilisez des jetons de session pour toutes les sessions de saisie semi-automatique.
- Générez un nouveau jeton pour chaque session.
- Assurez-vous que les clés API utilisées pour toutes les requêtes Place Autocomplete (ancienne version) et Place Details (ancienne version) d'une session appartiennent au même projet de la console Google Cloud.
- N'oubliez pas de transmettre un jeton de session unique pour chaque nouvelle session. Si vous utilisez le même jeton pour plusieurs sessions, chaque requête est facturée individuellement.
Vous pouvez éventuellement omettre le jeton de session de saisie semi-automatique d'une requête. Si le jeton de session est omis, chaque requête est facturée séparément, ce qui déclenche le SKU Autocomplete – Per Request. Si vous réutilisez un jeton de session, la session est considérée comme non valide, et les requêtes sont facturées comme si aucun jeton de session n'avait été fourni.
Exemple
À mesure que l'utilisateur saisit une requête, une requête de saisie semi-automatique est appelée toutes les quelques frappes (et non par caractère), et une liste de résultats possibles est renvoyée. Lorsque l'utilisateur effectue une sélection dans la liste des résultats, la sélection est comptabilisée comme une requête, et toutes les requêtes effectuées lors de la recherche sont regroupées et comptabilisées comme une seule requête. Si l'utilisateur sélectionne un lieu, la requête de recherche est disponible sans frais, et seule la requête de données de lieu est facturée. Si l'utilisateur n'effectue pas de sélection dans les quelques minutes qui suivent le début de la session, seule la requête de recherche est facturée.
Prenons l'exemple de cette séquence d'événements du point de vue d'une application :
- Un utilisateur commence à saisir une requête pour rechercher "Paris, France".
- Lorsqu'elle détecte une saisie utilisateur, l'application crée un jeton de session, "Jeton A".
- À mesure que l'utilisateur saisit du texte, l'API envoie une requête de saisie semi-automatique tous les quelques caractères, affichant une nouvelle liste de résultats potentiels pour chacun d'eux :
"P"
"Par"
"Paris,"
"Paris, Fr"
- Lorsque l'utilisateur effectue une sélection :
- Toutes les requêtes résultant de la requête sont regroupées et ajoutées à la session représentée par "Jeton A", en tant que requête unique.
- La sélection de l'utilisateur est comptabilisée comme une requête Place Details et ajoutée à la session représentée par le "Jeton A".
- La session est terminée et l'application supprime le "jeton A".
Pour en savoir plus sur la facturation des requêtes Place Autocomplete (ancienne version), consultez Utilisation et facturation.
Créer des jetons de session
Pour créer un jeton de session, appelez AutocompleteSessionToken.newInstance().