5.5 KiB
📊 ShiroginSDK Analytics System (v1.0.0 Updated)
Firebase • AppsFlyer • Facebook Tam Otomatik Event Forwarding + Çok Katmanlı Servis Mimarisi
Bu doküman, ShiroginSDK v1.0.0 sürümüyle birlikte gelen yeni analiz servis mimarisini açıklar.
Yeni sistem, ShiroginServiceRegistry üzerinden otomatik başlatılır ve Firebase, AppsFlyer ve Facebook SDK’larına merkezi olarak bağlanır.
Tüm loglama işlemleri event tabanlıdır — geliştirici sadece EventService.Invoke() çağrısı yapar.
🚀 1. Genel Bakış
Yeni analiz sistemi üç ana katmandan oluşur:
-
EventService (Core) → Oyun içi tüm
ShiroginEvents’leri yönetir. →AnalyticsService,FirebaseService,AppsFlyerServicegibi servislerle otomatik iletişim kurar. -
AnalyticsService (Coordinator) → Eventleri dinler,
AnalyticsEventMapperüzerinden uygun SDK formatına dönüştürür. → Aktif SDK’lara log iletir (FirebaseService,AppsFlyerService,FacebookService). -
Platform Servisleri (Backends) → Her SDK’ya özel bağlantı, initialization ve log gönderim süreçlerini yönetir.
Tüm servisler
ShiroginServiceRegistry.InitializeAll()çağrısı ile otomatik olarak başlatılır.
🧩 2. Yeni Servis Mimarisi
🔹 Başlatma (Yeni Sistem)
ShiroginServiceRegistry.InitializeAll();
Bu çağrı aşağıdaki servisleri sırayla oluşturur:
- EventService → Event iletişimi
- DataService → Kalıcı veri yönetimi
- FirebaseService → Firebase Analytics + RemoteConfig
- AppsFlyerService → AppsFlyer SDK
- FacebookService → Meta SDK
- AnalyticsService → Otomatik event yönlendirme
🔹 Örnek Event Akışı
EventService.Invoke(new ShiroginEvents.PurchaseCompletedEvent(product));
Bu çağrıdan sonra sistem sırasıyla:
EventServiceevent’i yakalar.AnalyticsServiceevent tipini analiz eder.AnalyticsEventMapperparametreleri uygun SDK formatına çevirir.FirebaseService,AppsFlyerServiceveFacebookServicelog gönderir.
Tam akış:
[Game Event]
↓
EventService
↓
AnalyticsService
↓
Firebase / AppsFlyer / Facebook
🔥 3. Servis Güncellemeleri
🔸 AnalyticsService
Artık doğrudan ServiceBase’den türetilir ve ServiceLocator üzerinden erişilir.
Kendi Initialize() metodunda bağlı SDK’ları otomatik bulur.
var analytics = ServiceLocator.Get<IAnalyticsService>();
analytics.LogEvent(AnalyticsEventType.Purchase, parameters);
🔸 FirebaseService
Yeni sistemde hem RemoteConfig hem Analytics aynı instance üzerinden yönetilir.
Başarılı başlatma sonrası artık FirebaseReadyEvent yayınlanır.
_eventService.Invoke(new ShiroginEvents.FirebaseReadyEvent());
🔸 AppsFlyerService
Tamamen ServiceBase yapısına geçti.
Başlatma işlemi otomatik olarak ShiroginServiceRegistry içinde gerçekleşir.
🔸 EventService
Artık SDK’nin ana “event bus” yapısıdır. Tüm servisler (Firebase, Ads, IAP, RemoteConfig) kendi event’lerini bu sistem üzerinden yayınlar. Oyun içi tüm veri akışı tek bir hat üzerinden ilerler.
🧠 4. Otomatik Event Forwarding (Yeni)
Yeni versiyonda, AnalyticsEventListener artık doğrudan kullanılmaz.
Onun yerine AnalyticsService kendisi EventService’e subscribe olur ve dinleme işlemini merkezi hale getirir.
Örnek:
EventService.Invoke(new ShiroginEvents.AdWatchedEvent("rewarded", true));
→ Otomatik olarak üç platforma log gönderilir.
🧰 5. SDKConfig Entegrasyonu
Yeni SDKConfig sınıfı üzerinden tüm analitik modüller yönetilir:
public bool enableFirebaseAnalytics = true;
public bool enableAppsFlyerAnalytics = true;
public bool enableFacebookAnalytics = true;
Bu alanlar AnalyticsService.Initialize() aşamasında kontrol edilir, aktif olmayan SDK’lara log gönderimi yapılmaz.
🧾 6. Örnek Kullanım: Satın Alma Event’i
EventService.Invoke(new ShiroginEvents.PurchaseCompletedEvent("com.game.removeads", 4.99f, "USD"));
Arka planda:
AnalyticsService→Purchaseevent’ini tanır.AnalyticsEventMapper→ Parametreleri dönüştürür.FirebaseService,AppsFlyerService,FacebookService→ Aynı anda log gönderir.FirebaseReadyEventvePurchaseLoggedEventtetiklenir.
⚙️ 7. Güncellenen Özellikler
✅ Yeni Service Registry sistemi (otomatik init & dispose)
✅ EventService tabanlı otomatik log forwarding
✅ Firebase + AppsFlyer + Facebook tam entegrasyon
✅ Async initialization + error fallback
✅ Tek config kaynağı (SDKConfig)
✅ Event bazlı hata loglama (örneğin NoConnectionEvent, RewardedAdUnavailableEvent)
📘 8. Uyumlu Modüller
Yeni sistem doğrudan şu modüllerle entegre çalışır:
IAPService→ Satın alma loglarıAdsService→ Ad impression + revenue loglarıPopupService→ UI etkileşimleriRemoteConfigService→ Firebase senkronizasyon eventleri
🧠 9. Özet
ShiroginSDK Analytics System v1.0.0 artık tamamen service-driven ve event-driven mimari üzerinde çalışır.
Tüm SDK’lar ortak bir event hattını kullanır, initialization sırası ShiroginServiceRegistry tarafından yönetilir.
Bu yapı hem oyun entegrasyonunu sadeleştirir hem de log takibini merkezi hale getirir.
Prepared by: Emir Han MAMAK
Version: 1.0.0 (2025.10)
Module: ShiroginSDK.Runtime.Services.Implementations.Analytics