Playvoi/Assets/ShiroginSDK/CHANGELOG.md
2025-10-30 22:48:16 +03:00

83 lines
4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🧾 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 eventler 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ıı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 logları 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 SDKlar **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