Tokeny sesji

Autouzupełnianie miejsc używa tokenów sesji do grupowania zapytań i etapów wyboru autouzupełniania wyszukiwania przez użytkownika w oddzielną sesję na potrzeby rozliczeń. Sesja rozpoczyna się, gdy użytkownik zaczyna wpisywać zapytanie, a kończy się, gdy wybiera miejsce i wywołuje polecenie szczegółów miejsca. Każda sesja może zawierać wiele zapytań autouzupełniania, po których następuje wybór jednego miejsca. Klucze interfejsu API używane w przypadku każdego żądania w sesji muszą należeć do tego samego projektu w Google Cloud Console. Po zakończeniu sesji token traci ważność. Aplikacja musi wygenerować nowy token dla każdej sesji. W przypadku pominięcia parametru sessiontoken lub ponownego użycia tokena sesji sesja jest naliczana tak, jakby nie został podany żaden token sesji (każde żądanie jest rozliczane oddzielnie).

Zalecamy stosowanie tych wytycznych:

  • Używaj tokenów sesji we wszystkich sesjach autouzupełniania.
  • Wygeneruj nowy token dla każdej sesji.
  • Sprawdź, czy klucze interfejsu API używane we wszystkich żądaniach autouzupełniania i informacji o miejscu w ramach sesji należą do tego samego projektu w Google Cloud Console.
  • Pamiętaj, aby przekazywać unikalny token sesji dla każdej nowej sesji. Używanie tego samego tokena w więcej niż 1 sesji spowoduje, że każde żądanie będzie rozliczane indywidualnie.

Możesz opcjonalnie pominąć token sesji autouzupełniania w żądaniu. W razie pominięcia tokena sesji każde żądanie jest rozliczane oddzielnie, co powoduje uruchomienie autouzupełniania – na żądanie. Jeśli ponownie użyjesz tokena sesji, sesja zostanie uznana za nieprawidłową, a żądania zostaną naliczone tak, jakby nie podano żadnego tokena sesji.

Przykład

Gdy użytkownik wpisuje zapytanie, żądanie autouzupełniania jest wywoływane co kilka naciśnięć klawiszy (a nie na znak) i pojawia się lista możliwych wyników. Gdy użytkownik wybierze coś z listy wyników, jest to liczone jako żądanie, a wszystkie żądania zgłoszone podczas wyszukiwania są grupowane i zliczane jako jedno żądanie. Jeśli użytkownik wybierze miejsce, zapytanie jest dostępne bezpłatnie, a opłata jest naliczana tylko za żądanie danych miejsca. Jeśli użytkownik nie dokona wyboru w ciągu kilku minut od rozpoczęcia sesji, naliczana jest opłata tylko za wyszukiwane hasło.

Przyjrzyjmy się temu przepływowi zdarzeń z perspektywy aplikacji.

  1. Użytkownik zaczyna wpisywać zapytanie, aby wyszukać „Paryż, Francja”.
  2. Po wykryciu danych wejściowych użytkownika aplikacja tworzy nowy token sesji „Token A”.
  3. Gdy użytkownik wpisuje zapytanie, interfejs API wysyła żądanie autouzupełniania co kilka znaków i wyświetla nową listę potencjalnych wyników dla każdego z nich:
    „P”,
    „Par”,
    „Paryż”,
    „Paryż, pt”
  4. Gdy użytkownik dokona wyboru:
    • Wszystkie żądania wynikające z zapytania są grupowane i dodawane do sesji reprezentowanej przez „token A” w postaci pojedynczego żądania.
    • Wybór użytkownika jest liczony jako żądanie szczegółów miejsca i dodawany do sesji reprezentowanej przez „token A”.
  5. Sesja się zakończy, a aplikacja odrzuca „Token A”.

Więcej informacji o sposobie naliczania opłat za żądania autouzupełniania znajdziesz w artykule Korzystanie i płatności.

Tworzenie tokenów sesji

Aby utworzyć token sesji, wywołaj GMSAutocompleteSessionToken.init().