Firebase Analytics Entegrasyonu
En son güncellendiği tarih: 30 May 2020
Firebase Analytics nedir ve ne işe yarar ?

Raporlama, başarılı bir uygulama oluşturmak için bir temeldir. Firebase Analytics herhangi bir kota sınırlaması ve ücretlendirme olmaksızın kolaylıkla projenize entegre edilebilen ve raporlama yapabilen bir araçtır.
Kullanıcının hangi işlemleri raporlanıyor?
▹Kullanıcıların uygulamanız içinde ne kadar vakit geçirdiğini ▹Uygulamanızın içinde hangi işlemleri gerçekleştirdiklerini ▹Uygulamanızın düzenli olarak ne kadar kullanıldığını rahatlıkla raporlayabilirsiniz.
Bir Firebase projesi oluşturarak başlayalım
Firebase'i uygulamanıza 2 şekilde dahil edebilirsiniz; bunlardan birincisi Android Studio üzerinden Tools-Firebase diyerek Android Studio'nun açmış olduğu asistanın adımlarını takip ederek. 2.si ise ayrıntılı olarak aşağıda belirttiğim şekilde:
Öncelikle linkteki sayfayı açıp Create a project'i seçerek yeni bir proje oluşturalım.

Bu kısım sizin seçiminize bağlı. İsterseniz oluşturduğunuz bir proje üzerinden devam edebilirsiniz veya yeni bir proje oluşturursunuz. Ben daha açık görünmesi adına yeni bir proje oluşturuyorum.
Projeye bir isim vererek ilerleyebilirsiniz. Ben oluşturduğum bu projeye LearnFirebaseAnalytics ismini verdim.

Açılan kontrol panelinde Firebase projesinin hangi uygulama üzerinden çalıştırıldığını seçelim

Bu aşamadan sonra projeye iOS, Android veya web uygulamalarından birini entegre edebilirsiniz. Biz android ile ilerleyeceğiz.

Android uygulama entegrasyonu için Android paket ismini girmeniz gerekir. İsteğe bağlı olarak uygulamanızın takma adını ve/veya SHA-1 anahtarını girebilirsiniz (Sha-1 şifresi cmd ekranından oluşturulabilir)

Şimdi belirtilen json dosyasını resimde görüldüğü gibi proje dosyamıza yerleştirelim. Bunun için Android Studio paket görünümünü Project olarak seçip, dosyayı app klasörü altına yapıştırmalıyız.
Daha sonra gerekli kütüphaneleri implement etmeliyiz. Firebase Analytics kullanılacağı için aşağıdaki kodu kütüphanenize implement etmeyi unutmayın.
Firebase Analytics'i öğrenmeye başlayalım
Ben oluşturduğum uygulamada Analytics'in ne işe yaradığını daha iyi gösterebilmek adına küçük bir Activity görünümü oluşturdum.
Hata Ayıklama/Debugging Event:
Mobil uygulama geliştirmede önemli zorluklardan birisi kullanılan cihazın hata ayıklayamıyor olması. Çünkü analitik sunuculara gönderilen tüm verileri okumak pek de kolay değildir. DebugView, uygulamanız tarafından geliştirme cihazlarında gerçekleşen olayları gerçek zamanlı olarak görmenizi sağlar. Hataları ayıklamak için gerçekleşmesi gereken bir durumdur. Verilerin hatasız bir şekilde çalışıp çalışmadığının kontrolünü sağlamamıza yardımcı olur. Uygulama üzerinde son 1 saat içinde gerçekleşen aktiviteleri gösterir.
Peki bu hata ayıklama modunu nasıl etkinleştiriyoruz?
Şimdi MainActivity.kt classını açalım ve FirebaseAnalytics'i tanımlayalım:
Daha sonra oluşturduğumuz firebaseAnalitcs'i oncreate içinde başlatalım.
Firebase Analytics'e veri göndermek için bundan böyle firebaseAnalytics parametresini kullanacağız.
Şimdi bir bundle oluşturalım
Mesela firebase'in bize tıklama raporlarını göstermesini istiyoruz. Bunun için logEvent( ) fonksiyonunu kullanmamız gerekiyor. Bu fonksiyon iki parametre alır. İlk parametreye hangi olayı raporlamak istediğimizi belirteceğimiz SELECT_CONTENT ifadesi ile tıklamaları belirtmek istediğimizi ifade ediyoruz. İkinci parametre ise oluşturmuş olduğumuz bundle'ı belirteceğimiz parametredir.
Burada bundle.putString diyerek parametre id'sini firebase'e göndermek istiyoruz:
Daha sonra ayıklamayı çalıştırmak için Android Studio terminal sekmesini açalım ve
ifadesini yazalım. Aşağıdaki resimde görüldüğü gibi package_name yazan kısma Android Studio'da açtığımız projenin paketinin ismini yazalım. (kendi uygulama paket ismimizi)

Verilerin DebugView olarak görünebilmesi için öncelikle sanal cihazı, geçerli bir hata ayıklama cihazı olarak kaydediyoruz ve uygulamayı açıp Firebase'e geldiğimizde DebugView'e tıklayarak gerçekleşen işlemlerin raporlarına erişebildiğimizi görüyoruz.

Burada farkettiğiniz gibi onCreate içerisine tıklanma eylemini çağırdığımız için uygulama üzerinde tıklama işlemi yaptığımızı raporladı. Şimdi eklediğim kutulardan birine tıklandığı zaman select_content mesajını vermesini ve raporlamasını istiyoruz:

Fark edildiği gibi yine aynı işlemi yaptık. Tek fark kutuya tıklama işlemi sonucunda String olarak yazdığımız diğer id Debug-View ekranında görüntülendi. Yani onCreate içindeki tıklama eyleminin dışında, kutuya tıklama işlemi için eklediğimiz id raporlandı.
Sonuç:
Debug View Seçilen bir hata ayıklama cihazında olayları gerçek zamanlıya yakın bir modda izlemek için oluşturulan bir zaman çizelgesidir. Uygulamanızın her crash ve hata aldığı durumlarda bunları raporlar. Son 30 dakika içerisinde gerçekleşen aktiviteleri gösterir.
User Properties
User Properties uygulamanızı kullanan kitleleri tanımamızı sağlar. Firebase Analytics-User Properties, bazı kullanıcı özelliklerini otomatik kaydeder. Uygulamanızı kullanan kullanıcılar hakkında detaylı bilgi edinmek için çok kullanışlı bir özelliktir. Proje başına 25 farklı Analytics kullanıcı özelliği eklenebilir. User Properties uygulamanızı büyük kitlelere yaymak adına nasıl bir yol izleneceğini görebilmenizi ve reklam politikanızı güçlendirmeyi sağlar.
Öncelikle Firebase-User Properties'i açıp buraya tag ekleyelim

Ben buraya dog_or_cat adında bir tag ekledim. Sizde kendinizin belirleyeceği bir tag'ı buraya ekleyebilirsiniz. Kullanıcının davranışını belirlemek adına setUserProperty( ) fonksiyonunu kullanıyoruz. MainActivity'de bir Alert Dialog oluşturalım ve kullanıcının yaptığı seçime göre rapor edelim.
Kullanıcı uygulamayı açtığında karşısına bir AlertDialog çıkacak ve kullanıcının yaptığı seçime göre raporlama yapılacak. Uygulamayı çalıştırdığımızda AlertDialog butonlarından birini seçelim ve oluşacak raporu gözlemleyelim.

Sonuç:
User property kullanıcının favorite_fruit = "apple" yada cat_ord_dog = "cat" gibi statik değişken özelliklerini tanımlamak için kullanıcı özelliklerini raporlayıp kayıt edilmesini sağlar.
Son olarak uygulamamızı tamamladıktan sonra linkte bulunan sayfadan :
▹Uygulaman kullanıcı sayısı
▹Yapılan etkinlik sayısı
▹Uygulamanızdan elde edilen gelir miktarı
▹Zaman içindeki kullanıcı etkinliği
▹Uygulamanızın hangi ülkelerde kullanıldığı
▹Oluşturduğunuz Activity'lerin kaç defa görüntülendiği
▹Hangi platformlar üzerinde kullanıldığı(Android/İOS/Web)
▹Kaydedilen Debug view raporlarının verileri
▹Yeni kullanıcı sayısı
gibi bir çok bilgiyi görmemizi sağlar.

Proje kodlarına aşağıdaki Github adresinden ulaşabilirsiniz:
https://github.com/demirtasm/LearnFirebaseAnalytics

#kotlin #firebase #FirebaseAnalytics