İ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
Projenizi Google Cloud konsolu.
Firebase App Testers API'nin altında Etkinleştir'i tıklayın.
2. Adım: App Distribution ayarını uygulamanıza 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. Görüşmelerde Tam SDK uygulaması mevcut değilse herhangi 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-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ı, kurulum için aşağıdaki yöntemleri sunar 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 ş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ş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:
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ı görürseniz bu yöntem, test kullanıcısından App Distribution ürününde Google hesaplarına ait.
Test kullanıcısının yüklemesi için yeni kullanıma sunulan derlemeleri kontrol eder.
Test kullanıcısının güncellemesini isteyen ö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 . SDK, indirme ilerleme durumu bildirimleri gönderir
NotificationManager
kullanarak kullanıcıya gönderin. Kendi ilerleme durumunuzu da ekleyebilirsinizonProgressUpdate
işleyicisi ekleyerekupdateIfNewReleaseAvailable
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ına Firebase konsolunu kullanarak.
Şurayı ziyaret edin: App Distribution 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