1. Genel Bakış
Android uygulamanıza Firebase App Distribution SDK'sını entegre etme konulu codelab'e hoş geldiniz. Bu codelab'de, yeni derlemeler indirilebilir olduğunda test kullanıcılarınıza uygulama içi uyarılar göstermek için uygulamanıza App Distribution Android SDK'sını ekleyeceksiniz. Test kullanıcılarınızın güncellemeleri alabilmesi için hem temel hem de özel yapılandırmayı nasıl kullanacağınızı öğreneceksiniz. Ardından, App Distribution'a yeni bir sürüm gönderir ve doğrudan uygulamada yeni bir derleme uyarısı tetiklersiniz.
Neler öğreneceksiniz?
- Yayın öncesi uygulamaları test kullanıcılarına dağıtmak için App Distribution'ı kullanma
- App Distribution Android SDK'sını uygulamanıza entegre etme
- Yeni bir yayın öncesi derleme yüklenmeye hazır olduğunda test kullanıcılarını uyarma
- SDK'yı test ihtiyaçlarınıza göre özelleştirme
Gerekenler
- En son Android Studio sürümü.
- Örnek kod.
- Android 4.4 veya sonraki sürümlerin yüklü olduğu ve Google Play Hizmetleri 9.8 ya da sonraki sürümlerin bulunduğu bir test cihazı ya da Google Play Hizmetleri 9.8 ya da sonraki sürümlerin bulunduğu bir Emulator.
- Cihaz kullanıyorsanız bağlantı kablosu.
Bu eğitimi nasıl kullanacaksınız?
Android uygulamaları oluşturma deneyiminizi nasıl değerlendirirsiniz?
2. Örnek kodu alın
GitHub deposunu komut satırından klonlayın.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
Git yüklü değilse örnek projeyi GitHub sayfasından veya bu bağlantıyı tıklayarak da indirebilirsiniz.
3. Başlangıç uygulamasını içe aktarma
Android Studio'da örnek kod indirme işleminden codelab-appdistribution-android/start
dizinini ( ) seçin (Dosya > Aç > .../codelab-appdistribution-android/start).
Başlangıç projesi artık Android Studio'da açık olmalıdır.
4. Firebase projesi oluşturma ve ayarlama
Yeni bir Firebase projesi oluşturma
- Google Hesabınızı kullanarak Firebase konsolunda oturum açın.
- Yeni bir proje oluşturmak için düğmeyi tıklayın ve ardından bir proje adı girin (örneğin,
App Distribution Codelab
). - Devam'ı tıklayın.
- İstenirse Firebase şartlarını inceleyip kabul edin ve Devam'ı tıklayın.
- (İsteğe bağlı) Firebase konsolunda yapay zeka yardımını etkinleştirin ("Firebase'de Gemini" olarak adlandırılır).
- Bu codelab için Google Analytics'e ihtiyacınız yoktur. Bu nedenle, Google Analytics seçeneğini devre dışı bırakın.
- Proje oluştur'u tıklayın, projenizin hazırlanmasını bekleyin ve ardından Devam'ı tıklayın.
Firebase'e uygulama ekleme
Uygulamanızı Firebase'e kaydedin. Paket adı olarak "com.google.firebase.appdistributioncodelab"ı kullanın.
Uygulamanıza google-services.json dosyasını ekleme
Paket adını ekleyip Kaydet'i seçtikten sonra google-services.json dosyasını uygulamanıza eklemek için aşağıdaki adımları uygulayın:
- Firebase Android yapılandırma dosyanızı edinmek için Download google-services.json'u (google-services.json dosyasını indir) tıklayın.
- google-services.json dosyasını projenizdeki
app
dizinine kopyalayın. - Dosya indirildikten sonra konsolda gösterilen sonraki adımları atlayabilirsiniz (bu adımlar, build-android-start projesinde sizin için zaten yapılmıştır).
Uygulama kimliğini Firebase uygulamanızla eşleşecek şekilde güncelleyin
- Sol menüde (Proje Sekmesi) "Android " Görünümü'nde olduğunuzdan emin olun, "Gradle Scripts" sekmesini bulun ve modülünüzün (uygulama düzeyinde) Gradle dosyasını (genellikle
app/build.gradle.kts
) açın. applicationId
özelliğini, Firebase uygulamanızın uygulama kimliğiyle eşleşecek şekilde değiştirin. Bu kimlik "com.google.firebase.appdistributioncodelab" olmalıdır.
Projenizi Gradle dosyalarıyla senkronize etme
Tüm bağımlılıkların uygulamanızda kullanılabilmesini sağlamak için Android Studio araç çubuğundan File > Sync Project with Gradle Files'ı (Dosya > Projeyi Gradle Dosyalarıyla Senkronize Et) seçerek projenizi Gradle dosyalarıyla senkronize edin.
5. App Distribution Android SDK ile uygulama içi yeni derleme uyarılarını ayarlama
Bu adımda, Firebase App Distribution Android SDK'sını uygulamanıza ekleyecek ve uygulamanızın yeni derlemeleri yüklenebilir olduğunda test kullanıcılarınıza uygulama içi uyarılar göstereceksiniz. Bunu yapmak için "Firebase Codelab" projeniz için (Google Cloud Console'da) Firebase App Testers API'yi etkinleştirdiğinizden emin olun. Aynı hesapla oturum açmanız ve üstteki açılır menüden doğru projeyi seçmeniz gerekir.
Uygulama içi uyarıları yapılandırma
App Distribution Android SDK'sı, test kullanıcılarınız için uygulama içi derleme uyarıları ayarlamanın iki yolunu sunar:
- Test kullanıcılarına gösterilecek önceden oluşturulmuş bir iletişim kutusu içeren temel uyarı yapılandırması.
- Kullanıcı arayüzünüzü (UI) özelleştirmenize olanak tanıyan gelişmiş bir uyarı yapılandırması.
Temel uyarı yapılandırmasıyla başlayacağız. Henüz uyarıları etkinleştirmemiş test kullanıcılarına önceden oluşturulmuş uyarıları etkinleştir iletişim kutusunu göstermek ve ardından yeni bir derlemenin olup olmadığını kontrol etmek için updateIfNewReleaseAvailable
kullanabilirsiniz. Test kullanıcıları, App Distribution'da uygulamaya erişimi olan bir hesapta oturum açarak uyarıları etkinleştirir. 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. Aksi takdirde, yöntemde test kullanıcılarından Google Hesaplarıyla App Distribution'da oturum açmalarını isteyen önceden oluşturulmuş bir iletişim kutusu gösterilir.
Uyarıları etkinleştirme, test cihazında tek seferlik bir işlemdir ve uygulamanızın güncellemeleri boyunca devam eder. Uyarılar, uygulama kaldırılana veya signOutTester
yöntemi çağrılana kadar test cihazında etkin kalır.
- Test kullanıcısının yükleyebileceği yeni derlemeleri kontrol eder.
- Test kullanıcısından en son sürümü indirmesini isteyen önceden oluşturulmuş bir uyarı gösterir.
- Güncellemeye devam etmeden önce yeni derleme türünü kontrol eder:
- Yeni derleme bir uygulama paketi (AAB) ise test kullanıcısını güncelleme işlemini tamamlaması için Play Store'a yönlendirir.
- Yeni derleme bir APK ise SDK, yeni derlemeyi arka planda indirir ve indirme işlemi tamamlandığında test kullanıcısından yeni derlemeyi yüklemesini ister. SDK,
NotificationManager.
kullanarak kullanıcıya indirme ilerleme durumu bildirimleri gönderir.updateIfNewReleaseAvailable
Görevine bironProgressUpdate
işleyici ekleyerek kendi ilerleme durumu göstergenizi ekleyebilirsiniz.
Uygulamanızın herhangi bir noktasında updateIfNewReleaseAvailable()
yöntemini çağırabilirsiniz. Örneğin, MainActivity'nin onResume()
yöntemi sırasında updateIfNewReleaseAvailable()
yöntemini çağırabilirsiniz:
MainActivity.kt dosyasını açın ve onResume()
yöntemini aşağıdaki gibi oluşturun:
MainActivity.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
Şimdi checkForUpdate()
yöntemini uygulayalım.
MainActivity.kt
private fun checkForUpdate() {
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Handle exception.
}
}
}
6. Uygulamanızı oluşturma ve test kullanıcılarını uygulamayı indirmeye davet etme
Bu adımda, Firebase konsolunu kullanarak derlemeyi test kullanıcılarına dağıtarak uygulamanızı oluşturup uygulamanızı test edersiniz.
Uygulamanızı geliştirme
Uygulamanızın yayın öncesi sürümünü test kullanıcılarına dağıtmaya hazır olduğunuzda APK'nızı normal sürecinizi kullanarak oluşturun. APK'yı hata ayıklama anahtarınız veya uygulama imzalama anahtarınızla imzalamanız gerekir.
Uygulamanızı test kullanıcılarına dağıtma
Uygulamanızı test kullanıcılarına dağıtmak için APK dosyasını Firebase konsolunu kullanarak yükleyin:
- Firebase konsolunun App Distribution sayfasını açın. İstendiğinde Firebase projenizi seçin.
- Yayınlar sayfasında, açılır menüden dağıtmak istediğiniz uygulamayı seçin.
- Başlayın'ı tıklayın.
- Uygulamanızın APK dosyasını yüklemek için konsola sürükleyin.
- Yükleme tamamlandığında, derlemeyi almasını istediğiniz test kullanıcısı gruplarını ve test kullanıcılarını belirtin. (Daveti almak için e-postanızı ekleyin.) Ardından, derleme için sürüm notları ekleyin. Test kullanıcısı grupları oluşturma hakkında daha fazla bilgi edinmek için Test kullanıcısı ekleme ve kaldırma başlıklı makaleyi inceleyin.
- Derlemeyi test kullanıcılarının kullanımına sunmak için Dağıt'ı tıklayın.
Firebase konsolunda, uygulamanızın sürümüne eklediğiniz test kullanıcılarını görebilirsiniz.
E-posta adresinizi eklediğiniz için Firebase App Distribution'dan uygulamayı test etmeye davet eden bir e-posta alırsınız. Artık ilk test kullanıcısı oldunuz. Test cihazınızda test kullanıcısı olarak ayarlanmak için Daveti kabul etme bölümündeki talimatları uygulayın.
Daveti kabul etme
Yayın sürümünü indirip test etmek için önce daveti kabul etmeniz gerekir.
- Android test cihazınızda, Firebase App Distribution'dan gönderilen e-postayı açıp Başlayın'a dokunun.
- Görünen Firebase App Distribution test kullanıcısı web uygulamasında Google Hesabınızla oturum açın ve Daveti kabul et'e dokunun. Artık test etmeye davet edildiğiniz sürümü görebilirsiniz.
Yayın dosyasını test cihazından indirme
AppDistribution codelab uygulamasına gittiğinizde sürümün indirilmeye hazır olduğunu görebilirsiniz.
- İndir'e dokunun, ardından uygulamayı yükleyip çalıştırın.
- Uygulama başladığında yeni derleme uyarılarını etkinleştirmeniz istenir. Etkinleştir'e dokunun.
- Test kullanıcısı hesabınızla oturum açın.
Uygulamaya geri dönersiniz. Uygulamayı bir sonraki çalıştırışınızda oturum açmanız veya uyarıları kabul etmeniz gerekmez.
Test kullanıcılarınıza güncelleme dağıtma
- Modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle app/build.gradle) versionName'i "1.1", versionCode'u ise 2 olarak güncelleyin.
- Normal sürecinizi kullanarak APK'nızı oluşturun. APK'yı hata ayıklama anahtarınız veya uygulama imzalama anahtarınızla imzalamanız gerekir.
- Bu yeni APK'yı Firebase konsolunuza yükleyin, e-posta adresinizi tekrar test kullanıcısı olarak ekleyin ve Dağıt'ı tıklayın.
Test derleme uyarıları
- Açıksa uygulamayı kapattığınızdan emin olun.
- Uygulamayı yeniden başlatın.
- Uygulama yeniden başlatıldığında "Yeni Sürüm Kullanılabilir" uyarısı alırsınız.
- En yeni sürümü almak için Güncelle'yi tıklayın.
- İstenirse bilinmeyen kaynaklardan yüklemeleri etkinleştirme seçeneğini belirleyin.
- Sonraki ekranda Yükle'yi (veya Güncelle'yi) tıklayın.
- Tebrikler! Yerleşik uyarıları kullanarak uygulamanızı güncelleyebildiniz.
7. Test kullanıcılarının oturum açma deneyimini özelleştirme
signInTester/signOutTester ve isTesterSignedIn yöntemleri, test kullanıcınızın oturum açma deneyimini özelleştirme konusunda daha fazla esneklik sunar. Böylece, test kullanıcınızın oturum açma deneyimi uygulamanızın görünümü ve tarzıyla daha iyi eşleşebilir.
Aşağıdaki örnekte, test kullanıcısının Firebase App Distribution test kullanıcısı hesabında oturum açıp açmadığı kontrol edilir. Böylece, oturum açmamış test kullanıcılarına oturum açma kullanıcı arayüzünüzü göstermeyi seçebilirsiniz. Test kullanıcısı oturum açtıktan sonra, test kullanıcısının yeni bir derlemeye erişimi olup olmadığını kontrol etmek için checkForUpdate'i çağırabilirsiniz.
checkForUpdate() çağrısını yorum satırı yaparak onResume içinde güncellemelerin otomatik olarak kontrol edilmesini devre dışı bırakalım.
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
Bunun yerine, checkForUpdate(), updatebutton'ın OnClickListener'ına zaten eklenmiştir.
Şimdi, kullanıcı oturum açmamışsa oturum açmasını, oturum açmışsa oturumunu kapatmasını sağlayacak signIn() yöntemimizi uygulayalım.
MainActivity.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
Son olarak isTesterSignedIn yöntemini uygulayalım.
MainActivity.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
Uygulamanızı oluşturma ve test etme
8. Tebrikler!
Firebase App Distribution Android SDK'sını kullanarak bir uygulamaya "uygulama içi uyarı görüntüleme" özelliğini eklemiş olmanız gerekir.
İşlediğimiz konular
- Firebase App Distribution
- Firebase App Distribution New Alerts Android SDK
Sonraki adımlar
Daha Fazla Bilgi
Sorunuz mu var?
Sorunları Bildirme