İ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
Projenizi Google Cloud konsolu.
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:
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.
Test kullanıcısının yüklemesi için yeni kullanıma sunulan derlemeleri kontrol eder.
Test kullanıcısını güncellemeye teşvik eden önceden oluşturulmuş bir uyarı görüntüler.
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 bironProgressUpdate
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