ย้ายข้อมูลไปยัง FedCM

คำแนะนำนี้จะช่วยให้คุณเข้าใจการเปลี่ยนแปลงเว็บแอปพลิเคชันของคุณที่เผยแพร่โดย Federated Credentials Management API (FedCM)

เมื่อเปิดใช้ FedCM เบราว์เซอร์จะแสดงข้อความแจ้งของผู้ใช้และจะไม่มีการใช้คุกกี้ของบุคคลที่สาม

ภาพรวม

Privacy Sandbox สำหรับเว็บและการนําคุกกี้ของบุคคลที่สามออกจากเว็บของ Chrome จะทำให้เกิดการเปลี่ยนแปลงที่สำคัญในบริการ Google Identity และการลงชื่อเข้าใช้ของผู้ใช้

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

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

ข้อมูลอัปเดตเกี่ยวกับฟีเจอร์ลงชื่อเข้าใช้อัตโนมัติ

Federated Credential Management (FedCM) เบต้า สำหรับบริการ Google Identity เปิดตัวแล้วเมื่อเดือนสิงหาคม 2023 นักพัฒนาซอฟต์แวร์จำนวนมากได้ทดสอบ API และได้ให้ ความคิดเห็นที่เป็นประโยชน์

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

เมื่อเร็วๆ นี้ Chrome ได้เปลี่ยนแปลงรูปแบบ UX การลงชื่อเข้าใช้อัตโนมัติของ FedCM ไปเมื่อเร็วๆ นี้ ระบบจะต้องยืนยันอีกครั้งเมื่อมีการจํากัดคุกกี้ของบุคคลที่สามเท่านั้น ซึ่งแปลว่า

  1. ก่อนที่การจำกัดคุกกี้ของบุคคลที่สามจะเพิ่มขึ้นถึง 100% ในไตรมาสที่ 3 ปี 2024 การลงชื่อเข้าใช้อัตโนมัติของ FedCM ไม่จำเป็นต้องยืนยันผู้ใช้ที่กลับมาอีกครั้ง หากผู้ใช้ยืนยันอีกครั้งกับ UI ของ FedCM การยืนยันอีกครั้งนี้จะนับรวมในข้อกำหนดท่าทางสัมผัสของผู้ใช้สำหรับยุคหลังยุค 3PCD

  2. การลงชื่อเข้าใช้โดยอัตโนมัติจาก FedCM จะตรวจสอบสถานะการยืนยันอีกครั้งเมื่อผู้ใช้จำกัดคุกกี้ของบุคคลที่สามด้วยตนเองในวันนี้ หรือโดยค่าเริ่มต้นใน Chrome ในอนาคต

จากการเปลี่ยนแปลงนี้ เราขอแนะนำให้นักพัฒนาซอฟต์แวร์ที่ลงชื่อเข้าใช้โดยอัตโนมัติทุกรายย้ายข้อมูลไปยัง FedCM โดยเร็วที่สุด เพื่อลดการหยุดชะงักของอัตรา Conversion การลงชื่อเข้าใช้โดยอัตโนมัติ

สำหรับขั้นตอนการลงชื่อเข้าใช้อัตโนมัติ GIS JavaScript จะไม่เรียกใช้ FedCM ใน Chrome รุ่นเก่า (ก่อน M121) แม้ว่าเว็บไซต์ของคุณจะเลือกใช้ FedCM ก็ตาม

ก่อนเริ่มต้น

ตรวจสอบว่าการตั้งค่าเบราว์เซอร์และเวอร์ชันรองรับ FedCM API เราขอแนะนำให้คุณอัปเดตเป็นเวอร์ชันล่าสุด

  • FedCM API พร้อมใช้งานใน Chrome 117 ขึ้นไป

  • การตั้งค่าการลงชื่อเข้าใช้ของบุคคลที่สามเปิดใช้ใน Chrome

  • หากเบราว์เซอร์ Chrome ของคุณเป็นเวอร์ชัน 119 หรือเก่ากว่า ให้เปิด chrome://flags แล้วเปิดใช้ฟีเจอร์ FedCmWithoutThirdPartyCookies เวอร์ชันทดลอง ขั้นตอนนี้ไม่จำเป็นสำหรับเบราว์เซอร์ Chrome เวอร์ชัน 120 ขึ้นไป

ย้ายข้อมูลเว็บแอป

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

1. เพิ่มธงบูลีนเพื่อเปิดใช้ FedCM เมื่อเริ่มต้นโดยใช้:

2. นำการใช้เมธอด isDisplayMoment(), isDisplayed(), isNotDisplayed() และ getNotDisplayedReason() ในโค้ดของคุณออก

โค้ดเรียกกลับของ google.accounts.id.prompt จะไม่แสดงการแจ้งเตือนช่วงเวลาที่แสดงในออบเจ็กต์ PromptMomentNotication อีกต่อไป เพื่อปรับปรุงความเป็นส่วนตัวของผู้ใช้ นำโค้ดที่ขึ้นอยู่กับวิธีการที่เกี่ยวข้องกับช่วงเวลาที่แสดงออก ซึ่งได้แก่ isDisplayMoment(), isDisplayed(), isNotDisplayed() และ getNotDisplayedReason() เมธอด

3. ยกเลิกการใช้เมธอด getSkippedReason() ในโค้ดของคุณ

ขณะที่ช่วงเวลาการข้าม isSkippedMoment() จะยังคงถูกเรียกจากโค้ดเรียกกลับ google.accounts.id.prompt ในออบเจ็กต์ PromptMomentNotication และจะไม่แสดงเหตุผลโดยละเอียด นำโค้ดที่ขึ้นอยู่กับเมธอด getSkippedReason() ออกจากโค้ด

โปรดทราบว่าการแจ้งเตือนช่วงเวลาที่ปิด isDismissedMoment() และวิธีเหตุผลโดยละเอียดที่เกี่ยวข้อง getDismissedReason() จะไม่มีการเปลี่ยนแปลงเมื่อเปิดใช้ FedCM

4. นำแอตทริบิวต์รูปแบบ position ออกจาก data-prompt_parent_id และ intermediate_iframes

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

5. อัปเดตเลย์เอาต์หน้าเว็บ หากจําเป็น

เบราว์เซอร์จะควบคุมขนาดและตําแหน่งของข้อความแจ้งของผู้ใช้ ระบบไม่รองรับเนื้อหาบางอย่างที่แสดงซ้อนกันเป็นตําแหน่งที่กําหนดเองสําหรับ One Tap บนเดสก์ท็อป ทั้งนี้ขึ้นอยู่กับเลย์เอาต์ของแต่ละหน้า เช่น แอตทริบิวต์สไตล์, data-prompt_parent_id, intermediate_iframes, iframe ที่กําหนดเอง และวิธีการสร้างสรรค์อื่นๆ

เปลี่ยนเลย์เอาต์ของหน้าเพื่อปรับปรุงประสบการณ์ของผู้ใช้เมื่อข้อมูลสําคัญถูกบดบัง อย่าสร้าง UX รอบๆ ข้อความแจ้งของ One Tap แม้จะคิดว่าอยู่ในตำแหน่งเริ่มต้นแล้ว เนื่องจาก FedCM API ทำงานเป็นสื่อกลางผ่านเบราว์เซอร์ ผู้ให้บริการเบราว์เซอร์ที่แตกต่างกันอาจวางตำแหน่งของข้อความแจ้งแตกต่างกันเล็กน้อย

6. เพิ่มแอตทริบิวต์ allow="identity-credentials-get" ลงในเฟรมหลักหากเว็บแอปเรียกใช้ One Tap API จาก iframe แบบข้ามต้นทาง

ระบบจะถือว่า iframe เป็นแบบข้ามต้นทางหาก origin ไม่เหมือนกับต้นทางระดับบนสุด ตัวอย่างเช่น:

  • โดเมนที่แตกต่างกัน: https://example1.com และ https://example2.com
  • โดเมนระดับบนสุดต่างกัน: https://example.uk และ https://example.jp
  • โดเมนย่อย: https://example.com และ https://login.example.com

    เมื่อมีการเรียกใช้ One Tap API จาก iframe แบบข้ามต้นทาง คุณต้องเพิ่มแอตทริบิวต์ allow="identity-credentials-get" allow="identity-credentials-get" ในแท็ก iframe ของเฟรมระดับบนทุกแท็ก เพื่อปรับปรุงความเป็นส่วนตัวของผู้ใช้

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    หากแอปใช้ iframe ที่มี iframe อื่น คุณต้องตรวจสอบว่ามีการเพิ่มแอตทริบิวต์ลงใน iframe ทุกรายการ รวมถึง iframe ย่อยทั้งหมด

    ตัวอย่างเช่น ลองพิจารณาสถานการณ์ต่อไปนี้

  • เอกสารด้านบน (https://www.example.uk) มี iframe ชื่อ "iframe A" ซึ่งฝังหน้า (https://logins.example.com)

  • หน้าที่ฝังนี้ (https://logins.example.com) ยังมี iframe ชื่อ "iframe B" ซึ่งฝังหน้า (https://onetap.example2.com) ที่โฮสต์ One Tap เพิ่มเติม

    คุณต้องเพิ่มแอตทริบิวต์ลงในทั้งแท็ก Iframe A และ Iframe B เพื่อให้ "One Tap" แสดงได้อย่างถูกต้อง

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

  • อัปเดตเอกสารสำหรับนักพัฒนาซอฟต์แวร์เพื่อระบุวิธีตั้งค่า iframe ให้เหมาะสมเพื่อเรียกเว็บไซต์ของคุณ คุณสามารถลิงก์ไปยังหน้านี้ได้ในเอกสาร

  • อัปเดตหน้าคำถามที่พบบ่อยของนักพัฒนาแอป (หากมี)

  • แจ้งให้ทีมสนับสนุนของคุณทราบการเปลี่ยนแปลงที่กำลังจะเกิดขึ้นและเตรียมตอบคำถามล่วงหน้า

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

7. เพิ่มคำสั่งเหล่านี้ลงในนโยบายรักษาความปลอดภัยเนื้อหา (CSP)

ขั้นตอนนี้เป็นแบบไม่บังคับเนื่องจากเว็บไซต์บางแห่งเลือกกำหนด CSP ไม่ได้

  • หากไม่ได้ใช้ CSP ในเว็บไซต์ คุณก็ไม่จำเป็นต้องเปลี่ยนแปลงอะไร

  • หาก CSP ใช้งานได้กับ One Tap ปัจจุบัน และคุณไม่ได้ใช้ connect-src, frame-src, script-src, style-src หรือ default-src ก็ไม่ต้องทำการเปลี่ยนแปลงใดๆ

  • หรือทําตามคําแนะนํานี้เพื่อตั้งค่า CSP หากไม่มีการตั้งค่า CSP ที่เหมาะสม FedCM One Tap ก็จะไม่แสดงในเว็บไซต์

8. นำการรองรับ Accelerated Mobile Pages (AMP) ออกสำหรับการลงชื่อเข้าใช้

การรองรับการลงชื่อเข้าใช้ของผู้ใช้สำหรับ AMP เป็นฟีเจอร์เสริมของ GIS ที่เว็บแอปอาจติดตั้งไว้ ในกรณีนี้

ลบการอ้างอิงถึงรายการต่อไปนี้

  • amp-onetap-google องค์ประกอบที่กำหนดเอง และ

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>

    ลองเปลี่ยนเส้นทางคำขอลงชื่อเข้าใช้จาก AMP ไปยังขั้นตอนการลงชื่อเข้าใช้ HTML ของเว็บไซต์ โปรดทราบว่าIntermediate Iframe Support APIที่เกี่ยวข้องจะไม่ได้รับผลกระทบ