# 🧾 ShiroginSDK Changelog Tüm önemli değişiklikler bu dosyada tutulacaktır. Her sürüm, SDK mimarisine eklenen yeni sistemleri ve servisleri içerir. --- ## [1.0.0] - 2025-10-01 ### ✨ Eklendi - 🎯 **IAP Service (In-App Purchasing)** - `IAPService` sınıfı eklendi. Unity IAP üzerinden satın alma, ödül verme ve restore işlemleri destekleniyor. - `StoreRepository`, `StoreSection`, `StoreItem` ScriptableObject yapıları oluşturuldu. - `RewardDefinition` ile oyun içi ödüller merkezi olarak tanımlanabiliyor. - `UIStoreItem_*` sınıfları (Consumable, NonConsumable, Bundle, Rewarded, Chest) ile dinamik mağaza UI sistemi kuruldu. - `EconomyData` ve `StoreData` entegrasyonu sağlandı. - 💳 **Economy & Data System** - `BaseData` mimarisi kuruldu. Veriler JSON tabanlı kayıt ve yükleme destekliyor. - `EconomyData`, `InventoryData`, `StatsData` yapılandırıldı. - `DataService` merkezi kayıt erişimi sağlıyor. - Oyunlara özel veri kullanımı seçilebilir hale getirildi (örnek: sadece Gold/Gems/Tickets tutma). - 📊 **Analytics System (Firebase • AppsFlyer • Facebook)** - `AnalyticsService` merkezi çoklu SDK entegrasyonu eklendi. - `AnalyticsEventListener` otomatik event forwarding sistemi getirildi. - `AnalyticsEventMapper` ile tüm platformlara tek event tipi üzerinden loglama sağlandı. - `FirebaseService`, `AppsFlyerService`, `FacebookService` modülleri hazırlandı. - Otomatik loglama akışı (`Purchase`, `Ad`, `Tutorial`, `Session`, `Reward`) tamamlandı. - 👥 **Event System (EventService & ShiroginEvents)** - SDK genelinde event-driven mimari uygulandı. - Tüm servisler `EventService` üzerinden haberleşiyor. - Kuyruk sistemi eklendi, dinleyici yoksa event’ler kaybolmadan bekliyor. - `ShiroginEvents` ile tüm oyun içi olaylar (Ad, Purchase, Reward, Session, Level, Player vb.) tanımlandı. - 🧩 **Remote Config System (Firebase RemoteConfig)** - `RemoteConfigService` eklendi. - Web API Key ve oyun bazlı konfigürasyon desteği sağlandı. - Local fallback ve cache sistemi ile offline çalışma desteklendi. - `RemoteConfigData` ve `RemoteConfigDefinition` üzerinden yapılandırılabilir hale getirildi. - 🪟 **Popup & UI Framework** - `PopupBase` sistemi kuruldu. - DOTween tabanlı açılma/kapanma animasyonları eklendi. - `PopupService` tüm UI popuplarını tek merkezden yönetiyor. - Temalarla uyumlu arka plan şeffaflık animasyonu desteği getirildi. - 🎨 **Theme Service** - `ThemeService` eklendi. - Her oyun için özel tema setleri (örnek: Fire, Snow, Dungeon, etc.) tanımlanabiliyor. - UI elementleri tema bazlı otomatik güncellenebiliyor. - 🧰 **Editor Tools** - `SDKConfigurator` ve `PlayerPrefs Editor` arayüzleri oluşturuldu. - SDK modülleri Unity Editor üzerinden kolayca açılıp kapatılabiliyor. - Otomatik versiyonlama ve konfigürasyon denetimi sağlandı. - ⚙️ **Core Improvements** - `SDKInitializer` eklendi — tüm servisleri sırasıyla başlatıyor. - Servislerin `DontDestroyOnLoad` yaşam döngüsü standardize edildi. - Konsol log’ları ShiroginSDK etiketiyle birleştirildi. --- ### 🧩 Düzeltildi - IAP `NullReferenceException` hataları giderildi (`StoreRepository` null koruması). - `FirebaseService` için `IsObjectMonoBehaviour` hata senaryosu düzeltildi (ana thread başlatma). - `DOTween.DOFade` hatası (CanvasGroup yerine Image alpha kullanımı) düzeltildi. - Editor'da null `StoreSection`’ların temizlenmesi sağlandı. --- ### 🧠 Notlar - SDK modülleri tamamen **event-based** olarak yeniden tasarlandı. - Her servis birbirinden bağımsız, ancak `EventService` aracılığıyla entegre çalışıyor. - Firebase, Facebook, AppsFlyer gibi SDK’lar **SDKConfig** üzerinden kolayca devre dışı bırakılabiliyor. - Tüm UI bileşenleri **ScriptableObject tabanlı veri akışına** bağlı. --- **Hazırlayan:** Emir Han MAMAK **Sürüm:** 2025.10