Google מחויבת לקידום הון גזעני לקהילות שחורות. תראה איך.

חנות בלוק

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

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

היתרונות בשימוש ב- Block Store כוללים את הדברים הבאים:

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

לפני שאתה מתחיל

הגדר את האפליקציה שלך

  1. בפרויקט ברמה שלך build.gradle הקובץ, כולל מאגר מייבן של גוגל היא שלך buildscript ו allprojects סעיפים:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. מוסיפים את התלות של API חנות בלוק בקובץ Gradle ברמת היישום של מודול שלך, שהוא בדרך כלל app/build.gradle :

    dependencies {
      implementation 'com.google.android.gms:play-services-auth-blockstore:16.0.2'
    }
    

איך זה עובד

כאשר משתמש נכנס לאפליקציה שלך, תוכל לשמור את אסימון האימות שאתה יוצר עבור אותו משתמש לחסום חנות. הדבר נעשה על ידי קורא setBytes() על מופע של StoreBytesData.Builder לאחסן את הכניסה של המשתמש אל המכשיר למקור. לאחר שמירת האסימון ב- Block Store, האסימון מוצפן ומאוחסן באופן מקומי במכשיר.

קטע הקוד הבא מראה כיצד לשמור את אסימון האימות:

val client = Blockstore.getClient(this)
val data = StoreBytesData.Builder()
        .setBytes(/* BYTE_ARRAY */)
        .build()
client.storeBytes(data)
        .addOnSuccessListener{ result ->
            Log.d(TAG, "Stored: ${result.getBytesStored()}")
        }

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

val client = Blockstore.getClient(this)
client.retrieveBytes()
        .addOnSuccessListener { result ->
            Log.d(TAG, "Retrieved: ${String(result)}")
}