Place Autocomplete (기존)는 세션 토큰을 사용하여 사용자 자동 완성 검색의 쿼리 및 선택 단계를 결제 목적의 개별 세션으로 그룹화합니다. 세션은 사용자가 검색어를 입력하기 시작하면 시작되고 장소를 선택하고 장소 세부정보 (Legacy) 호출이 이루어지면 종료됩니다. 세션마다 여러 개의 자동 완성 쿼리가 포함될 수 있으며 하나의 장소가 선택됩니다. 세션 내에서 각 요청에 사용되는 API 키는 동일한 Google Cloud 콘솔 프로젝트에 속해야 합니다. 세션이 종료되면 토큰이 더 이상 유효하지 않습니다. 앱에서 각 세션에 대해 새 토큰을 생성해야 합니다. sessiontoken 매개변수가 생략되거나 세션 토큰을 재사용하는 경우 세션 토큰이 제공되지 않은 것처럼 세션에 대해 요금이 청구됩니다 (각 요청에 대해 별도로 요금이 청구됨).
다음 가이드라인이 권장됩니다.
- 모든 자동 완성 세션에 세션 토큰을 사용합니다.
- 각 세션에 대해 새 토큰을 생성합니다.
- 세션 내의 모든 Place Autocomplete(기존) 및 장소 세부정보(기존) 요청에 사용되는 API 키가 동일한 Google Cloud 콘솔 프로젝트에 속하는지 확인합니다.
- 새 세션마다 고유한 세션 토큰을 전달해야 합니다. 두 개 이상의 세션에 동일한 토큰을 사용하면 각 요청에 대해 개별적으로 요금이 청구됩니다.
원하는 경우 요청에서 자동 완성 세션 토큰을 생략할 수 있습니다. 세션 토큰이 생략되면 각 요청에 대해 별도로 요금이 청구되어 Autocomplete - Per Request SKU가 트리거됩니다. 세션 토큰을 재사용하면 세션이 유효하지 않은 것으로 간주되어 세션 토큰이 제공되지 않은 것처럼 요청에 대해 요금이 청구됩니다.
예
사용자가 검색어를 입력하면 몇 번의 키 입력마다 (문자당 아님) 자동 완성 요청이 호출되고 가능한 결과 목록이 반환됩니다. 사용자가 결과 목록에서 선택하면 선택 항목이 요청으로 계산되고 검색 중에 이루어진 모든 요청이 번들로 묶여 단일 요청으로 계산됩니다. 사용자가 장소를 선택하면 검색어는 무료로 제공되며 장소 데이터 요청에만 요금이 청구됩니다. 세션이 시작된 후 몇 분 이내에 사용자가 선택하지 않으면 검색어에만 요금이 청구됩니다.
앱의 관점에서 다음과 같은 이벤트 흐름을 고려하세요.
- 사용자가 '프랑스 파리'를 검색하기 위해 검색어를 입력하기 시작합니다.
- 사용자 입력을 감지하면 앱은 새 세션 토큰인 '토큰 A'를 만듭니다.
- 사용자가 입력할 때 API는 몇 글자마다 자동 완성 요청을 실행하여 각 요청에 대해 다음과 같은 새로운 잠재적 결과 목록을 표시합니다.
'P'
'Par'
'Paris,'
'Paris, Fr'
- 사용자가 선택하면 다음을 수행합니다.
- 쿼리에서 발생하는 모든 요청은 그룹화되어 '토큰 A'로 표시되는 세션에 단일 요청으로 추가됩니다.
- 사용자의 선택은 장소 세부정보 요청으로 집계되며 '토큰 A'로 표시되는 세션에 추가됩니다.
- 세션이 종료되고 앱은 '토큰 A'를 삭제합니다.
Place Autocomplete (기존) 요청에 대한 자세한 요금 청구 방식은 사용량 및 결제를 참고하세요.
세션 토큰 만들기
원하는 프로그래매틱 메커니즘을 사용하여 세션 토큰을 만들 수 있습니다. 세션 토큰에는 버전 4 UUID를 사용하는 것이 좋습니다.