Huawei Dynamic Tag Manager Kullanarak Firebase’e Analitik Verisi Yollamak

Erman Derici
Huawei Developers - Türkiye
4 min readOct 4, 2023
Analitik bütün ürünlerin vazgeçilmez bir parçasıdır

Merhaba,

Bu makalede Huawei Dynamic Tag Manager (DTM) kullanarak analitik verileri nasıl yönetebileceğinizi ve bu verileri başta Firebase olmak üzere diğer platformlarla nasıl paylaşabileceğinizi açıklayacağım. Makaleyi kısa tutmak amacıyla proje oluşturma ve gerekli hizmetleri etkinleştirme gibi bazı adımları (örneğin AppGallery’de proje oluşturma ve service.json dosyalarını indirme gibi) atlayacağımı lütfen unutmayın. İlgili rehberlere referanslar bölümünde ulaşabilirsiniz.

Giriş

Huawei DTM, bir tag management sistemi olup farklı platformlarda etiketlenen olayları veya analitik verilerini takip etmenizi sağlar. Etiketlenen olayı ilgili analitik platformlara göndererek ve onlara Huawei Analytics tarafından toplanan verileri sağlayarak çalışır. Huawei DTM’yi uygulamanıza entegre etmek için Huawei Analytics gereklidir.

Huawei DTM, çeşitli analitik platformlarla birlikte kullanılabilir, örnek olarak:

  • Google Analytics — Universal Analytics
  • Google Analytics — Firebase
  • Google Ads Remarketing
  • AppsFlyer
  • Singular

Bu makalede, Google Analytics — Firebase entegrasyonuna odaklanacağız. Hadi o zaman başlayalım.

Kaynak: https://giphy.com/gifs/BpGWitbFZflfSUYuZ9

Integrasyon

İlk olarak, projenize Huawei Analytics ve Huawei DTM’i eklemeniz gerekecektir. Verileri Firebase’e göndereceğimiz için Firebase Analytics’i de eklemeniz gerekecektir. Tekrar belirtmekte fayda var ki Firebase BOM ve AGC eklentisi gibi diğer konfigürasyonları eklediğinizi ve düzenlediğinizi varsayıyorum. Aşağıdaki dependencyleri build.gradle dosyanıza ekleyin:

implementation 'com.huawei.hms:hianalytics:6.9.0.300'
implementation 'com.huawei.hms:dtm-api:6.6.0.305'
implementation("com.google.firebase:firebase-analytics-ktx")

Kullanılacak SDK’leri uygulamanın ilk aktivitesinde initialize edelim:

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Obtain the HiAnalyticsInstance instance.
val instance = HiAnalytics.getInstance(this)
val firebaseAnalytics = Firebase.analytics
}

Şimdilik uygulamamızda yazmamız gereken kodlar bu kadar. AppGallery Connect üstünde yapmamız gereken ayarlamaları yaptıktan sonra buraya geri dönebiliriz.

AppGallery Connect üstünde DTM için bir konfigürasyon oluşturalım:

Konfigürasyon eklemek

Ardından bir tag oluşturalım. Bu sayfaya erişim için Dynamic Tag Manager > Workspace > Tag > Create adımlarını takip edebilirsiniz:

Tag oluşturma sayfası

Tag oluştururken extension olarak Google Analytics (Firebase) seçelim:

Tag oluştururken extension’a dikkat edelim

Bir sonraki adım olarak ise bu oluşturacağımız tagin nasıl tetikleneceği. Bunun için bir kondisyon oluşturmamız gerekiyor:

Kondisyon eklemek

Önceden oluşturduğumu bir kondisyonumuz olmadığı için yenisini oluşturuyoruz. Makaleyi kısa ve basit tutmak adına Analytics Kit tarafından otomatik oluşturulan bir kondisyon olan Enter Activity kullanacağım:

Kondisyon oluşturmak

Kondisyonumuzu oluşturduktan sonra bir önceki sayfada tagimize bu kondisyonu ekleyebiliriz:

Tag oluşturma sonu

Bu tagi oluşturduktan sonra, veya isteğinize bağlı olmak üzere ilk adım olarak da yapılabilir, workspace sayfası içerisinde yeni bir versiyon oluşturalım:

Yeni versiyon oluşturmak

AppGallery Connect üzerinde zorunlu olarak yapılması gerekilen adımlar bu kadar. Artık uygulamamızı açıp herhangi bir activity içine girdiğimizde oluşturduğumuz tagi Google Analytics sayfasında görebiliriz:

Event on Google Analytics

Ekstra

Konumuz ile çok alakalı değil ama eklemek istediğim bir konu. Kodunuzda kendiniz custom bir event oluşturup onu istediğiniz zaman konsola gönderebilirsiniz:

// Customize an event to report.
// Set the custom event name to Purchase.
val eventName = "Purchase"
// Customize event parameters.
val bundle = Bundle()
bundle.apply {
// Set a value of the Double type.
putDouble("price", 9.99)
// Set a value of the Long type.
putLong("quantity", 100L)
// Set a value of the String type.
putString("currency", "CNY")
}
// Report events.
instance?.let {
it.onEvent(eventName, bundle)
}

Bu şekilde de Purchase isimli bir eventi konsola göndermiş oluyoruz.

Sonuç

Huawei DTM, birden fazla analitik SDK kullanarak hepsine ortak bir noktadan veri akışını sağlayan güçlü ve elverişli bir kütüphanedir.

Bu makalede uygulamamız içerisinde elde edilen analitik verisinin hem Huawei Analytics hem de Google Analytics’e nasıl gönderdildiğini basit bir şekilde anlatmaya çalıştım. Yapabilecekleriniz bu makaledekiler ile sınırlı değildir, farklı SDK’ler için de bu işlem mümkündür veya daha detaylı ve spesifik bir zamanda raporlanması gereken analitik verileri de hazırlayabilirsiniz. Umarım yardımcı olabilmişimdir

Referanslar

--

--