Autouzupełnianie miejsc używa tokenów sesji, aby grupować fazy zapytania i selekcji autouzupełniania przez użytkownika w oddzielną sesję na potrzeby rozliczeń. Sesja rozpoczyna się, gdy użytkownik zaczyna wpisywać zapytanie, i kończy, gdy wybiera miejsce, co powoduje wywołanie 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 przestaje być ważny. Aplikacja musi wygenerować nowy token dla każdej sesji. Jeśli pominiesz parametr sessiontoken
lub użyjesz ponownie tokena sesji, opłata za sesję zostanie naliczona tak, jakby nie został dostarczony żaden token sesji (każde żądanie jest rozliczane osobno).
Zalecamy stosowanie się do następujących 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 szczegółów miejsca w ramach sesji należą do tego samego projektu w Google Cloud Console.
- Pamiętaj, by w każdej nowej sesji przekazywać unikalny token. Użycie tego samego tokena w więcej niż 1 sesji spowoduje, że każde żądanie będzie rozliczane osobno.
Opcjonalnie możesz pominąć w żądaniu token sesji autouzupełniania. W przypadku pominięcia tokena sesji każde żądanie jest rozliczane oddzielnie, co aktywuje autouzupełnianie – na żądanie. Jeśli ponownie użyjesz tokena sesji, sesja zostanie uznana za nieprawidłową, a żądania zostaną obciążone tak, jakby nie został udostępniony żaden token sesji.
Przykład
Gdy użytkownik wpisze zapytanie, żądanie autouzupełniania jest wywoływane co kilka naciśnięć klawiszy (a nie na znak) i zwracana jest lista możliwych wyników. Gdy użytkownik dokona wyboru z listy wyników, taki wybór zostanie zliczony jako żądanie, a wszystkie żądania wykonane podczas wyszukiwania są grupowane i zliczane jako jedno żądanie. Jeśli użytkownik wybierze miejsce, zapytanie jest dostępne bezpłatnie, a opłata dotyczy tylko żądania danych o miejscu. Jeśli użytkownik nie dokona wyboru w ciągu kilku minut od rozpoczęcia sesji, zapłacisz tylko za wyszukiwane hasło.
Przyjrzyjmy się temu przepływowi zdarzeń 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 wpisuje zapytanie, interfejs API co kilka znaków wysyła żądanie autouzupełniania, wyświetlając nową listę potencjalnych wyników dla każdego z nich:
„P”,
„Par”,
„Paryż”,
„Paryż, pt”.
- 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”.
- Sesja dobiega końca i aplikacja odrzuca „Token A”.
Więcej informacji o naliczaniu opłat za żądania autouzupełniania znajdziesz w artykule Korzystanie i płatności.
Utwórz tokeny sesji
Aby utworzyć token sesji, wywołaj GMSAutocompleteSessionToken.init()
.