שחזור פרטי הכניסה

התכונה שחזור פרטי הכניסה של מנהל פרטי הכניסה מאפשרת למשתמשים לשחזר את חשבונות האפליקציות שלהם כשהם מגדירים מכשיר חדש. ממשק ה-API הזה נמצא בתצוגה מקדימה למפתחים וזמין בכל המכשירים עם Android מגרסה 9 ואילך ועם Google Play Services (GMS) Core מגרסה 242200000 ואילך. היתרונות של התכונה Restore Credentials כוללים:

  • חוויית משתמש חלקה: המשתמשים יכולים לשחזר את חשבון האפליקציה שלהם בלי להיכנס ידנית לכל אפליקציה בנפרד.
  • הגברת המעורבות של המשתמשים: יש סיכוי גבוה יותר שהמשתמשים ימשיכו להשתמש באפליקציה אם הם יוכלו לשחזר את החשבון שלהם במהלך ההגדרה של מכשיר חדש.
  • צמצום מאמצי הפיתוח: התכונה 'שחזור פרטי כניסה' משולבת עם Credential Manager, כך שמפתחים שכבר תומכים במפתחות גישה יכולים להוסיף יכולות לשחזור פרטי כניסה.

איך זה עובד

אפשר להשתמש ב-Restore Credentials כדי ליצור, לקבל ולמחוק את פרטי הכניסה הרלוונטיים.

  1. יצירת פרטי הכניסה לשחזור: כשהמשתמש נכנס לאפליקציה, יוצרים פרטי כניסה לשחזור שמשויכים לחשבון שלו. פרטי הכניסה האלה מאוחסנים באופן מקומי ומסונכרנים עם הענן אם המשתמש הפעיל את Google Backup והצפנה מקצה לקצה זמינה (אפליקציות יכולות לבטל את ההסכמה לסנכרון עם הענן).
  2. קבלת פרטי הכניסה לשחזור: כשהמשתמש מגדיר מכשיר חדש, האפליקציה יכולה לבקש את פרטי הכניסה לשחזור ממנהל פרטי הכניסה. כך תוכלו להיכנס לחשבון של המשתמש באופן אוטומטי בלי צורך בהזנה נוספת.
  3. ניקוי פרטי הכניסה לשחזור: כשהמשתמש יוצא מהאפליקציה, צריך למחוק את פרטי הכניסה לשחזור המשויכים.

התכונה 'שחזור פרטי הכניסה' יכולה להשתלב בצורה חלקה במערכות לקצה העורפי שכבר הטמיעו מפתחות גישה. התאימות הזו נובעת מהעובדה שגם מפתחות הגישה וגם מפתחות השחזור (סוג פרטי הכניסה שבו נעשה שימוש בתכונה 'שחזור פרטי הכניסה') פועלים לפי אותן מפרטים טכניים בסיסיים. ההתאמה הזו מבטיחה שתהליך שחזור פרטי הכניסה יוכל לאחזר ולשחזר ביעילות את פרטי הכניסה של המשתמשים שמאוחסנים במערכות שתומכות במפתחות גישה, וכך לספק חוויה עקבית ונוחה למשתמש בפלטפורמות ובשיטות אימות שונות.

הגיליון התחתון של מנהל פרטי הכניסה
איור 1. תרשים שמתאר שחזור של נתוני אפליקציה במכשיר חדש באמצעות פרטי כניסה לשחזור, כולל יצירת פרטי הכניסה, הפעלת תהליך השחזור והתחברות אוטומטית של המשתמש

הטמעה

ממשק Restore Credentials API זמין דרך הספרייה של Credential Manager ב-Jetpack. תחילה, מבצעים את הפעולות הבאות:

  1. מוסיפים את התלות ב-Credential Manager לפרויקט.

    // build.gradle.kts
    implementation("androidx.credentials:credentials:1.5.0-alpha03")
    
  2. יוצרים אובייקט CreateRestoreCredentialRequest.

  3. קוראים ל-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)
    

    פרטי הכניסה לשחזור שנוצרים הם סוג של מפתח גישה, שנקרא גם מפתח גישה לשחזור או מפתח שחזור.

  4. כשהמשתמש מגדיר מכשיר חדש, קוראים ל-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)
    
  5. כשהמשתמש יוצא מהאפליקציה, קוראים ל-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. כך מוודאים שפרטי הכניסה של האפליקציה ישוחזרו מיד אחרי שחזור נתוני האפליקציה.