Blok Mağaza

Birçok kullanıcı, yeni bir Android cihazı kurarken hala kendi kimlik bilgilerini yönetir. Bu manuel süreç zorlu hale gelebilir ve genellikle kötü bir kullanıcı deneyimiyle sonuçlanır. Blok Mağaza API tarafından desteklenen bir kütüphane Google Play hizmetleriyle , bakışlar uygulamalar kullanıcı şifreleri kaydedilmesiyle ilişkili karmaşıklığı veya güvenlik riski olmadan kullanıcı kimlik bilgilerini kaydetmek için bir yol sağlayarak bu çözmek için.

Block Store API, uygulamanızın, kullanıcıları yeni bir cihazda yeniden doğrulamak için daha sonra alabileceği kullanıcı kimlik bilgilerini depolamasına olanak tanır. Bu, uygulamanızı yeni cihazda ilk kez başlatırken bir oturum açma ekranı görmeleri gerekmediğinden, kullanıcı için daha sorunsuz bir deneyim sağlamaya yardımcı olur.

Block Store kullanmanın faydaları aşağıdakileri içerir:

  • Geliştiriciler için şifreli kimlik bilgileri depolama çözümü. Kimlik bilgileri, mümkün olduğunda uçtan uca şifrelenir.
  • Kullanıcı adları ve şifreler yerine belirteçleri kaydedin.
  • Oturum açma akışlarından kaynaklanan sürtünmeyi ortadan kaldırın.
  • Kullanıcıları karmaşık parolaları yönetme yükünden kurtarın.
  • Google, kullanıcının kimliğini doğrular.

Sen başlamadan önce

Uygulamanızı yapılandırın

  1. Projeniz düzeyi olarak build.gradle dosyası içerir Google'ın Maven depo senin hem de buildscript ve allprojects bölümler:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. Genellikle sizin modülün uygulama düzeyinde Gradle dosyasına Blok Mağaza API için bağımlılıkları ekleyin app/build.gradle :

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

Nasıl çalışır

Bir kullanıcı uygulamanızda oturum açtığında, o kullanıcı için oluşturduğunuz kimlik doğrulama jetonunu Block Store'a kaydedebilirsiniz. Bu çağırarak yapılır setBytes() örneğinde StoreBytesData.Builder kaynak cihazına kullanıcının kimlik bilgilerini saklamak için. Belirteci Block Store ile kaydettikten sonra belirteç şifrelenir ve cihazda yerel olarak depolanır.

Aşağıdaki kod parçacığı, kimlik doğrulama belirtecinin nasıl kaydedileceğini gösterir:

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

Daha sonra, bir kullanıcı yeni bir cihazda cihazdan cihaza geri yükleme akışından geçtiğinde, Google Play hizmetleri önce kullanıcıyı doğrular, ardından Block Store verilerinizi alır. Kullanıcı, geri yükleme akışının bir parçası olarak uygulama verilerinizi geri yüklemeyi zaten kabul etti, bu nedenle ek onay gerekmez. Kullanıcı uygulamanızı açıldığında, arayarak Blok Store'dan jetonunuzu talep edebilir retrieveBytes() . Alınan belirteç daha sonra kullanıcının yeni cihazda oturum açmasını sağlamak için kullanılabilir.

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