Place Autocomplete 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 est effectué. Chaque session peut comporter plusieurs requêtes de saisie semi-automatique, suivies d'une sélection de lieu. La ou les clés API utilisées pour chaque requête dans une session doivent appartenir au même projet de la console Google Cloud. Une fois la session terminée, 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 la ou les clés API utilisées pour toutes les requêtes Place Autocomplete et Place Details 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 Autocomplete 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 en réutilisez un, la session est considérée comme non valide, et les requêtes sont facturées comme si aucun jeton n'était fourni.
Exemple
Lorsque 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 fait une sélection dans la liste de résultats, cette sélection est comptabilisée comme une requête. 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 sur le lieu est facturée. Si l'utilisateur ne fait pas de sélection dans les quelques minutes suivant le début de la session, seule la requête de recherche est facturée.
Examinons ce flux d'événements du point de vue d'une application.
- Un utilisateur commence à saisir une requête pour rechercher "Paris, France".
- Lorsque l'application détecte une entrée utilisateur, elle crée un nouveau 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, et affiche une nouvelle liste de résultats potentiels pour chacun:
"P"
"Par"
"Paris,"
"Paris, Fr"
- Lorsque l'utilisateur fait une sélection :
- Toutes les requêtes issues 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 de saisie semi-automatique, consultez la page Utilisation et facturation.
Créer des jetons de session
Vous pouvez créer des jetons de session à l'aide du mécanisme programmatique de votre choix. Nous vous recommandons d'utiliser un UUID de version 4 pour les jetons de session.