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österilecek 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 konsolu.

  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ı).

Yalnızca API kitaplığı, kodunuzun SDK'ya çağrı yapmasını sağlar. Tam SDK uygulaması mevcut değilse bu çağrıların hiçbir etkisi olmaz.

modülünüzde App Distribution Android SDK'sına bağımlılığı tanımlayın (uygulama düzeyinde) Gradle dosyası (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) tıklayın. SDK'nın tamamını eklemekten kaçınmak için Play derlemelerinizde uygulamanın kendi kendine güncelleme işlevini kullanabilirsiniz. yalnızca API kitaplığı bağımlılığını derleme varyantları. 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-beta14")

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

Kotlin'e özgü bir kitaplık modülü mü arıyorsunuz? Ekim 2023 sürümünden itibaren hem Kotlin hem de Java geliştiricileri ana kitaplık modülüne güvenebilir (ayrıntılar için bu girişimle ilgili SSS bölümüne bakın).

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

App Distribution Android SDK'sı, test kullanıcılarınız için uygulama içi derleme uyarıları oluşturmanın aşağıdaki yollarını sunar:

  • Ö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 şunları yapmanızı öneririz: Temel Yapılandırma'yı kullanarak.

Temel yapılandırma

Önceden oluşturulmuş etkinleştirme uyarılarını görüntülemek için updateIfNewReleaseAvailable kullanın etkinleştirilmemiş test kullanıcılarına ileti gönderin ve ardından 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 uyarıları etkinleştirmediyse yöntem, test kullanıcısından Google Hesabı ile App Distribution'te oturum açmasını ister.

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

  3. Test kullanıcısını güncellemeye teşvik eden önceden oluşturulmuş bir uyarı görüntüler.

  4. Yeni derleme bir Android App Bundle (AAB) ise test kullanıcısını Güncelleme işlemini tamamlamak için Google Play.

    Yeni derleme bir Android uygulaması PacKage (APK) ise SDK yeni derlemeyi arka planda indirir ve test kullanıcısından yüklemesini ister indirme tamamlandığında. SDK, NotificationManager kullanarak indirme ilerleme durumu bildirimlerini kullanıcıya gönderir. updateIfNewReleaseAvailable Görevine bir onProgressUpdate işleyici ekleyerek kendi ilerleme göstergenizi de ekleyebilirsiniz.

updateIfNewReleaseAvailable işlevini uygulamanızın herhangi bir yerinde çağırabilirsiniz. Örneğin, uygulamanın ana etkinliğindeki onResume yöntemi sırasında updateIfNewReleaseAvailable işlevini çağırabilirsiniz.

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 sayede, oturum açma kullanıcı arayüzünüzü (UI) yalnızca henüz oturum açmamış test kullanıcılarına göstermeyi seçebilirsiniz. Test kullanıcısı oturum açtıktan sonra, test kullanıcısının yeni bir derlemeye erişip erişmediğini kontrol etmek için updateIfNewReleaseAvailable işlevini çağırabilirsiniz.

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, önceden oluşturulmuş güncelleme iletişim kutusunu ve indirme ilerleme göstergesini, uygulamanızın görünümüne ve tarzına daha uygun olacak şekilde özelleştirebilirsiniz.

updateApp, indirme ilerleme durumunu göstermez. 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 olup olmadığı kontrol edilir ve ardından özel bir kullanıcı arayüzü gösterilir. 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ına Firebase konsolunu kullanarak.

Aşağıdakiler gibi sık karşılaşılan sorunlarla ilgili yardım almak için App Distribution Sorun giderme kılavuzu sayfasını ziyaret edin:

  • 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