ลงชื่อเข้าใช้และออกจากระบบโดยอัตโนมัติ

หน้านี้จะอธิบายวิธีใช้ฟีเจอร์ที่เกี่ยวข้องกับวิธีที่ผู้ใช้ลงชื่อเข้าใช้หรือออกจากระบบด้วย Google One Tap

ให้ผู้ใช้ลงชื่อเข้าใช้โดยอัตโนมัติ

Google One Tap รองรับการลงชื่อเข้าใช้โดยอัตโนมัติ ซึ่งจะมอบประสบการณ์ของผู้ใช้ (UX) ที่ราบรื่นด้วยขั้นตอนที่ต้องทำด้วยตนเองเมื่อกลับมาที่เว็บไซต์ของคุณ ผู้ใช้ไม่จำเป็นต้องจำบัญชี Google ที่ตนเลือกระหว่างการเข้าชมครั้งล่าสุด ซึ่งเป็นการลดโอกาสการสร้างบัญชีซ้ำโดยไม่จำเป็นบนแพลตฟอร์มของคุณ

การลงชื่อเข้าใช้อัตโนมัติมีไว้เพื่อเสริมการทำงานของปุ่มลงชื่อเข้าใช้ด้วย Google และกล่องโต้ตอบด้วยการแตะเพียงครั้งเดียว แต่ออกแบบมาเพื่อใช้ทั่วทั้งเว็บไซต์ โดยจะต้องลงชื่อสมัครใช้ด้วยตนเองหรือเปลี่ยนบัญชีจะเกิดขึ้นหลังจากที่ผู้ใช้ออกจากระบบเว็บไซต์ครั้งแรกแล้วเท่านั้น

หากต้องการให้การลงชื่อเข้าใช้โดยอัตโนมัติเกิดขึ้น คุณต้องมีเงื่อนไขต่อไปนี้

  • ผู้ใช้ต้องลงชื่อเข้าใช้บัญชี Google ของตนก่อน และ
  • ได้ให้ความยินยอมก่อนหน้านี้ในการแชร์โปรไฟล์บัญชีของตนกับแอปของคุณ และ
  • เมื่อใช้ FedCM พยายามลงชื่อเข้าใช้เพียงครั้งเดียวใน 10 นาทีที่ผ่านมา "แตะครั้งเดียว" จะแสดงขึ้นเมื่อมีการพยายามลงชื่อเข้าใช้หลายครั้งระหว่างหน้าต่างนี้

สำหรับหน้าเว็บที่เปิดใช้การลงชื่อเข้าใช้โดยอัตโนมัติและหากตรงกับเงื่อนไขเหล่านี้ ข้อมูลเข้าสู่ระบบโทเค็นรหัสผู้เข้าชมจะแสดงขึ้นมาโดยอัตโนมัติโดยไม่มีการโต้ตอบจากผู้ใช้ หากไม่เป็นไปตามเงื่อนไขเหล่านี้ และแม้ว่าจะเปิดใช้การลงชื่อเข้าใช้โดยอัตโนมัติในหน้าเว็บแล้ว ผู้ใช้จะเลือกใช้ขั้นตอน One Tap เป็นค่าเริ่มต้นสำหรับการลงชื่อเข้าใช้หรือขอความยินยอม หากผู้ใช้มีบัญชี Google หลายบัญชีและเข้าชมเว็บไซต์ของคุณ ผู้ใช้จะต้องลงชื่อเข้าใช้บัญชี Google บัญชีเดียวและต้องให้ความยินยอมสำหรับบัญชีนั้นก่อน

คุณอาจวัดอัตราความสำเร็จในการลงชื่อเข้าใช้โดยอัตโนมัติได้โดยใช้ค่า auto ในช่อง select_by ของออบเจ็กต์ข้อมูลเข้าสู่ระบบที่แสดง

หากต้องการเปิดใช้การลงชื่อเข้าใช้โดยอัตโนมัติ ให้เพิ่ม data-auto_select="true" ลงในโค้ดดังที่แสดงในข้อมูลโค้ดต่อไปนี้

<div id="g_id_onload"
     data-client_id="YOUR_GOOGLE_CLIENT_ID"
     data-login_uri="https://your.domain/your_login_endpoint"
     data-auto_select="true">
</div>

ออกจากระบบ

เมื่อผู้ใช้ออกจากระบบเว็บไซต์ของคุณ ระบบจะนำผู้ใช้ไปยังหน้าที่ระบบแสดงข้อความ Google One Tap โดยอัตโนมัติ สำหรับการตั้งค่านี้ ห้ามไม่ให้เลือกอัตโนมัติ ไม่เช่นนั้น ผู้ใช้จะลงชื่อเข้าใช้อีกครั้งโดยอัตโนมัติ ซึ่งทําให้เกิด UX แบบ Dead Loop

การใช้ FedCM

ในการปรับปรุงประสบการณ์ของผู้ใช้ เราจะมีระยะห่างจากกัน 10 นาทีระหว่างการพยายามลงชื่อเข้าใช้โดยอัตโนมัติทุกครั้ง ในช่วงเวลานี้ "การแตะครั้งเดียว" จะแสดงขึ้นมาแทน

ไม่มี FedCM

หากต้องการห้ามไม่ให้มีการเลือกอัตโนมัติหลังจากผู้ใช้ออกจากระบบแล้ว ให้เพิ่มชื่อคลาส g_id_signout ลงในลิงก์และปุ่มออกจากระบบทั้งหมด ดูข้อมูลโค้ดต่อไปนี้

<div class="g_id_signout">Sign Out</div>

นอกจากนี้คุณยังสามารถใช้ข้อมูลโค้ด JavaScript ต่อไปนี้สำหรับการออกจากระบบได้ด้วย

const button = document.getElementById('signout_button');
button.onclick = () => {
  google.accounts.id.disableAutoSelect();
}

ดังนั้น ระบบจะบันทึกสถานะการออกจากระบบผ่านคุกกี้ในโดเมน เพื่อหลีกเลี่ยง UX ของ Dead Loop

สถานะการออกจากระบบจะจัดเก็บไว้ในคุกกี้ g_state ในโดเมนของคุณ หากคุณมีบริการที่ตรวจสอบคุกกี้ทั้งหมดที่ใช้ในโดเมนของคุณ คุณจะต้องแจ้งให้ผู้ใช้ทราบเกี่ยวกับคุกกี้นี้

หากคุณไม่ต้องการโหลดไลบรารีของไคลเอ็นต์บนหน้าหลังการเข้าสู่ระบบ ให้ใช้วิธีแก้ปัญหาเหล่านี้เพื่อป้องกันไม่ให้ UX เกิดการทำงานแบบวนกลับหลังจากออกจากระบบ

  • เมื่อออกจากระบบ ให้เปลี่ยนเส้นทางผู้ใช้ไปยังหน้า (เช่น https://example.com/logged_out) ที่ One Tap ไม่แสดง หรือที่ซึ่งการลงชื่อเข้าใช้อัตโนมัติจะปิดใช้เสมอ
  • เมื่อออกจากระบบ ให้เพิ่มพารามิเตอร์ลงใน URL เช่น logged_out=1 เมื่อแสดงภาพ One Tap by JavaScript API ให้ตรวจสอบพารามิเตอร์ของ URL และ ปิดการลงชื่อเข้าใช้อัตโนมัติหากแสดงขึ้น

เส้นทางของผู้ใช้ที่สำคัญ

หน้าลงชื่อเข้าใช้อัตโนมัติ

การใช้ FedCM

ป๊อปอัปการลงชื่อเข้าใช้อัตโนมัติของ FedCM

หากผู้ใช้ไม่คลิก X เพื่อยกเลิกภายใน 5 วินาที ระบบจะแชร์โทเค็นรหัสกับเว็บไซต์

ไม่มี FedCM

ป๊อปอัปการลงชื่อเข้าใช้อัตโนมัติ

หากผู้ใช้ไม่คลิกปุ่มยกเลิกภายใน 5 วินาที ระบบจะแชร์โทเค็นรหัสกับเว็บไซต์

เมื่อมีการยกเลิกการลงชื่อเข้าใช้ หน้าตัวเลือกบัญชีหรือหน้าผู้ใช้ที่กลับมาจะปรากฏขึ้นตามจำนวนเซสชันของ Google ที่ใช้งานอยู่

  • เซสชันของ Google หลายรายการ

    การใช้ FedCM

    หน้าตัวเลือกบัญชี FedCM

    ไม่มี FedCM

    หน้าตัวเลือกบัญชีผู้ใช้
  • เซสชัน Google รายการเดียว

    การใช้ FedCM

    หน้าผู้ใช้ที่กลับมาของ FedCM One Tap

    ไม่มี FedCM

    หน้าผู้ใช้ที่กลับมาของ One Tap