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

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

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

איך זה עובד

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