התכונה שחזור פרטי הכניסה של מנהל פרטי הכניסה מאפשרת למשתמשים לשחזר את חשבונות האפליקציות שלהם כשהם מגדירים מכשיר חדש. ה-API הזה נמצא בתצוגה מקדימה למפתחים זמינה בכל המכשירים שבהם פועלת מערכת Android מגרסה 9 ואילך ואת Google Play Services (GMS) גרסת ליבה 242200000 ומעלה. היתרונות של שחזור פרטי הכניסה כוללת:
- חוויית משתמש חלקה: המשתמשים יכולים לשחזר את חשבון האפליקציה שלהם בלי להיכנס באופן ידני לכל אפליקציה בנפרד.
- הגברת מעורבות המשתמשים: יש סיכוי גבוה יותר שמשתמשים ימשיכו להשתמש האפליקציה אם הם יכולים לשחזר את החשבון שלהם במהלך ההגדרה של מכשיר חדש.
- מאמץ פיתוח מופחת: התכונה 'שחזור פרטי כניסה' משולבת באמצעות 'מנהל פרטי הכניסה', כך שמפתחים שכבר תומכים במפתחות גישה יוכלו להוסיף יכולות שחזור של פרטי כניסה.
איך זה עובד
אפשר להשתמש ב-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)
פרטי הכניסה לשחזור שנוצרים הם סוג של מפתח גישה, שנקרא גם מפתח גישה לשחזור או מפתח שחזור.
כשהמשתמש מגדיר מכשיר חדש, צריך להפעיל את השיטה
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
בתוך הקריאה החוזרת (callback) onRestore
. כך מוודאים שפרטי הכניסה של האפליקציה ישוחזרו מיד אחרי שחזור נתוני האפליקציה.