ฟีเจอร์กู้คืนข้อมูลเข้าสู่ระบบของเครื่องมือจัดการข้อมูลเข้าสู่ระบบช่วยให้ผู้ใช้กู้คืนบัญชีแอปได้เมื่อตั้งค่าอุปกรณ์ใหม่ API นี้อยู่ในเวอร์ชันตัวอย่างสำหรับนักพัฒนาแอปและพร้อมใช้งานบนอุปกรณ์ทุกเครื่องที่ใช้ Android 9 ขึ้นไปและบริการ Google Play (GMS) เวอร์ชัน 242200000 ขึ้นไป ประโยชน์ของฟีเจอร์กู้คืนข้อมูลเข้าสู่ระบบมีดังนี้
- ประสบการณ์การใช้งานที่ราบรื่นสำหรับผู้ใช้: ผู้ใช้สามารถกู้คืนบัญชีแอปได้โดยไม่ต้องลงชื่อเข้าใช้แต่ละแอปด้วยตนเอง
- การมีส่วนร่วมของผู้ใช้เพิ่มขึ้น: ผู้ใช้มีแนวโน้มที่จะใช้แอปต่อไปหากสามารถกู้คืนบัญชีเมื่อตั้งค่าอุปกรณ์ใหม่
- ลดความพยายามในการพัฒนา: ฟีเจอร์กู้คืนข้อมูลเข้าสู่ระบบผสานรวมกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบแล้ว นักพัฒนาซอฟต์แวร์ที่รองรับพาสคีย์อยู่แล้วจึงเพิ่มความสามารถในการกู้คืนข้อมูลเข้าสู่ระบบได้
วิธีการทำงาน
คุณสามารถใช้การกู้คืนข้อมูลเข้าสู่ระบบเพื่อสร้าง รับ และล้างข้อมูลที่เกี่ยวข้อง ข้อมูลเข้าสู่ระบบ
- สร้างข้อมูลเข้าสู่ระบบสำหรับการกู้คืน: เมื่อผู้ใช้ลงชื่อเข้าใช้แอป ให้สร้างข้อมูลเข้าสู่ระบบสำหรับการกู้คืนที่เชื่อมโยงกับบัญชีของผู้ใช้ เก็บข้อมูลเข้าสู่ระบบนี้ไว้ ภายในเครื่องและซิงค์กับระบบคลาวด์ ถ้าผู้ใช้ได้เปิดใช้การสำรองข้อมูล Google และปลายทาง การเข้ารหัสถึงปลายทางพร้อมใช้งานแล้ว (แอปสามารถเลือกไม่ใช้การซิงค์กับระบบคลาวด์)
- รับข้อมูลเข้าสู่ระบบสำหรับการกู้คืน: เมื่อผู้ใช้ตั้งค่าอุปกรณ์ใหม่ แอปของคุณจะขอข้อมูลเข้าสู่ระบบสำหรับการกู้คืนจากตัวจัดการข้อมูลเข้าสู่ระบบได้ ซึ่งจะช่วยให้คุณลงชื่อเข้าใช้ผู้ใช้โดยอัตโนมัติได้โดยไม่ต้องป้อนข้อมูลใดๆ เพิ่มเติม
- ล้างข้อมูลเข้าสู่ระบบคืนค่า: เมื่อผู้ใช้ออกจากระบบแอป ควรลบการคืนค่าข้อมูลเข้าสู่ระบบที่เชื่อมโยง
ฟีเจอร์กู้คืนข้อมูลเข้าสู่ระบบผสานรวมกับระบบแบ็กเอนด์ที่ใช้พาสคีย์อยู่แล้วได้อย่างราบรื่น ความเข้ากันได้นี้ เกิดจาก ว่าทั้งพาสคีย์และคีย์คืนค่า (ประเภทข้อมูลเข้าสู่ระบบที่ใช้โดย ฟีเจอร์คืนค่าข้อมูลเข้าสู่ระบบ) เป็นไปตามข้อกำหนดทางเทคนิคพื้นฐานเดียวกัน การปรับแนวนี้ช่วยให้มั่นใจได้ว่ากระบวนการกู้คืนข้อมูลเข้าสู่ระบบจะดึงข้อมูลและคืนค่าข้อมูลเข้าสู่ระบบของผู้ใช้ที่จัดเก็บไว้ในระบบที่เปิดใช้พาสคีย์ได้อย่างมีประสิทธิภาพ ซึ่งมอบประสบการณ์การใช้งานที่สอดคล้องกันและใช้งานง่ายในแพลตฟอร์มและวิธีการตรวจสอบสิทธิ์ต่างๆ
การใช้งาน
Restore Credentials API ใช้งานได้ผ่าน Jetpack เครื่องมือจัดการข้อมูลเข้าสู่ระบบ คลัง หากต้องการเริ่มต้นใช้งาน ให้ทำตามขั้นตอนต่อไปนี้
เพิ่มทรัพยากร Dependency ของเครื่องมือจัดการข้อมูลเข้าสู่ระบบไปยังโปรเจ็กต์ของคุณ
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-alpha03")
สร้างออบเจ็กต์
CreateRestoreCredentialRequest
เรียกใช้เมธอด
createCredential()
ในออบเจ็กต์CredentialManager
val credentialManager = CredentialManager.create(context) // On a successful authentication create a Restore Key // Pass in the context and CreateRestoreCredentialRequest object val response = credentialManager.createCredential(context, createRestoreRequest)
ข้อมูลเข้าสู่ระบบในการกู้คืนที่สร้างขึ้นนี้เป็นพาสคีย์ประเภทหนึ่งและ เป็นพาสคีย์การกู้คืนหรือคีย์การกู้คืน
เมื่อผู้ใช้ตั้งค่าอุปกรณ์ใหม่ ให้เรียกใช้เมธอด
getCredential()
ในออบเจ็กต์CredentialManager
// Fetch the Authentication JSON from server val authenticationJson = ... // Create the GetRestoreCredentialRequest object val options = GetRestoreCredentialOption(authenticationJson) val getRequest = GetCredentialRequest(Immutablelist.of(options)) // The restore key can be fetched in two scenarios to // 1. On the first launch of app on the device, fetch the Restore Key // 2. In the onRestore callback (if the app implements the Backup Agent) val response = credentialManager.getCredential(context, getRequest)
เมื่อผู้ใช้ออกจากระบบแอป ให้เรียกใช้
clearCredentialState()
วิธีในออบเจ็กต์CredentialManager
// Create a ClearCredentialStateRequest object val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL) // On user log-out, clear the restore key val response = credentialManager.clearCredentialState(clearRequest)
หากคุณใช้เอเจนต์สำรอง ให้ดำเนินการส่วน getCredential
ภายใน
onRestore
Callback วิธีนี้ช่วยให้มั่นใจได้ว่าระบบจะกู้คืนข้อมูลเข้าสู่ระบบของแอปทันทีหลังจากกู้คืนข้อมูลแอป