Xamarin Forms Firebase Analytics

Merhaba arkadaşlar. Bu yazımızda Xamarin Forms’da Firebase ile nasıl event gönderilir ve nasıl bu eventler debug edilir bundan bahsedeceğiz. Öncelikle bir Firebase üzerinden bir proje açmamız gerekiyor. Sonrasında ise bu projeden 2 farklı uygulama oluşturacağız. Bunlardan birisi iOS için diğeri ise Android için olacak.

Proje içinde uygulama oluştururken bundle id’nin doğru olduğundan emin olunuz. Uygulama oluşturmanın en son adımı olan Android için google-services.json ve iOS için GoogleServiceInfo.plist dosyalarını indirip projemize eklememiz gerekiyor. Burada dikkat etmemiz gereken nokta ise; Android tarafında json dosyasını ekledikten sonra BuildAction kısmında bunun bir GoogleServicesJson olduğunu belirtmemiz gerekiyor. Eğer bu seçenek gelmiyorsa VS For Mac’in saçmalığı tamamen. Projenin android tarafında csproj dosyasını editlemeniz gerekiyor.

Csproj dosyanızı herhangi bir editörle açtığınızda muhtemelen google-services.json dosyanızın None şeklinde olduğunuzu göreceksiniz. Bunu kendini GoogleServicesJson olarak ekleyip, projenizi tekrar çalıştırdığınızda düzelmiş olduğunu göreceksiniz.

Ardından iOS tarafında ise eklediğimiz GoogleServşces-Infp.plist dosyasının ise Build Action seçeneğinden BundleResource olarak set edildiğinden emin olmalıyız

Şimdi Xamarin tarafına gelebiliriz. Burada her platform için farklı işlemler yapacağımız için DependencyService üzerinden ilerleyeceğiz. Eğer DependencyService nedir daha fazla bilgi almak isterseniz, burada daha detaylı bir anlatımı mevcut. İlk olarak bu serviste hangi fonksiyonları kullanacaksak bunlar için bir arayüz tasarlıyoruz. Ben sadece bir event loglayacağım için bu interface işimi görecektir. Siz kendi ihtiyaçlarınıza göre özelleştirebilirsiniz.

Sonrasında ilk olarak Android tarafına geçiyorum. Burada paket yüklememiz gerekiyor. Bu paketler;

Paketleri yükledikten sonra Android katmanında FirebaseEvents sınıfı oluşturup IFirebaseEvents’ten kalıtım almasını sağlıyorum. Sonrasında eklediğim paketler sayesinde eventleri loglayabiliyorum. Burada dikkat etmeniz gereken kısım, FirebaseAnalytics’ten bir instance almaya çalıştığında sizden bir activity istiyor. MainActivity üzerinde static bir değişken tanımladıktan sonra onCreate fonksiyonun MainActivity’nin kendisini set ederseniz sorun çözülecektir.

Bir sonraki aşama ise iOS kısmı. Burada yine Android tarfında yaptığımız gibi yeni bir sınıf oluşturup; bu sınıfın, oluşturduğumuz interface’ten kalıtım almasını sağlıyoruz. Sonrasında ise Xamarin.Firebase.iOS.Analytics paketini eklememiz gerekiyor.

Paketi ekledikten sonra oluşturduğumuz sınıfa bu kodları eklememiz gerekiyor.

En son işlem ise AppDelegate üzerinde olacak. Burada Firebase’i configure etmek gerekiyor.

Burada dikkat etmemiz gereken nokta ise; logladığımız eventler ertesi gün console’a düşüyor. Eventleri test ederken debug yapabilirsiniz. Bunun için bir sonraki yazıya bakmanız yararınıza olacaktır.

Sormak istediğiniz yerleri mail veya yorum atarak sorabilirsiniz. İyi çalışmalar.

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.