「地點自動完成」會使用工作階段符記,將使用者查詢的搜尋功能和選取階段分成不同的獨立工作階段,以便進行計費。工作階段會在使用者開始輸入查詢時開始,並在使用者選取地點及呼叫 Place Details 時結束。每個工作階段可以有多個自動完成查詢,接著選取一個地點選取。工作階段內每個要求使用的 API 金鑰必須屬於同一個 Google Cloud Console 專案。工作階段結束後,權杖就不再有效;您的應用程式必須為每個工作階段產生新的權杖。如果省略 sessiontoken
參數,或是重複使用工作階段符記,系統會將工作階段視為未提供未提供符記符記的方式計費 (每個要求都會分開計費)。
建議你遵守下列規範:
- 針對所有自動完成工作階段使用工作階段符記。
- 為每個工作階段產生新權杖。
- 確保工作階段內所有 Place Autocomplete 和 Place Details 要求使用的 API 金鑰都屬於同一個 Google Cloud Console 專案。
- 請務必為每個新工作階段傳遞不重複的工作階段符記。如果針對多個工作階段使用相同的權杖,將導致每個要求分開計費。
您可以選擇在要求中略過自動完成工作階段符記。如果省略工作階段符記,則每個要求都會分開計費,觸發 Autocomplete - Per Request。假如您重複使用工作階段符記,系統會將工作階段視為無效,並針對相關要求收費 (因為系統會將其視為未提供工作階段符記)。
範例
使用者輸入查詢時,系統會每按按鍵 (而非按字元) 呼叫自動完成要求,並傳回可能的結果清單。當使用者從結果清單中選取所需項目時,系統會將該要求計為要求,並在搜尋期間執行的所有要求都會計為一次要求,並計為單一要求。假如地點選取了地點,則搜尋查詢不收費,且只須支付地點資料要求。如果使用者在工作階段開始的幾分鐘內沒有選擇,則只會收取搜尋查詢費用。
讓我們從應用程式的角度來瞭解這個事件流程。
- 使用者開始輸入查詢「法國巴黎」。
- 偵測使用者輸入內容時,應用程式會建立新的工作階段符記「權杖 A」。
- 使用者輸入時,API 每隔幾個字元會提出自動完成要求,並顯示每個位置的新結果清單:
"P"
"Par"
"Paris,"
"Paris, Fr"
- 當使用者選取項目時:
- 系統會將查詢發出的所有要求歸入同一組,並由「權杖 A」代表的工作階段納入同一個要求。
- 使用者選取的項目會計為地點詳細資料要求,並新增至「權杖 A」代表的工作階段。
- 工作階段已結束,應用程式會捨棄「權杖 A」。
如要進一步瞭解自動完成要求的計費方式,請參閱用量和帳單。
建立工作階段符記
如要建立工作階段符記,請呼叫 GMSAutocompleteSessionToken.init()
。