세션 토큰

플랫폼 선택: Android iOS JavaScript 웹 서비스

Place Autocomplete는 세션 토큰을 사용하여 사용자 자동 완성 검색의 쿼리 및 선택 단계를 결제 목적의 개별 세션으로 그룹화합니다. 세션은 사용자가 쿼리를 입력하기 시작하면 시작되고, 장소를 선택하고 장소 세부정보를 호출하면 종료됩니다. 세션마다 여러 개의 자동 완성 쿼리가 포함될 수 있으며 하나의 장소가 선택됩니다. 한 세션 내에서 각 요청에 사용되는 API 키는 동일한 Google Cloud 콘솔 프로젝트에 속해야 합니다. 세션이 종료되면 토큰이 더 이상 유효하지 않습니다. 앱은 각 세션에 대해 새 토큰을 생성해야 합니다. sessiontoken 매개변수가 생략되거나 세션 토큰을 재사용하면 세션 토큰이 제공되지 않은 것처럼 세션에 대해 요금이 청구됩니다 (각 요청에 대한 요금은 별도로 청구됨).

다음 가이드라인이 권장됩니다.

  • 모든 자동 완성 세션에 세션 토큰을 사용합니다.
  • 각 세션에 대해 새 토큰을 생성합니다.
  • 한 세션 내의 모든 Place Autocomplete 및 Place Details 요청에 사용되는 API 키가 동일한 Google Cloud 콘솔 프로젝트에 속하는지 확인합니다.
  • 새 세션마다 고유한 세션 토큰을 전달해야 합니다. 둘 이상의 세션에 동일한 토큰을 사용하면 각 요청에 대해 개별적으로 요금이 청구됩니다.

필요한 경우 요청에서 자동 완성 세션 토큰을 생략할 수 있습니다. 세션 토큰이 생략된 경우 각 요청에 대한 요금이 별도로 청구되어 Autocomplete - Per Request SKU가 트리거됩니다. 세션 토큰을 재사용하면 세션이 유효하지 않은 것으로 간주되어 세션 토큰이 제공되지 않은 것처럼 요청에 대해 요금이 청구됩니다.

사용자가 쿼리를 입력하면 자동 완성 요청이 문자 단위가 아닌 몇 번의 키 입력마다 호출되고 가능한 결과 목록이 반환됩니다. 사용자가 결과 목록에서 항목을 선택하면 선택 항목이 요청으로 계산되고, 검색 중에 수행된 모든 요청은 번들로 묶여 단일 요청으로 계산됩니다. 사용자가 장소를 선택하면 검색어를 무료로 사용할 수 있으며 장소 데이터 요청에 대해서만 요금이 청구됩니다. 사용자가 세션을 시작하고 몇 분 내에 선택하지 않으면 검색어에 대해서만 요금이 청구됩니다.

이러한 이벤트 흐름을 앱의 관점에서 살펴보겠습니다.

  1. 사용자가 '프랑스 파리'를 검색하기 위해 검색어를 입력하기 시작합니다.
  2. 사용자 입력을 감지하면 앱은 새로운 세션 토큰인 '토큰 A'를 만듭니다.
  3. 사용자가 입력할 때 API는 몇 글자마다 자동 완성 요청을 실행하며 각 문자에 대해 잠재적인 결과의 새로운 목록을 표시합니다.
    'P'
    'Par'
    'Paris',
    'Paris, Fr'
  4. 사용자가 선택하는 경우:
    • 쿼리에서 발생하는 모든 요청은 그룹화되어 '토큰 A'로 표시되는 세션에 단일 요청으로 추가됩니다.
    • 사용자의 선택은 Place Detail 요청으로 집계되고 '토큰 A'로 표시되는 세션에 추가됩니다.
  5. 세션이 종료되고 앱이 '토큰 A'를 삭제합니다.

Autocomplete 요청에 대한 요금 청구 방법에 대한 자세한 내용은 사용량 및 결제를 참고하세요.

세션 토큰 만들기

세션 토큰을 만들려면 GMSAutocompleteSessionToken.init()를 호출합니다.