本頁面說明如何實作使用者使用 Google One Tap 登入或登出的功能。
自動登入使用者
Google One Tap 支援自動登入,可移除訪客返回網站時必須採取的手動步驟,以提供順暢的使用者體驗 (UX)。使用者不必記住上次造訪時選取了哪個 Google 帳戶,可降低平台上建立不必要重複帳戶的可能性。
自動登入功能旨在與「使用 Google 帳戶登入」按鈕和「輕觸一次」對話方塊相輔相成。此機制適用於整個網站,而手動註冊或切換帳戶只有在使用者首次登出網站後才會發生。
如要自動登入,必須符合下列條件:
- 使用者必須先登入自己的 Google 帳戶
- 先前已同意與您的應用程式分享帳戶設定檔。
針對已啟用自動登入功能的網頁,如果符合這些條件,系統就會自動傳回訪客 ID 憑證憑證,不需要與使用者互動。如果不符合上述條件,即使網頁上已啟用自動登入功能,使用者仍將預設為「一觸即通」流程,用於登入或取得同意聲明。如果使用者擁有多個 Google 帳戶,並造訪您的網站, 則需要先登入單一 Google 帳戶,並為該帳戶提供同意聲明。
您可以使用所傳回憑證物件的 select_by 欄位中的 auto
值,來測量自動登入成功率。
如要啟用自動登入功能,請在程式碼中加入 data-auto_select="true"
,如以下程式碼片段所示:
<div id="g_id_onload" data-client_id="YOUR_GOOGLE_CLIENT_ID" data-auto_select="true" data-login_uri="https://your.domain/your_login_endpoint"> </div>
登出
使用者登出網站時,系統會將他們導向自動顯示 Google One Tap 提示的網頁。使用這項設定時,您必須禁止自動選取。否則,使用者會再次登入,導致死結使用者體驗。
如要在使用者登出後禁止自動選取,請在所有登出連結和按鈕中加入類別名稱 g_id_signout
。請參閱下列程式碼片段:
<div class="g_id_signout">Sign Out</div>
以下的 JavaScript 程式碼片段也可用來登出:
const button = document.getElementById(‘signout_button’); button.onclick = () => { google.accounts.id.disableAutoSelect(); }
因此,系統會透過您網域的 Cookie 記錄已登出的狀態,避免使用者重複註冊 UX。
登出狀態會儲存在您網域的 g_state
Cookie 中。如果您的服務會監控網域中使用的所有 Cookie,您必須通知相關 Cookie。
如果您不想在登入後載入用戶端程式庫,可以使用以下一些簡單的解決方法,以免使用者登出時就出現循環迴圈。
- 登出後,系統會將使用者重新導向至未顯示 (輕觸一次的
https://example.com/logged_out
) 的網頁,或一律停用自動登入。 - 登出後,在網址中加入參數。例如:
logged_out=1
。轉譯 One Tap by JavaScript API 時,請檢查該網址參數,並在停用自動登入功能 (如果有的話)。
關鍵使用者旅程
自動登入網頁。
如果您未在 5 秒內按一下 [取消] 按鈕,系統就會將您的網站 ID 憑證與您的網站共用。
當登入活動取消時,系統會根據帳戶選擇頁面或回訪者頁面,根據有效的 Google 工作階段數量。
多個 Google 工作階段
單一 Google 工作階段