Tüm Bilgiler Tek Sayfada - Master Plan + Settings + Kullanıcı Durumları + Device Hierarchy
💡 Kritik:
is_trial=true olan plan YOKSA trial sistemi devreye GİRMEZ! Plan varsa cycle'daki gün sayısı trial süresidir.
Stratejik kararlar + Settings yaklaşımı
auth_subscription, auth_device_limit
30 saniye preview
is_trial plan + dinamik süre
Guest, Trial, Premium, Expired
User → Plan → Setting
Tüm önemli noktalar tek bakışta
❌ Reddedilen: tenants.data JSON
✅ Kabul: SettingsManagement
💡 3-Layer System
Ücretli Üyelik Sistemi (Ana Anahtar - Trial Dahil)
Setting ID
211
Type
select
Values
0 / 1
Muzibu Status
1 (AKTİF)
🔥 v2 Önemli Değişiklik:
Bu ayar 1 OLSA BİLE trial planı yoksa trial başlamaz! Trial plan (is_trial=true) olmalı.
Cihaz Limit Kontrolü (Global Fallback)
Setting ID
212
Type
number
Default
1
Önerilen
1-3 arası
user.device_limit → plan.device_limit → auth_device_limit (setting)
💡 Detaylı Bilgi:
Detaylı hiyerarşi için Device Limit Hierarchy bölümüne bak
Abonelik yoksa veya biterse müzik 30 saniye çalışır (Guest & Expired kullanıcılar)
✅ Neden Hardcode?
Bu değer değişmeyecek, ayar olarak yönetmeye gerek yok. Kullanıcı: "muzibu 30 saniye kuralı kalıcı değiştirmeye gerek yok. hardcode olsun"
❌ "7 gün trial" (v1'de vardı)
Artık hardcode değil, trial plan'ın cycle'ından gelir (dinamik)
❌ "Otomatik trial başlatma" (v1'de vardı)
Trial plan varsa başlar, yoksa başlamaz (koşullu)
Kritik: is_trial=true olan plan yoksa trial sistemi çalışmaz!
Dinamik: Trial plan'ın cycle'ında yazılan gün sayısı kullanılır (7, 14, 30 olabilir)
Önemli: Trial plan'da SADECE 1 cycle olmalı (deneme süresi)
is_trial: true
cycle duration_days: 7
SONUÇ: 7 gün trial verilir
is_trial: true
cycle duration_days: 14
SONUÇ: 14 gün trial verilir
is_trial=true plan: BULUNAMADI
auth_subscription: 1 (açık olsa bile)
SONUÇ: Trial sistemi YOK
is_trial: true
cycle duration_days: 30
SONUÇ: 30 gün trial verilir
Kayıt olmamış, siteyi gezinen kullanıcı
Dinleme:
30 saniye
Özellikler:
Playlist ❌ | Favori ❌
CTA:
"Sınırsız dinlemek için üye ol!"
Yeni kayıt, trial plan süresince deneme (7-30 gün)
Dinleme:
Sınırsız (X gün)
Özellikler:
Playlist ✅ | Favori ✅
CTA:
"X gün kaldı, Premium'a geç!"
🔥 v2: Dinamik Süre
Trial süresi trial plan'ın cycle'ındaki duration_days değeridir (7, 14, 30 vs.)
Ödeme yapmış, aktif premium aboneliği var
Dinleme:
Sınırsız (Ömür boyu)
Özellikler:
TÜM Özellikler ✅
CTA:
"Premium üyesiniz, keyifle dinleyin!"
Trial veya Premium süresi dolmuş, ödeme yapılmamış
Dinleme:
30 saniye
Özellikler:
Playlist ❌ | Favori ❌
CTA:
"Aboneliğiniz sona erdi! HEMEN YENİLE!"
| Durum | Dinleme | Süre | Playlist | CTA |
|---|---|---|---|---|
| 👤 GUEST | 30 saniye | - | ❌ | Üye ol |
| 🆓 TRIAL | Sınırsız | 7-30 gün (plan'dan) | ✅ | Premium'a geç |
| 👑 PREMIUM | Sınırsız | Ömür boyu | ✅ | Keyifle dinle |
| ⏰ EXPIRED | 30 saniye | - | ❌ | HEMEN YENİLE! |
💡 Mantık:
Üstten alta inerken ilk NULL OLMAYAN değer kullanılır. NULL ise bir sonraki katmana geç.
is_trial=true plan gerekliduration_days