Firebase kullanarak Android projenizi geliştirirken, alışılmadık veya Firebase'e özgü kavramları keşfedebilirsiniz. Bu sayfa, bu soruları yanıtlamayı veya daha fazla bilgi edinmek için sizi kaynaklara yönlendirmeyi amaçlamaktadır.
Bu sayfada ele alınmayan bir konu hakkında sorularınız varsa, çevrimiçi topluluklarımızdan birini ziyaret etmekten çekinmeyin. Ayrıca bu sayfayı düzenli aralıklarla yeni konularla güncelleyeceğiz, bu yüzden öğrenmek istediğiniz konuyu ekleyip eklemediğimizi tekrar kontrol edin!
Android Studio için Firebase Assistant eklentisi
Firebase Assistant, Android uygulamanızı bir Firebase projesine kaydeden ve gerekli Firebase yapılandırma dosyalarını, eklentileri ve bağımlılıkları Android projenize ekleyen bir Android Studio eklentisidir - tümü Android Studio içinden!
Firebase Assistant'ı kullanmak için Android başlarken sayfasındaki talimatları izleyin. Hem Android Studio'nun hem de Firebase Assistant'ın en güncel sürümlerini kullandığınızdan emin olun ( Dosya > Güncellemeleri kontrol et seçeneğine gidin).
Uygulamanıza eklemek için belirli Firebase ürünlerini seçtiğinizde, Firebase Assistant gerekli bağımlılıkları app/build.gradle
dosyanızda otomatik olarak bildirir. Ancak, Firebase Assistant'ın mevcut yeteneklerinin ötesinde olan Firebase özelliklerini kullanmak için bu bağımlılıklarda bazı manuel değişiklikler yapmak isteyebilirsiniz:
Firebase Android BoM'yi kullanmak istiyorsanız, BoM platformunu içe aktarmak için modülünüzdeki (uygulama düzeyi) Gradle dosyanızdaki (genellikle
app/build.gradle
) bağımlılıkları güncelleyin. Ayrıca, sürümleri her bir Firebase kitaplığı bağımlılık satırından kaldırmanız gerekir.Bir Kotlin uzantı kitaplığı kullanmak istiyorsanız, modülünüze (uygulama düzeyi) Gradle dosyanıza (genellikle
app/build.gradle
) eklenen bağımlılık satırını, bunun yerine Firebase kitaplığınınktx
sürümünü kullanacak şekilde değiştirin.
Google hizmetleri — eklenti ve yapılandırma dosyası
Firebase'i Android projenize eklemenin bir parçası olarak, projenize google-services
eklentisini ve bir
yapılandırma dosyasını eklemeniz gerekir.
Firebase'i Android projenize Firebase konsolu , Yönetim REST API'si veya Firebase CLI aracılığıyla eklerseniz, eklentiyi ve yapılandırma dosyasını projenize manuel olarak eklemeniz gerekir. Ancak Firebase Assistant kullanıyorsanız bu görevler kurulum sırasında sizin için otomatik olarak yapılır.
Google hizmetleri eklentisi ve yapılandırma dosyasının birlikte nasıl çalıştığı hakkında bilgi edinmek için Android belgelerini ziyaret edin.
Firebase Android BoM (Malzeme Listesi)
Firebase Android BoM (Malzeme Listesi), yalnızca bir sürüm (BoM sürümü) belirterek tüm Firebase kitaplığı sürümlerinizi yönetmenize olanak tanır.
Uygulamanızda Firebase BoM'yi kullandığınızda, BoM, BoM sürümüyle eşlenen bağımsız kitaplık sürümlerini otomatik olarak çeker. Tüm bireysel kütüphane sürümleri uyumlu olacaktır. Uygulamanızda BoM sürümünü güncellediğinizde, uygulamanızda kullandığınız tüm Firebase kitaplıkları, o BoM sürümüyle eşlenen sürümlere güncellenir.
Hangi Firebase kitaplık sürümlerinin belirli bir BoM sürümüyle eşlendiğini öğrenmek için o BoM sürümünün sürüm notlarına bakın. Bir BoM sürümüyle eşlenen kitaplık sürümlerini başka bir BoM sürümüyle karşılaştırmanız gerekirse, aşağıdaki karşılaştırma widget'ını kullanın.
Gradle'ın BoM platformlarına verdiği destek hakkında daha fazla bilgi edinin.
Modül (uygulama düzeyi) Gradle dosyanızdaki (genellikle app/build.gradle
) bağımlılıkları bildirmek için Firebase Android BoM'yi nasıl kullanacağınız aşağıda açıklanmıştır. BoM'yi kullanırken, bağımlılık satırlarında bağımsız kitaplık sürümleri belirtmezsiniz.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependencies for the desired Firebase products without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Firebase Android BoM'yi kullanma hakkında bazı sık sorulan sorular:
BoM'de belirtilen bir kitaplık sürümünün nasıl geçersiz kılınacağı aşağıda açıklanmıştır:
BoM platformunu içe aktarmak için hattı koruyun.
Kitaplığın bağımlılık satırında istediğiniz kitaplık sürümünü belirtin. Örneğin, BoM'de hangi sürüm belirlenmiş olursa olsun, Uygulama Dizine Ekleme'nin v18.0.0 sürümünü kullanmak, ancak Kimlik Doğrulama ve Cloud Firestore için BoM'nin sürümlerini kullanmak istiyorsanız, bağımlılıkları nasıl bildireceğiniz aşağıda açıklanmıştır:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Hayır. Uygulamanıza Firebase kitaplıkları eklemek ve kullanmak için, modül (uygulama düzeyi) Gradle dosyanızda (genellikle app/build.gradle
) her kitaplığı ayrı bir bağımlılık satırı olarak bildirmeniz gerekir.
BoM'yi kullanmak, uygulamanızdaki tüm Firebase kitaplıklarının sürümlerinin uyumlu olmasını sağlar, ancak BoM aslında bu Firebase kitaplıklarını uygulamanıza eklemez .
Evet! Belirli Firebase kitaplığı bağımlılık satırlarınızı bildirdiğinizde, KTX kitaplığı adını şu şekilde kullanmanız yeterlidir:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Hayır. Firebase Android BoM, yalnızca Firebase kitaplıkları için kitaplık sürümlerini yönetir. Tek istisna, Firebase uygulamalarında çok yaygın olarak kullanıldığından Google Mobile Ads SDK'sının dahil edilmesidir.
Her bir Firebase kitaplığı bağımsız olarak sürümlendirilmiş olsa da, her kitaplığın en son sürümünün diğerleriyle uyumlu olmasını sağlamak için birlikte oluşturulurlar.
Uygulamanızın Firebase kitaplık sürümlerini yönetmek için BoM'yi kullanarak, bir Firebase kitaplığının hangi sürümünün başka bir Firebase kitaplığıyla uyumlu olduğunu izlemeniz gerekmez.
Şu anda uygulamanızda yalnızca bir Firebase kitaplığı kullansanız bile, BoM'yi kullanmanızı öneririz çünkü ne zaman başka bir Firebase kitaplığı kullanmak isteyebileceğinizi asla bilemezsiniz!
Evet, BoM'yi hala kullanabilirsiniz! Gradle 5.0 ve sonraki sürümleri için BoM desteği otomatik olarak etkinleştirilir. Ancak, Gradle'ın önceki sürümleri için, BoM özelliğini etkinleştirmeniz ve BoM'yi biraz farklı bir şekilde içe aktarmanız yeterlidir.
settings.gradle
dosyanızaenableFeaturePreview('IMPROVED_POM_SUPPORT')
ekleyin.Modülünüze (app-level) Gradle dosyanıza (genellikle
app/build.gradle
), BoM'yi normal bir kitaplık gibi (platform
değiştirici olmadan) içe aktarın:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:30.1.0' // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
GitHub'da Firebase Android SDK deposunu ziyaret edin.
Firebase BoM sürümlerini karşılaştırın
Kotlin uzantıları (KTX) kitaplıkları
Firebase Kotlin uzantıları (KTX) kitaplıkları, güzel ve deyimsel Kotlin kodu yazmanıza olanak tanıyan temel Firebase SDK'larının küçük yoldaşlarıdır.
Uygulamanızda bir KTX kitaplığı kullanmak için bağımlılığınızı -ktx
son ekini içerecek şekilde değiştirin. Her KTX kitaplığının otomatik olarak temel kitaplığa bir bağımlılığı vardır, bu nedenle uygulamanıza her iki bağımlılığı da eklemenize gerek yoktur.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:30.1.0')// Declare the base library implementation 'com.google.firebase:firebase-analytics'// Declare the KTX library instead (which automatically has a dependency on the base library) implementation 'com.google.firebase:firebase-analytics-ktx' }
Her KTX kitaplığı, temel kitaplığın farklı sözdizimsel uzantılarını sağlar. Örneğin, Analytics KTX kitaplığı, olayları günlüğe kaydetmeyi kolaylaştırır:
Önce (temel kitaplığı kullanarak)
val analytics = FirebaseAnalytics.getInstance(); val bundle = Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);
Sonra (bunun yerine KTX kitaplığını kullanarak)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, id) param(FirebaseAnalytics.Param.ITEM_NAME, name) param(FirebaseAnalytics.Param.CONTENT_TYPE, "image") }
Firebase ML ve App Indexing dışında tüm Firebase ürünleri bir KTX kitaplığı sunar.
Henüz yapmadıysanız, KTX kitaplıkları için API referans belgelerine bakın.
Özellik modülleri ve Play Özellik Teslimatı
Mayıs 2021'den itibaren (Firebase BoM v28.0.0), Firebase Android SDK'ları, temel uygulama modülünüzden ayrı olarak kurulan dinamik özellik modüllerinde kullanılabilir.
Dinamik özellik modülleri desteğini etkinleştirmek için temel modülünüzün build.gradle
dosyasına aşağıdaki bağımlılığı ekleyin:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}
Artık dinamik modül desteği eklediğinize göre, uygulamanızın modüllerini öne çıkarmak için Firebase SDK bağımlılıkları (Firebase BoM ile veya olmadan) ekleyebilir ve bunları normalde yaptığınız gibi kullanabilirsiniz.
Örneğin, uygulamanız belirli bir gerçek zamanlı özelliği desteklemek için Gerçek Zamanlı Veritabanını kullanıyorsa, temel modül yerine özellik modülünün build.gradle
firebase-database
bağımlılığını ekleyebilirsiniz. Bu, çoğu kullanıcı için indirme boyutunu azaltacaktır.
Özellik modüllerinde Firebase SDK'larını kullanırken aşağıdaki uyarılara dikkat edin:
Analytics
first_open
etkinliğine dayanan Dynamic Links veya Firebase Uygulama İçi Mesajlaşma gibi ürünler, bir dinamik özellik modülünde kullanıldığında bu etkinliği kaçırabilir.Cloud Firestore ve Authentication'ı birlikte kullanırken, ikisini de her zaman aynı modüle dahil etmelisiniz. Bu mümkün değilse Kimlik Doğrulamanın Cloud Firestore'dan önce yüklendiğinden emin olun; aksi takdirde, bazı Cloud Firestore işlemlerinde yanlış bir kimlik doğrulama durumu olabilir.
firebase-crashlytics-ndk
bir dinamik özellik modülünün bağımlılığı olarak kullanırken, uygulamanızınbuild.gradle
dosyasındakiunstrippedNativeLibsDir
özelliğini Crashlytics NDK belgelerinde açıklandığı gibi ayarlamanız gerekir.
Özellik modülleri ve Play Özellik Teslimi hakkında daha fazla bilgi için, Play Özellik Teslimine Genel Bakış sayfasını ziyaret edin.
Google hizmetleri Gradle eklentisi vs Google Play hizmetleri vs Google Play Store
Google, Firebase ve Android ekosisteminin birkaç parçası benzer adlandırma kurallarına sahiptir. İşte her biri için kısa bir açıklama:
- Google hizmetleri Gradle eklentisi
- Uygulamanızın Firebase ve Google API'lerine erişmek için doğru yapılandırmaya sahip olduğundan emin olmak için derleme zamanında çalışan bir Gradle eklentisi (
com.google.gms.google-services
) - Adına rağmen, bu eklentinin Google Play hizmetleriyle hiçbir ilişkisi yoktur (sonraki girişe bakın) ve çalışma zamanında uygulamanızın yetenekleri üzerinde hiçbir etkisi yoktur.
- Bu eklenti, Firebase kurulumunun bir parçası olarak uygulamanıza eklediğiniz
google-services.json
dosyasını da işler. Google hizmetleri Gradle eklentisi hakkında daha fazla bilgi edinin. - Google Play hizmetleri
- Bir Android cihazda çalışan ve cihazdaki uygulamalara birkaç yaygın Google API'si (Google Haritalar ve Google Oturum Açma gibi) sağlayan görünmez bir arka plan hizmeti
- Bu ortak API'leri tek bir hizmette merkezileştirerek, diğer uygulamaların boyutunu küçültür ve bir cihazın işletim sistemi güncellemesi olmadan otomatik güvenlik güncellemeleri ve özellik geliştirmeleri almasına olanak tanır. Google Play hizmetleri hakkında daha fazla bilgi edinin.
- Google Oyun mağazası
- Bir Android cihaza uygulama, film, kitap ve daha fazlasını indirmek için bir mağaza
- Bir geliştirici olarak, uygulamanızın dağıtımını, sürümlerini vb. Google Play Console aracılığıyla yönetirsiniz. Bir cihazda Google Play Store varsa, aynı zamanda Google Play hizmetlerini de çalıştırıyor demektir (önceki girişe bakın). Geliştiriciler için Google Play Store hakkında daha fazla bilgi edinin.
- Google Play Oyunlar hizmetleri
- Mobil oyun geliştiricileri için bir dizi API
- Google Play Oyunlar hizmetleri ve Firebase'i Google Play Oyunlar hizmetleri projenizle nasıl entegre edeceğiniz hakkında daha fazla bilgi edinin.
Firebase Android SDK'ları için açık kaynak kaynakları
Firebase, açık kaynak geliştirmeyi destekler ve topluluk katkılarını ve geri bildirimlerini teşvik ederiz.
Firebase Android SDK'ları
Çoğu Firebase Android SDK'sı, genel Firebase GitHub depomuzda açık kaynak kitaplıkları olarak geliştirilmiştir. Kalan özel olarak geliştirilmiş Firebase kitaplıklarını yakında genel GitHub'ımıza taşımak için aktif olarak çalışıyoruz!
Hızlı başlangıç örnekleri
Firebase, Android'deki çoğu Firebase API'si için bir hızlı başlangıç örnekleri koleksiyonu bulundurur. Bu hızlı başlangıçları genel Firebase GitHub hızlı başlangıç depomuzda bulun.
Her hızlı başlangıcı bir Android Studio projesi olarak açabilir, ardından bunları bir mobil cihazda veya sanal bir cihazda (AVD) çalıştırabilirsiniz. Veya bu hızlı başlangıçları, Firebase SDK'larını kullanmak için örnek kod olarak kullanabilirsiniz.
Diğer ilgi konuları
- Firebase Android SDK'larının Google Play hizmetlerindeki bağımlılıkları
- Firebase uygulamanızı Google Play'e bağlayın
- Play Oyunlar hizmetleri projenizle entegre edin