İsteğe bağlı Firebase Uygulama Dağıtımı iOS ve Android SDK'ları, uygulamanızın yeni sürümleri yüklenebilir olduğunda test kullanıcılarınıza uygulama içi uyarılar göstermenizi sağlar. Bu kılavuz, test cihazlarınız için yeni derleme uyarıları oluşturmak ve özelleştirmek için Uygulama Dağıtımı iOS ve Android SDK'larının nasıl kullanılacağını açıklar.
Sen başlamadan önce
Henüz yapmadıysanız, Firebase'i Android projenize ekleyin .
1. Adım : App Distribution Tester API'yi etkinleştirin
Google Cloud Console'da projenizi seçin.
Firebase App Testers API altında, Etkinleştir'i tıklayın.
2. Adım : Uygulamanıza Uygulama Dağıtımı ekleyin
Uygulama Dağıtımı Android SDK'sı iki kitaplıktan oluşur:
-
firebase-appdistribution-api
- Tüm yapı türevlerine ekleyebileceğiniz yalnızca API kitaplığı. -
firebase-appdistribution
- Tam SDK uygulaması (isteğe bağlı).
Yalnızca API kitaplığı, kodunuzun SDK'ya çağrı yapmasına olanak tanır. Tam SDK uygulaması yoksa çağrıların hiçbir etkisi olmaz.
Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts
veya <project>/<app-module>/build.gradle
Uygulama Dağıtımı Android SDK'sının bağımlılığını bildirin ). Tam SDK uygulamasının kendi kendini güncelleme işlevini Play derlemelerinize dahil etmekten kaçınmak için yalnızca API kitaplığı bağımlılığını tüm yapı varyantlarına ekleyin . Tam SDK uygulamasını yalnızca özel olarak yayın öncesi test için tasarlanan değişkenlere ekleyin:
Kotlin+KTX
dependencies {
// ADD the API-only library to all variants
implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta10")
// ADD the full SDK implementation to the "beta" variant only (example)
betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
}
Java
dependencies {
// ADD the API-only library to all variants
implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta10")
// ADD the full SDK implementation to the "beta" variant only (example)
betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
}
3. Adım : Uygulama içi uyarıları yapılandırın
Uygulama Dağıtımı Android SDK'sı, test cihazlarınız için uygulama içi derleme uyarıları ayarlamak için aşağıdaki yolları sağlar:
- Test kullanıcılarına gösterilecek önceden oluşturulmuş uygulama güncellemesi ve oturum açma iletişim kutuları ile birlikte gelen temel bir uyarı yapılandırması.
- Kendi kullanıcı arayüzünüzü özelleştirmenize izin veren gelişmiş bir uyarı yapılandırması.
Uygulama Dağıtımı Android SDK'sını ilk kez kullanıyorsanız Temel Yapılandırmayı kullanmanızı öneririz.
Temel yapılandırma
Uyarıları henüz etkinleştirmemiş olan test kullanıcılarına önceden oluşturulmuş bir uyarıları etkinleştir iletişim kutusunu görüntülemek için updateIfNewReleaseAvailable
kullanın ve ardından yeni bir yapının mevcut olup olmadığını kontrol edin. Yöntem çağrıldığında aşağıdaki sırayı gerçekleştirir:
Bir test cihazının uyarıları etkinleştirip etkinleştirmediğini kontrol eder. Test kullanıcısı uyarıları henüz etkinleştirmediyse, yöntem test cihazından Google hesabıyla App Distribution'da oturum açmasını ister.
Test cihazının yüklemesi için yeni kullanılabilir yapıları kontrol eder.
Test cihazından güncelleme yapmasını isteyen önceden oluşturulmuş bir uyarı görüntüler.
Yeni yapı bir Android App Bundle (AAB) ise, güncelleme işlemini tamamlamak için test kullanıcısını Google Play'e yönlendirir.
Yeni yapı bir Android uygulaması PackKage (APK) ise, SDK yeni yapıyı arka planda indirir ve indirme tamamlandığında test cihazından yüklemesini ister. SDK,
NotificationManager
kullanarak kullanıcıya indirme ilerleme bildirimleri gönderir.updateIfNewReleaseAvailable
Görevine bironProgressUpdate
işleyicisi ekleyerek kendi ilerleme göstergenizi de ekleyebilirsiniz.
updateIfNewReleaseAvailable
uygulamanızın herhangi bir noktasında arayabilirsiniz. Örneğin, uygulamanın ana etkinliğinin onResume
yöntemi sırasında updateIfNewReleaseAvailable
arayabilirsiniz.
Aşağıdaki örnek, test cihazının uyarıları etkinleştirip etkinleştirmediğini ve yeni bir yapıya erişimi olup olmadığını kontrol eder. Bu koşullar karşılanırsa, yapı yüklenmeye hazır olduğunda bir iletişim kutusu görüntülenir:
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, test kullanıcınızın oturum açma deneyimini özelleştirmeniz için size daha fazla esneklik sağlar; böylece test kullanıcısı deneyimi, uygulamanızın görünümü ve izlenimiyle daha iyi eşleşir.
Aşağıdaki örnek, test kullanıcısının App Distribution test kullanıcısı hesabında zaten oturum açıp açmadığını kontrol eder. Bu, 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çmenizi sağlar. Test kullanıcısı oturum açtıktan sonra, test kullanıcısının yeni bir yapıya erişimi olup olmadığını kontrol etmek için updateIfNewReleaseAvailable
arayabilirsiniz.
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.
});
}
Test kullanıcısı devam etmeyi seçtiğinde, oturum açma kullanıcı arabiriminizden signInTester()
çağırı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, test cihazınızdan güncelleme istendiğinde özelleştirmeniz için size daha fazla esneklik sağlar. Ayrıca önceden oluşturulmuş güncelleme iletişim kutusunu ve indirme ilerleme göstergesini özelleştirerek uygulamanızın görünümüne ve tarzına daha iyi uyum sağlamalarını sağlayabilirsiniz.
updateApp
indirme ilerleme göstergesi sağlamadığını unutmayın. Bu, NotificationManager
, bir tür uygulama içi durum ekranı veya başka bir yaklaşım kullanarak kendi ilerleme göstergenizi uygulamanız gerektiği anlamına gelir.
Aşağıdaki örnek, yeni bir sürümün mevcut olup olmadığını kontrol eder ve ardından özel bir kullanıcı arabirimi görüntüler. checkForNewRelease
ve updateApp
çağırmadan önce, test cihazının gelişmiş oturum açma yapılandırmasını kullanarak oturum açtığından emin olun.
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 cihazı, güncelleme kullanıcı arayüzünüzden güncellemeye devam etmeyi seçtiğinde updateApp()
çağırın:
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ı oluşturun ve yapıyı Firebase konsolunu kullanarak test kullanıcılarına dağıtarak uygulamanızı test edin.
Aşağıdakiler gibi yaygın sorunlarla ilgili yardım için Uygulama Dağıtımı Sorun Giderme kılavuzunu ziyaret edin:
- Test cihazı, uygulama içi uyarıları almıyor
- Test Kullanıcısından birden fazla kez Google'da oturum açması isteniyor