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