Test kullanıcılarını yeni derlemelerle ilgili bilgilendirme

İsteğe bağlı Firebase App Distribution iOS ve Android SDK'ları, uygulamanızın yeni sürümleri kullanıma sunulduğunda test kullanıcılarınıza gönderilen uygulama içi uyarıları teşekkür ederiz. Bu kılavuzda, App Distribution iOS ve Android SDK'larının nasıl kullanılacağı açıklanmaktadır. kullanın.

Başlamadan önce

Henüz yapmadıysanız Firebase'i Android projenize ekleyin.

1. Adım: App Distribution Tester API'yi etkinleştirin

  1. Projenizi Google Cloud konsolunuza giriş yapın.

  2. Firebase App Testers API'nin altında Etkinleştir'i tıklayın.

2. Adım: Uygulamanıza App Distribution'ı ekleyin

App Distribution Android SDK'sı iki kitaplıktan oluşur:

  • firebase-appdistribution-api - Ekleyebileceğiniz yalnızca API kitaplığı tüm derleme varyantlarında.
  • firebase-appdistribution: Tam SDK uygulaması (isteğe bağlı).
ziyaret edin.

Yalnızca API kitaplığı, kodunuzun SDK'ya çağrı yapmasını sağlar. Görüşmelerde Tam SDK uygulaması mevcut değilse herhangi bir etkisi olmaz.

App Distribution Android SDK'sına ilişkin bağımlılığı modülünüzde bildirin (uygulama düzeyinde) Gradle dosyası (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle). SDK'nın tamamını eklemekten kaçınmak için uygulamanızın kendi kendine güncelleme işlevini kullanabilir. yalnızca API kitaplığı bağımlılığını varyant oluştur. SDK uygulamasının tamamını yalnızca özel olarak tasarlanan varyantlara ekleyin. ön test için kullanıyor.

dependencies {
    // ADD the API-only library to all variants
    implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta13")

    // ADD the full SDK implementation to the "beta" variant only (example)
    betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta13")
}

Kotlin'e özel bir kitaplık modülü mü arıyorsunuz? Şununla başlamak: Ekim 2023 sürümü, Hem Kotlin hem de Java geliştiricileri, (ayrıntılar için bkz. bu girişimle ilgili SSS).

3. Adım: Uygulama içi uyarıları yapılandırın

App Distribution Android SDK'sı, uygulamanızın test kullanıcılarınız için uygulama içi derleme uyarıları:

  • Önceden oluşturulmuş uygulama güncellemesiyle birlikte gelen temel bir uyarı yapılandırması test kullanıcılarına gösterilecek oturum açma iletişim kutularına sahiptir.
  • Kendi kullanıcınızı özelleştirmenize olanak tanıyan gelişmiş bir uyarı yapılandırması kullanır.

App Distribution Android SDK'sını ilk kez kullanıyorsanız bunu Temel Yapılandırma'yı kullanarak yapabilirsiniz.

Temel yapılandırma

Önceden oluşturulmuş etkinleştirme uyarılarını görüntülemek için updateIfNewReleaseAvailable kullanın etkinleştirmemiş test kullanıcılarına da gönderebilir ve yeni bir uyarının kullanılabilir. Bu yöntem çağrıldığında aşağıdaki sırayı uygular:

  1. Bir test kullanıcısının uyarıları etkinleştirip etkinleştirmediğini kontrol eder. Test kullanıcısı henüz etkinleştirmediyse uyarılar, yöntem test kullanıcısından App Distribution'da Google hesaplarına ait.

  2. Test kullanıcısının yüklemesi için yeni kullanıma sunulan derlemeleri kontrol eder.

  3. Test kullanıcısının güncellemesini isteyen önceden oluşturulmuş bir uyarı görüntüler.

  4. Yeni derleme bir Android App Bundle (AAB) ise test kullanıcısını Google Play'e giderek güncelleme işlemini tamamlayın.

    Yeni derleme bir Android uygulaması PacKage (APK) ise SDK yeni derlemeyi arka planda indirir ve test kullanıcısından yüklemesini ister . SDK, indirme ilerleme durumu bildirimleri gönderir NotificationManager kullanarak kullanıcıya gönderin. Kendi ilerleme durumunuzu da ekleyebilirsiniz onProgressUpdate işleyicisi ekleyerek updateIfNewReleaseAvailable Görev.

updateIfNewReleaseAvailable adlı işletmeyi istediğiniz zaman uygulamanızda arayabilirsiniz. Örneğin, örneğin, onResume sırasında updateIfNewReleaseAvailable numaralı telefonu arayabilirsiniz uygulamanın ana işlem yöntemine.

Aşağıdaki örnekte, test kullanıcısının uyarıları etkileyip etkinleştirmediğini kontrol eder yeni bir yapıya erişebilir. Bu koşullar karşılanırsa bir iletişim kutusu gösterilir derleme için hazır olduğunda:

Kotlin+KTX

// Copy and paste this into any part of your app - for example, in your main
// activity's onResume method.
val firebaseAppDistribution = FirebaseAppDistribution.getInstance()
firebaseAppDistribution.updateIfNewReleaseAvailable()
    .addOnProgressListener { updateProgress ->
      // (Optional) Implement custom progress updates in addition to
      // automatic NotificationManager updates.
    }
    .addOnFailureListener { e ->
      // (Optional) Handle errors.
      if (e is FirebaseAppDistributionException) {
        when (e.errorCode) {
          Status.NOT_IMPLEMENTED -> {
            // SDK did nothing. This is expected when building for Play.
          }
          else -> {
            // Handle other errors.
          }
        }
      }
    }

Java

// Copy and paste this into any part of your app - for example, in your main
// activity's onResume method.
FirebaseAppDistribution firebaseAppDistribution = FirebaseAppDistribution.getInstance();
firebaseAppDistribution.updateIfNewReleaseAvailable()
    .addOnProgressListener(updateProgress -> {
      // (Optional) Implement custom progress updates in addition to
      // automatic NotificationManager updates.
    })
    .addOnFailureListener(e -> {
      // (Optional) Handle errors.
      if (e instanceof FirebaseAppDistributionException) {
        switch (((FirebaseAppDistributionException)e).getErrorCode()) {
          case NOT_IMPLEMENTED:
            // SDK did nothing. This is expected when building for Play.
            break;
          default:
            // Handle other errors.
            break;
        }
      }
    });

Gelişmiş yapılandırma

Gelişmiş oturum açma yapılandırması

signInTester ve isTesterSignedIn yöntemleri size şu konularda daha fazla esneklik sağlar: test kullanıcınızın oturum açma deneyimini özelleştirin. Böylece, uygulamanızın görünümü ve tarzıyla daha iyi eşleşir.

Aşağıdaki örnekte, test kullanıcısının App Distribution test kullanıcısı hesabı Bu seçenek, marka bilinci oluşturma yalnızca henüz oturum açmamış test kullanıcıları için oturum açma kullanıcı arayüzü. Şu tarihten sonra: test kullanıcısı oturum açarsa, durumu kontrol etmek için updateIfNewReleaseAvailable test kullanıcısının yeni bir derlemeye erişimi olup olmadığını kontrol eder.

Kotlin+KTX

// Only show sign-in UI if this is the "beta" variant (example).
if (BuildConfig.BUILD_TYPE == "beta" && !firebaseAppDistribution.isTesterSignedIn) {
    // Start your sign-in UI here.
}

// Only check for updates if the tester is already signed in (do not prompt).
if (firebaseAppDistribution.isTesterSignedIn) {
    firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener {
        // Handle failed update.
    }
}

Java

// Only show sign-in UI if this is the "beta" variant (example).
if (BuildConfig.BUILD_TYPE == "beta" && !firebaseAppDistribution.isTesterSignedIn()) {
    // Start your sign-in UI here.
}

// Only check for updates if the tester is already signed in (do not prompt).
if (firebaseAppDistribution.isTesterSignedIn()) {
    firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener( e -> {
        // Handle failed update.
    });
}

Oturum açma kullanıcı arayüzünüzde, test kullanıcısı devam etmeyi seçtiğinde signInTester() numaralı telefonu arayın:

Kotlin+KTX

firebaseAppDistribution.signInTester().addOnSuccessListener {
  // Handle successful sign-in.
}.addOnFailureListener {
  // Handle failed sign-in.
});

Java

firebaseAppDistribution.signInTester().addOnSuccessListener( unused -> {
  // Handle successful sign-in.
}).addOnFailureListener(e -> {
  // Handle failed sign-in.
});

Gelişmiş güncelleme yapılandırması

checkForNewRelease ve updateApp yöntemleri size şu konularda daha fazla esneklik sağlar: güncelleme yapması istendiğinde özel hale getirin. Ayrıca daha iyi yapabilmeleri için güncelleme ve indirme işleminin ilerleme durumunu ve tarzını yansıtması açısından önemlidir.

updateApp işlevinin, indirme işleminin ilerleme durumunu göstermediğini unutmayın. Bunun anlamı şudur: kendi ilerleme göstergenizi NotificationManager, bir tür uygulama içi durum görüntüleme veya başka bir şey bahsedeceğiz.

Aşağıdaki örnekte, yeni bir sürümün mevcut olup olmadığı kontrol edilir ve özel bir kullanıcı arayüzü gösterir. checkForNewRelease ve updateApp numaralı telefonu aramadan önce şunları yapın: test kullanıcısının şunu kullanarak oturum açtığından emin olun: gelişmiş oturum açma yapılandırması ile ilgili daha fazla bilgi edinin.

Kotlin+KTX

firebaseAppDistribution.checkForNewRelease().addOnSuccessListener { release ->
    if (release != null) {
        // New release available. Start your update UI here.
    }
}.addOnFailureListener {
    // Handle failed check for new release. Fails with Status#NOT_IMPLEMENTED
    // if built for Play.
}

Java

firebaseAppDistribution.checkForNewRelease().addOnSuccessListener(release -> {
    if (release != null) {
        // New release available. Start your update UI here.
    }
}).addOnFailureListener(e -> {
    // Handle failed check for new release. Fails with Status#NOT_IMPLEMENTED
    // if built for Play.
});

Test kullanıcısı, güncelleme kullanıcı arayüzünüzden güncelleme işlemine devam etmeyi seçtiğinde updateApp():

Kotlin+KTX

firebaseAppDistribution.updateApp()
    .addOnProgressListener { updateState ->
      // Use updateState to show update progress.
    }

Java

firebaseAppDistribution.updateApp()
    .addOnProgressListener(updateState -> {
      // Use updateState to show update progress.
    });

4. Adım: Uygulamanızı oluşturun ve test edin

Uygulamanızı derleyin ve test etmek için derlemeyi dağıtma test kullanıcılarının kullanımına açmaktır.

Şurayı ziyaret edin: Uygulama Dağıtımıyla İlgili Sorun Giderme kılavuzu aşağıdaki gibi genel sorunlarla ilgili yardım için:

  • Test kullanıcısı uygulama içi uyarıları almıyor
  • Test kullanıcısından Google'da birden fazla kez oturum açması isteniyor