Firebase ve Google Analytics

Adapty, abonelik olaylarını — satın almalar, yenilemeler, iadeler, deneme başlangıçları — Firebase ve Google Analytics’e iletebilir; böylece tek bir entegrasyon her ikisine de veri sağlar.

Hem bir Firebase projesine hem de bağlı bir Google Analytics özelliğine ihtiyacınız var — yalnızca birini kullansanız bile. Firebase ve Google Analytics, iki farklı konsolda gösterilen aynı veridir.

Satın alma ve iade etkinlikleri; gelir, para birimi ve ürün ayrıntılarıyla birlikte gelir. Aynı veriler hem Firebase’in mobil araçlarını (Audiences, Remote Config vb.) hem de Google Analytics’teki raporlamayı besler.

Bu bir analytics entegrasyonudur, Google Ads attribution aracı değildir — bkz. Sınırlamalar.

Bu entegrasyonla neler yapabilirsiniz

Adapty, kullanıcıları subscription_state (subscribed, active_trial, never_subscribed vb.) değerine göre gruplandırır ve abonelik yaşam döngüsü olaylarını Firebase ile Google Analytics’e iletir.

  • Kitleler: Firebase ve Google Analytics’te abone kitleleri oluşturun — Google Ads yeniden hedefleme, FCM kampanyaları, benzer kitle modellemesi.
  • Google Ads dönüşümleri (Google Analytics): purchase ve refund olaylarını Google Ads dönüşüm hedefi olarak kullanın.
  • Firebase Remote Config: Abonelik durumuna göre koşul tanımlayarak kullanım limitlerini, metinleri veya özellik bayraklarını uygulama güncellemesi gerektirmeden değiştirin. (Flow/paywall içeriğini yapılandıran Adapty Remote Config ile karıştırmayın.)
  • Cloud Messaging: Uygulama kapalıyken pasif abonelere anlık bildirim gönderin.
  • Cihazlar arası takip (Google Analytics): Adapty, Google Analytics’e customer_user_id gönderir; böylece Google Ads aynı kişiyi farklı cihazlarda takip edebilir.
  • Dönüşüm hunileri (Google Analytics): Kullanıcıların dönüşüm gerçekleştirmeden veya uygulamayı bırakmadan önce neler yaptığını görün.
  • Tahminler: Satın alma geçmişini kullanarak kayıp ve harcama tahminleri yapın.
  • A/B Testi: Abone kohortlarında uygulama özelliklerini test edin — örneğin deneme kullanıcılarına yeni bir navigasyon düzeni sunarak oturum uzunluğunu ölçün. (Paywall varyantları için Adapty A/B Testleri’ni kullanın.)

Entegrasyon nasıl çalışır

  1. Bir kullanıcı uygulamanızı ilk kez açtığında, Firebase SDK kurulum için benzersiz bir tanımlayıcı oluşturur — Firebase App Instance ID. Firebase ve Google Analytics, her etkinlikten sorumlu kurulumu tanımlamak için bu kimliği kullanır.
  2. Uygulamanız, Firebase App Instance ID’yi Adapty’nin SDK’sına iletir. Adapty, kullanıcının profilini bu Firebase kurulumuna bağlar.
  3. Kullanıcı bir satın alma işlemi gerçekleştirdiğinde, Adapty’nin sunucuları etkinliği Firebase App Instance ID ile birlikte Firebase’e iletir. Veriler, uygulama dışında sunucular arasında aktarılır.
  4. Firebase, satın almayı ilgili kurulumla eşleştirir; böylece satın almaları kullanıcının uygulamada yaptığı diğer her şeyle birlikte görebilirsiniz.

Firebase App Instance ID cihaza özgüdür. Aynı Adapty kullanıcısı uygulamayı başka bir cihazda açtığında, yeni Firebase ID öncekinin üzerine yazar. Cihazlar arasında kullanıcı kimliğini korumak için customer user ID kullanın.

Stripe satın almaları

Bir Stripe satın alımının Firebase’e ulaşması için alıcının önce mobil uygulamanızı açmış olması gerekir. Firebase App Instance ID, Stripe satın alımı gerçekleşmeden önce ayarlanmış olmalıdır.

App Store ve Play Store satın alımlarında bu işlem otomatik olarak gerçekleşir. Bu satın alımlar, setIntegrationIdentifier çağrısıyla birlikte doğrudan mobil uygulamanızın içinden başlatılır. Bu nedenle satın alım gerçekleştiğinde Firebase ID zaten mevcut olur. Stripe satın almaları uygulama dışında, sunucunuzda gerçekleşir. Mobil uygulamanız başlatılırken — herhangi bir Stripe satın alımı gerçekleşmeden önce — setIntegrationIdentifier çağrısı yapmalıdır. Aksi takdirde Adapty’nin ekleyeceği bir ID olmaz ve Stripe satın alımı hiçbir zaman Firebase’e ulaşmaz.

Sınırlamalar

  • Google Ads attribution aracı değildir. Bu entegrasyon, Adapty event’lerini analitik amacıyla Firebase ve Google Analytics’e gönderir. Uygulama yüklemelerini Google Ads kampanyalarına (UAC / Universal App Campaigns) bağlamaz veya ücretli trafiği organik trafikten ayırt etmez. Yükleme attribution’ı için Adapty’nin yerleşik Adapty Attribution özelliğini kullanın.
  • Geçmişe dönük veri aktarımı yapılmaz. Adapty, entegrasyonu etkinleştirdiğiniz andan itibaren event’leri iletir — geçmişteki satın almalar, yenilemeler ve iade işlemleri Firebase’e ulaşmaz. (Geçmiş veriler Adapty’nin S3 / GCS dışa aktarmalarında bulunur, ancak bu verileri Firebase’e aktarmak bu entegrasyonun kapsamında değildir.)
  • Yalnızca web üzerinden satın alanlar Firebase’e ulaşmaz. Adapty, satın almaları Firebase’e mobil uygulamanızın belirlediği Firebase App Instance ID üzerinden iletir. Uygulamayı hiç yüklememiş alıcıların ID’si olmadığından satın almaları Firebase’e ulaşmaz. Ayrıntılar için yukarıdaki Stripe satın almaları bölümüne bakın; web takibi için FunnelFox’un Firebase entegrasyonunu veya Google Analytics web veri akışını değerlendirin.
  • Paddle satın almaları dahil değildir. Bu entegrasyon şu an için Paddle’ı desteklememektedir. Paddle satın almaları Adapty Analytics’te kalır ve bu yol üzerinden Firebase’e ulaşmaz.
  • Stripe satın almaları, Stripe’a özgü kısıtlamaları devralır. Bkz. Stripe entegrasyon kısıtlamaları.

Kurulum talimatları

Firebase’i Yapılandırma

  1. Firebase Console adresini açın ve bir proje seçin ya da oluşturun. Üretim analizlerini sandbox olaylarından temiz tutmak için geliştirme build’leri için ayrı bir Firebase projesi kullanın.

  2. Projeyi bir Google Analytics mülküyle ilişkilendirin. Firebase, proje oluşturma sırasında bunu size sorar; ya da daha sonra Project settings > Integrations > Google Analytics yolunu izleyerek ekleyebilirsiniz.

    Adapty Kontrol Paneli Firebase entegrasyon ayarları sayfası
  3. Project settings > General > Your apps bölümünde, yayınladığınız her platform (iOS / Android / Web) için ayrı bir giriş ekleyin. Stripe için bir Web uygulaması girişi ekleyin — yerel bir Stripe uygulama türü yoktur. Her giriş, benzersiz bir Firebase App ID ve Google Analytics’te karşılık gelen bir veri akışı oluşturur. Kurulum sırasında bu ID’yi Adapty’nin Firebase entegrasyon ayarlarına yapıştıracaksınız.

    Firebase Console showing the App ID for an iOS app entry

Adapty’yi Yapılandırın

  1. Adapty Kontrol Paneli’nde Integrations > Firebase sayfasını açın.

  2. Firebase integration geçiş düğmesini etkinleştirin.

  3. Uygulama yayınladığınız her platform için kimlik bilgilerini girin. Adapty, her platform için hem bir Firebase App ID hem de bir Google Analytics secret gerektirir — bu değerler iOS, Android ve Stripe arasında farklılık gösterir.

    Adapty Kontrol PaneliGoogle AnalyticsNerede bulunur
    Firebase App IDApp IDFirebase Console > Project settings > General > Your apps
    Google Analytics secretMeasurement Protocol API secretGoogle Analytics > Admin > Data streams > Measurement Protocol API secrets > Create
    Google Analytics Measurement Protocol API secret oluşturma ekranı
  4. Adapty’nin gelir ve kullanıcı verilerini nasıl ileteceğini yapılandırın. Dört kontrol, kontrol panelinde tek bir satırda yer alır:

  • Revenue definition açılır menüsü: Brüt gelir, Mağaza komisyonu sonrası gelir veya Mağaza komisyonu ve vergiler sonrası gelir.
    • Send user properties geçişi: Açık olduğunda, olaylar subscription_state ve subscription_product_id içerir. Bunları raporlarda veya kitlelerde kullanmak için bkz. Abonelik verilerini raporlarda kullanma.
    • Report user’s currency geçişi: Açık olduğunda, Adapty her işlemin yerel para birimini Google Analytics’e iletmeden önce hesabınızın raporlama para birimine dönüştürür.
    • Send trial price geçişi: Deneme başlangıçları değerlidir — ödeme yapan kullanıcıların büyük çoğunluğu genellikle bir denemeyle başlar. Ancak Google Ads’in teklif optimizasyonu yalnızca geliri olan olayları hedeflenmeye değer olarak kabul eder. Bunu açarak her denemeye bir yer tutucu fiyat atayabilirsiniz; böylece Google bu denemeleri dönüşüm olarak görür ve reklam harcamasını deneme başlatıcıları kazanmaya yönelik optimize eder. Açık olduğunda Trial price percentage alanı görünür. Bu alana, Google’ın her denemeyi tam abonelik fiyatının yüzde kaçı olarak değerlendireceğini girin; örneğin 50% ayarlarsanız deneme süresince abonelik fiyatının yarısı raporlanır.
Firebase entegrasyonu gelir verisi satırı ve dört kontrol
  1. Adapty olaylarını Firebase/Google Analytics olay adlarıyla eşleştirin. Adapty, iOS ve Android için ayrı olay haritaları sunar; böylece her platform için farklı adlar kullanabilirsiniz. Stripe satın almaları iOS olay haritasını kullanır — ayrı bir Stripe haritası yoktur. Google Analytics, katı Measurement Protocol sınırları uygular — 40 karakterlik event adları, 24 karakterlik kullanıcı özelliği adları ve 36 karakterlik değerler. Google Analytics, bu sınırları aşan özel eventleri sessizce atar.

Bazı eventler, Firebase ve Google Analytics’te rezerve edilmiş e-ticaret söz dizimini kullanır — purchase ve refund. Google Ads dönüşüm içe aktarma, Google Analytics gelir raporları ve tahmine dayalı kitleler bu tam string değerlerine bağlıdır. Bu özelliklere ihtiyaç duymuyorsanız varsayılanları geçersiz kılın.

Adapty Dashboard Firebase event names configuration
  1. Save düğmesine tıklayın. Adapty, birkaç dakika içinde olayları Firebase’e iletmeye başlar.

Uygulama kodunuzu yapılandırın

Uygulamanızın Firebase SDK içerdiğinden emin olun.

Adapty, her etkinlikle birlikte Firebase App Instance ID’yi eklemek zorundadır — aksi takdirde hiçbir şey Firebase’e ulaşmaz (MISSING_INTEGRATION_ID).

FirebaseApp.configure() ve Adapty.activate() çağrılarından sonra, Firebase SDK’dan App Instance ID’yi isteyin. setIntegrationIdentifier aracılığıyla Adapty’ye iletin. Bunu her uygulama başlatmada, herhangi bir satın alma akışından önce bir kez çalıştırın.

Üçüncü taraf SDK’lar kullanıcı kimliklerini asenkron olarak oluşturur. Adapty.activate() çalıştığında bu kimlik henüz hazır olmayabilir. Customer User ID’niz bu SDK’lardan birinden geliyorsa, Adapty.activate() fonksiyonunu kimlik olmadan çağırın. Kimlik hazır olduğunda önce setIntegrationIdentifier(), ardından CUID ile birlikte identify() fonksiyonunu çağırın.

Entegrasyonu doğrulama

Olayların akıp akmadığını doğrulamanın en hızlı yolu Firebase DebugView’dır:

  1. Bir test cihazında, Firebase hata ayıklama modu etkin olarak uygulamanızı çalıştırın.
  2. Adapty Kontrol Paneli’nde etkinleştirdiğiniz bir sandbox satın alımını veya herhangi bir olayı tetikleyin.
  3. Firebase Console > Analytics > DebugView yolunu izleyin. Olaylar, tüm parametreleriyle birlikte saniyeler içinde görünür.

Standart raporlar — Realtime, Reports, kitleler — rapora bağlı olarak birkaç dakika ile 24 saat içinde dolmaya başlar. Gerçek zamanlı doğrulama yapabileceğiniz tek yer DebugView’dır.

Raporlarda ve kitlelerde abonelik verilerini kullanma

Adapty Kontrol Paneli’nde Send user properties seçeneğini etkinleştirin (Adapty’yi Yapılandırma, 4. adım). Bu olmadan Adapty, subscription_state veya subscription_product_id verilerini iletmez — ve bu bölümün geri kalanı hiçbir şey yapmaz. Varsayılan olarak, Firebase ve Google Analytics kullanıcı özelliklerini göstermez. Her birini özel boyut olarak kaydedin. Bu sayede subscription_state ve subscription_product_id raporlarda, Explorations’ta ve kitlelerde kullanılabilir hale gelir. Boyutları Google Analytics Admin’de yapılandırın. Ardından hem Firebase’de hem de Google Analytics’te sorgulayabilirsiniz — ikisi aynı arka ucu paylaşır.

Ödeme yapan kullanıcıların Google Ads kitlelerini oluşturmak veya tahmin modellerini beslemek için kullanışlıdır.

Kurulumu tamamladığınızda, Adapty bu özellikleri sonraki etkinlikler için dolduracaktır. Mevcut etkinlikler güncellenmeyecektir.

  1. Google Analytics’te Admin > Custom definitions bölümünü açın.
    Google Analytics Custom Definitions
  2. Create custom dimensions seçeneğine tıklayın.
  3. Her özellik için şunları ayarlayın:
    • Dimension name: İnsan tarafından okunabilir herhangi bir ad, örneğin “Subscription state”.
    • Scope: User.
    • User property: subscription_state veya subscription_product_id. Ad tam olarak eşleşmelidir — Google Analytics büyük/küçük harfe duyarlıdır.
    Google Analytics Yeni Özel Tanım

Sorun giderme

Firebase’de etkinlikler görünmüyor

  • Firebase App Instance ID’nin ilk satın alma yapılmadan önce ayarlandığını doğrulayın. Firebase ID’si olmayan etkinlikler Firebase’e ulaşmaz ve hata üretir.
  • Firebase Console’da bağlı olan Google Analytics özelliğinin veri akışıyla eşleştiğini doğrulayın.
  • Adapty’deki kimlik bilgilerinin (ID + gizli anahtar) platforma uyduğunu doğrulayın.

access_level_updated Event Feed’de başarısız olarak görünüyor

access_level_updated yalnızca webhook’a özel bir event’tir. Adapty bunu Firebase’e iletmeye hiçbir zaman çalışmaz — ancak Event Feed yine de bunu başarısız bir teslimat olarak listeler. Bu satırı görmezden gelin. Entegrasyonunuz sorunsuz çalışıyor. Bu event’i kullanmak için webhook entegrasyonunu yapılandırın.

Sandbox olayları üretim verilerini kirletiyor

Adapty, sandbox ve üretim işlemlerini aynı Firebase projesine iletir. Firebase’i Yapılandırma bölümüne bakın — geliştirme derlemeleri için ayrı bir Firebase projesi kullanmak bu sorunu tamamen ortadan kaldırır.

Firebase, StoreKit 2 uygulamalarında geliri eksik sayıyor

Firebase, her StoreKit 1 satın alımı için otomatik olarak bir in_app_purchase etkinliği kaydeder — bunu için herhangi bir kod gerekmez. StoreKit 2 ise farklı bir API kullanır. Firebase bu işlemleri hiç görmez.

Sonuç: Ayrı bir gelir pipeline’ı olmayan SK2 ağırlıklı uygulamalar, Firebase’de, Google Analytics’te ve tüm aşağı yöndeki Google Ads kampanyalarında gerçek değerin yarısını ya da daha azını raporlar. Teklif optimizasyonu yanlış sayıya göre çalışır. Gelir raporları resmin yalnızca yarısını gösterir. Düzeltme: firebase_app_instance_id değerini Adapty’ye iletin (bkz. Uygulama kodunuzu yapılandırın). Adapty, her satın almayı Measurement Protocol aracılığıyla iletir — gelir, para birimi ve ürün bilgisiyle birlikte.

Adapty Analytics ve Firebase rakamları neden farklı

  • StoreKit 2: Açık ara en büyük neden. Bkz. Firebase, StoreKit 2 uygulamaları için geliri eksik sayıyor.
  • SDK benimsenmesi: Firebase yalnızca Firebase App Instance ID gönderen kullanıcıların etkinliklerini sayar. Eski uygulama sürümleri bu çağrıyı yapmaz. Adapty bu kullanıcıları yine de sayar; Firebase saymaz.
  • Sandbox etkinlikleri: Adapty, sandbox işlemlerini de Firebase’e iletir. Bunları üretim verilerinden ayırmak için geliştirme derlemeleri için ayrı bir Firebase projesi kullanın.
  • Örnekleme: Google Analytics Explorations büyük veri kümelerini örnekler. Örneklenmemiş sayılar için Gerçek Zamanlı görünümü veya standart raporları kontrol edin.

Özel etkinlik adları Google Analytics tarafından reddediliyor

Google Analytics, etkinlik adlarını 40 karakterle, yalnızca alfanümerik ve alt çizgi içerecek şekilde ve bir harfle başlayacak biçimde sınırlandırır. Bu kurallara uymayan özel Adapty etkinliklerini kontrol panelinde yeniden adlandırın.