เพิ่มความสะดวกให้กับผู้ใช้ด้วยการเปิดใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นข้ามแพลตฟอร์ม ทั้งในแอปและเว็บไซต์ เมื่อเว็บไซต์และแอป Android หลายรายการแชร์ แบ็กเอนด์เพื่อการจัดการบัญชี ฟีเจอร์นี้ช่วยให้ผู้ใช้บันทึกข้อมูลเข้าสู่ระบบได้เพียงครั้งเดียว และให้ระบบแนะนำโดยอัตโนมัติในเว็บไซต์หรือแอป Android ที่ลิงก์ไว้
แนวทางปฏิบัติแนะนำ
ใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นเพื่อประสบการณ์ของผู้ใช้และความปลอดภัยที่ดีที่สุด ในทัชพอยต์เหล่านี้
- แบบฟอร์มลงชื่อเข้าใช้: เปิดใช้การกรอกข้อมูลเข้าสู่ระบบอัตโนมัติ
- แบบฟอร์มลงชื่อสมัครใช้: จัดเก็บข้อมูลเข้าสู่ระบบใหม่อย่างปลอดภัยสำหรับใช้ในแพลตฟอร์มต่างๆ
- แบบฟอร์มเปลี่ยนรหัสผ่าน: ซิงค์ข้อมูลการอัปเดตรหัสผ่านในทุกแพลตฟอร์ม
- แบบฟอร์มรีเซ็ตรหัสผ่าน: อนุญาตให้รีเซ็ตรหัสผ่านครั้งเดียวเพื่ออัปเดตทุกแพลตฟอร์ม
- โดเมน WebView: ขยายการแชร์ข้อมูลเข้าสู่ระบบไปยังโดเมน WebView ภายใน แอปของคุณที่จัดการการจัดการบัญชี (การลงชื่อเข้าใช้ของโฮสต์ การลงชื่อสมัครใช้ รหัสผ่าน เปลี่ยน หรือรูปแบบรีเซ็ตรหัสผ่าน)
- แอป Android
แนวทางนี้สร้างระบบการจัดการข้อมูลเข้าสู่ระบบแบบรวม ซึ่งช่วยปรับปรุงทั้ง ให้ความสะดวกและความปลอดภัยของผู้ใช้
เมื่อออกแบบเว็บไซต์การจัดการบัญชี เราขอแนะนำให้คุณปฏิบัติตาม แนวทางปฏิบัติที่ดีที่สุดสำหรับเว็บไซต์การจัดการบัญชี
- ออกแบบแบบฟอร์มสมัครเข้าร่วมตามแนวทางปฏิบัติแนะนำ
- ออกแบบแบบฟอร์มลงชื่อเข้าใช้ตามแนวทางปฏิบัติแนะนำ
- เพิ่ม URL ที่เป็นที่รู้จักสำหรับการเปลี่ยนรหัสผ่าน
เมื่อออกแบบแอป Android เราขอแนะนำให้คุณผสานรวมแอปกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบ Android
ข้อกำหนดเบื้องต้น
ก่อนตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบอย่างราบรื่น โปรดตรวจสอบว่าคุณมีรายการต่อไปนี้ แต่ละแพลตฟอร์ม
สำหรับแอป Android แต่ละแอป ให้ทำดังนี้
- รหัสแอปพลิเคชัน Android ตามที่ประกาศไว้ในไฟล์
build.gradle
ของแอป - ลายนิ้วมือ SHA256 ของใบรับรองที่ลงนาม
- (แนะนำ) การใช้งานการลงชื่อเข้าใช้ของผู้ใช้ด้วย Credential Manager API
สำหรับแต่ละเว็บไซต์
- ความสามารถในการเผยแพร่ไฟล์
/.well-known/assetlinks.json
ในแต่ละไฟล์ ตามไวยากรณ์ลิงก์เนื้อหาดิจิทัล (DAL) - โดเมนการจัดการบัญชีทั้งหมด (ลงชื่อเข้าใช้ ลงชื่อสมัครใช้ เปลี่ยนรหัสผ่าน หรือรหัสผ่าน รีเซ็ตฟอร์ม) ต้องเข้าถึงได้ผ่านทาง HTTPS
เปิดใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นในแอปและเว็บไซต์ต่างๆ ของ Android
หากต้องการกำหนดค่าการแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นระหว่างแอปและเว็บไซต์ คุณต้องสร้าง และเผยแพร่รายการแถลงการณ์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่ประกาศว่า เอนทิตี (เว็บไซต์หรือแอป Android) ได้รับอนุญาตให้แชร์ข้อมูลเข้าสู่ระบบ
หากต้องการประกาศความสัมพันธ์ในการแชร์ข้อมูลเข้าสู่ระบบ ให้ทำดังนี้
สร้างไฟล์
assetlinks.json
ที่มีข้อความระบุลิงก์ไปยังเว็บไซต์และ ของแอป Android ตามไวยากรณ์รายการคำสั่ง DALs ดังนี้[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
URL
คือ URL ของเว็บไซต์คุณAPP_ID
คือรหัสแอปพลิเคชัน Android ของคุณ และSHA_HEX_VALUE
คือลายนิ้วมือ SHA256 ของ การลงนามใบรับรองในแอป Android ของคุณช่อง
relation
จะอธิบายความสัมพันธ์ที่กำลังประกาศ หากต้องการประกาศ ที่แอปและเว็บไซต์ต่างๆ จะใช้ข้อมูลรับรองการลงชื่อเข้าใช้ร่วมกัน ให้ระบุความสัมพันธ์เป็นdelegate_permission/common.get_login_creds
ดูข้อมูลเพิ่มเติมเกี่ยวกับ สตริงความสัมพันธ์ใน DALช่อง
target
คือออบเจ็กต์ที่ระบุการประกาศเนื้อหา ที่เกี่ยวข้องฟิลด์ต่อไปนี้ระบุเว็บไซต์
namespace
web
site
URL ของเว็บไซต์ในรูปแบบ
https://domain[:optional_port
] เช่น https://www.example.comdomain
ต้องเป็นแบบเต็มและต้องละเว้นoptional_port
เมื่อใช้พอร์ต 443 สำหรับ HTTPSเป้าหมาย
site
เป็นโดเมนรากได้เท่านั้น คุณไม่สามารถจำกัดการเชื่อมโยงแอปกับไดเรกทอรีย่อยที่เจาะจงได้ อย่าใส่เส้นทางใน URL เช่น เครื่องหมายทับปิดท้ายไม่ถือว่าโดเมนย่อยตรงกัน กล่าวคือ หากคุณระบุ
domain
เป็น www.example.com โดเมน www.counter.example.com จะไม่เชื่อมโยงกับแอปของคุณฟิลด์ต่อไปนี้จะระบุแอป Android
เนมสเปซ
android_app
package_name
ชื่อแพ็กเกจที่ประกาศในไฟล์ Manifest ของแอป เช่น com.example.android
sha256_cert_fingerprints
ลายนิ้วมือ SHA256 ของใบรับรองการลงนามของแอป
โฮสต์ไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ไว้ที่ตำแหน่งต่อไปนี้ใน โดเมนที่ลงชื่อเข้าใช้:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
โดยที่DOMAIN
มีคุณสมบัติครบถ้วนสมบูรณ์ และ ต้องละเว้นOPTIONAL_PORT
เมื่อใช้พอร์ต 443 สำหรับ HTTPSประกาศการเชื่อมโยงในแอป Android ด้วยการฝังข้อความไว้ใน ไฟล์
res/values/strings.xml
ของแอป Android ที่ลิงก์ไปยังรายการใบแจ้งยอด ที่สร้างขึ้นในขั้นตอนที่ 1 เพิ่มออบเจ็กต์ที่ระบุไฟล์assetlinks.json
ไปยัง โหลด เช่น<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
แทนที่
DOMAIN
และOPTIONAL_PORT
(ไม่ต้องใส่เมื่อใช้พอร์ต 443 สำหรับ HTTPS) เช่นhttps://www.example.com
หลบเลี่ยงเครื่องหมายอะพอสทรอฟี และเครื่องหมายคำพูดที่ใช้ในสตริงนอกจากนี้คุณยังเพิ่มข้อมูลโค้ด JSON ในไฟล์
strings.xml
ได้ดังที่แสดงใน เอกสารประกอบ DALs แต่การใช้คำสั่งinclude
จะให้คุณ โดยไม่เผยแพร่แอปเวอร์ชันใหม่อ้างอิงข้อความนี้ในไฟล์ Manifest โดยเพิ่มบรรทัดต่อไปนี้ลงใน ไฟล์
AndroidManifest.xml
ของแอปใน<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
เผยแพร่แอป Android เวอร์ชันใหม่ให้กับนักพัฒนาแอป Google Play คอนโซล
หลังจากทำตามขั้นตอนเหล่านี้ คุณตั้งค่าข้อมูลเข้าสู่ระบบที่ราบรื่นเรียบร้อยแล้ว การแชร์ระหว่างเว็บไซต์และแอป Android ของคุณ
โปรดทราบว่าวิธีนี้ไม่ใช่วิธีเดียวที่ถูกต้องในการตั้งค่า DAL สำหรับการแชร์ข้อมูลเข้าสู่ระบบ แต่วิธีนี้ทำให้กระบวนการในอนาคตในการเพิ่มเอนทิตีใหม่ลงใน เครือข่ายการแชร์เอกสารรับรองที่ราบรื่น ส่งเสริมให้นำโค้ดมาใช้ซ้ำได้ และลด ก็อาจเกิดข้อผิดพลาดได้ในระหว่างการอัปเดต