세션 토큰

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

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

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

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

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

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

  1. 사용자가 검색어를 입력하여 프랑스 파리에 대한 검색을 시작합니다.
  2. 사용자 입력을 감지하면 앱이 새로운 세션 토큰인 '토큰 A'를 생성합니다.
  3. 사용자가 입력할 때 API는 몇 자마다 자동 완성 요청을 하여 각 잠재적 결과의 새 목록을 표시합니다.

    Paris,
    Paris,
    Paris, Fr"
  4. 사용자가 선택하는 경우:
    • 이 쿼리로 얻은 모든 요청은 그룹화되어 'Token A'로 표현되는 세션에 단일 요청으로 추가됩니다.
    • 사용자의 선택사항은 장소 세부정보 요청으로 집계되며 '토큰 A'로 표현된 세션에 추가됩니다.
  5. 세션이 종료되고 앱이 'Token A'를 삭제합니다.

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

세션 토큰 만들기

원하는 프로그래매틱 메커니즘을 사용하여 세션 토큰을 만들 수 있습니다. 세션 토큰에는 버전 4 UUID를 사용하는 것이 좋습니다.