התכונה שחזור פרטי הכניסה של מנהל פרטי הכניסה מאפשרת למשתמשים לשחזר את חשבונות האפליקציות שלהם כשהם מגדירים מכשיר חדש. ממשק ה-API הזה נמצא בתצוגה מקדימה למפתחים וזמין בכל המכשירים עם Android מגרסה 9 ואילך ועם Google Play Services (GMS) Core מגרסה 242200000 ואילך. היתרונות של התכונה Restore Credentials כוללים:
- חוויית משתמש חלקה: המשתמשים יכולים לשחזר את חשבון האפליקציה שלהם בלי להיכנס ידנית לכל אפליקציה בנפרד.
- הגברת המעורבות של המשתמשים: יש סיכוי גבוה יותר שהמשתמשים ימשיכו להשתמש באפליקציה אם הם יוכלו לשחזר את החשבון שלהם במהלך ההגדרה של מכשיר חדש.
- צמצום מאמצי הפיתוח: התכונה 'שחזור פרטי כניסה' משולבת עם Credential Manager, כך שמפתחים שכבר תומכים במפתחות גישה יכולים להוסיף יכולות לשחזור פרטי כניסה.
איך זה עובד
אפשר להשתמש ב-Restore Credentials כדי ליצור, לקבל ולמחוק את פרטי הכניסה הרלוונטיים.
- יצירת פרטי הכניסה לשחזור: כשהמשתמש נכנס לאפליקציה, יוצרים פרטי כניסה לשחזור שמשויכים לחשבון שלו. פרטי הכניסה האלה מאוחסנים באופן מקומי ומסונכרנים עם הענן אם המשתמש הפעיל את Google Backup והצפנה מקצה לקצה זמינה (אפליקציות יכולות לבטל את ההסכמה לסנכרון עם הענן).
- קבלת פרטי הכניסה לשחזור: כשהמשתמש מגדיר מכשיר חדש, האפליקציה יכולה לבקש את פרטי הכניסה לשחזור ממנהל פרטי הכניסה. כך תוכלו להיכנס לחשבון של המשתמש באופן אוטומטי בלי צורך בהזנה נוספת.
- ניקוי פרטי הכניסה לשחזור: כשהמשתמש יוצא מהאפליקציה, צריך למחוק את פרטי הכניסה לשחזור המשויכים.
התכונה 'שחזור פרטי הכניסה' יכולה להשתלב בצורה חלקה במערכות לקצה העורפי שכבר הטמיעו מפתחות גישה. התאימות הזו נובעת מהעובדה שגם מפתחות הגישה וגם מפתחות השחזור (סוג פרטי הכניסה שבו נעשה שימוש בתכונה 'שחזור פרטי הכניסה') פועלים לפי אותן מפרטים טכניים בסיסיים. ההתאמה הזו מבטיחה שתהליך שחזור פרטי הכניסה יוכל לאחזר ולשחזר ביעילות את פרטי הכניסה של המשתמשים שמאוחסנים במערכות שתומכות במפתחות גישה, וכך לספק חוויה עקבית ונוחה למשתמש בפלטפורמות ובשיטות אימות שונות.
הטמעה
ממשק Restore Credentials API זמין דרך הספרייה של Credential Manager ב-Jetpack. תחילה, מבצעים את הפעולות הבאות:
מוסיפים את התלות ב-Credential Manager לפרויקט.
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-alpha03")
יוצרים אובייקט
CreateRestoreCredentialRequest
.קוראים ל-method
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)
פרטי הכניסה לשחזור שנוצרים הם סוג של מפתח גישה, שנקרא גם מפתח גישה לשחזור או מפתח שחזור.
כשהמשתמש מגדיר מכשיר חדש, קוראים ל-method
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)
כשהמשתמש יוצא מהאפליקציה, קוראים ל-method
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
ב-callback של onRestore
. כך מוודאים שפרטי הכניסה של האפליקציה ישוחזרו מיד אחרי שחזור נתוני האפליקציה.