Autouzupełnianie miejsc używa tokenów sesji, aby grupować fazy zapytania i wyboru w ramach wyszukiwania autouzupełniania użytkownika w oddzielną sesję na potrzeby rozliczeń. Sesja rozpoczyna się, gdy użytkownik zacznie wpisywać zapytanie, a kończy, gdy wybierze miejsce i wywoła funkcję szczegółów miejsca. Każda sesja może zawierać kilka zapytań autouzupełniania, po których następuje wybór jednego miejsca. Klucze API używane do każdego żądania w ramach sesji muszą należeć do tego samego projektu w konsoli Google Cloud. Po zakończeniu sesji token nie jest już ważny. Aplikacja musi wygenerować nowy token dla każdej sesji. Jeśli parametr sessiontoken
zostanie pominięty lub jeśli ponownie użyjesz tokena sesji, sesja zostanie obciążona tak, jakby nie podano tokena sesji (za każde żądanie naliczane są osobne opłaty).
Zalecamy przestrzeganie tych wskazówek:
- Używaj tokenów sesji do wszystkich sesji autouzupełniania.
- Wygeneruj nowy token dla każdej sesji.
- Upewnij się, że klucze API używane do wszystkich żądań Autocomplete i Szczegóły miejsca w ramach sesji należą do tego samego projektu w Konsoli Google Cloud.
- Pamiętaj, aby w przypadku każdej nowej sesji przekazać unikalny token sesji. Użycie tego samego tokena w więcej niż 1 sesji spowoduje, że za każde żądanie zostanie naliczona osobna opłata.
Opcjonalnie możesz pominąć token sesji autouzupełniania w żądaniu. Jeśli pominiesz token sesji, każde żądanie zostanie rozliczone osobno, co spowoduje użycie SKU Autocomplete - Per Request. Jeśli użyjesz ponownie tokena sesji, sesja zostanie uznana za nieprawidłową, a zapytania zostaną obciążone opłatą tak, jakby nie podano tokena sesji.
Przykład
Gdy użytkownik wpisze zapytanie, co kilka znaków (a nie po każdym znaku) wywoływane jest żądanie autouzupełniania, a lista możliwych wyników jest zwracana. Gdy użytkownik wybierze coś z listy wyników, wybór ten jest traktowany jako żądanie, a wszystkie żądania wysłane podczas wyszukiwania są grupowane i liczone jako jedno żądanie. Jeśli użytkownik wybierze miejsce, zapytanie jest dostępne bezpłatnie, a opłata jest pobierana tylko za żądanie danych o miejscu. Jeśli użytkownik nie dokona wyboru w ciągu kilku minut od rozpoczęcia sesji, zostanie naliczona opłata tylko za zapytanie.
Przyjrzyjmy się temu procesowi z perspektywy aplikacji.
- Użytkownik zaczyna wpisywać zapytanie, aby wyszukać „Paryż, Francja”.
- Po wykryciu danych wejściowych użytkownika aplikacja tworzy nowy token sesji „Token A”.
- Gdy użytkownik wpisze kilka znaków, interfejs API wysyła zapytanie o autouzupełnianie po każdym znaku, wyświetlając nową listę potencjalnych wyników:
"P"
"Par"
"Paris,"
"Paris, Fr"
- Gdy użytkownik dokona wyboru:
- Wszystkie żądania wynikające z zapytania są grupowane i dodawane do sesji reprezentowanej przez „Token A” jako jedno żądanie.
- Wybór użytkownika jest liczony jako żądanie szczegółów miejsca i dodawany do sesji reprezentowanej przez „Token A”.
- Sesja została zakończona, a aplikacja odrzuciła „Token A”.
Więcej informacji o tym, jak naliczane są opłaty za żądania autouzupełniania, znajdziesz w artykule Korzystanie i rozliczanie.
Tworzenie tokenów sesji
Aby utworzyć token sesji, wywołaj funkcję GMSAutocompleteSessionToken.init()
.