Bu konularda chatgptden bilgi alabilirsin gayet başarılı..
RevenueCatte
Entitlement, kullanıcının bir özelliğe veya içeriğe erişimini temsil eder. Özellikle
abone tabanlı ve non-consumable ürünlerde kullanılır.
Consumable ürünlerle doğrudan ilişkili değildir.
🔑 Entitlement Nedir?
Bir
entitlement, kullanıcının uygulama içinde bir "şeye" erişim hakkı olduğunu ifade eder. Örneğin:
- Premium üyelik
- Reklamsız kullanım
- Belirli bir içeriğe sınırsız erişim
🧾 Ürün Tipleriyle Entitlement İlişkisi
Ürün TürüEntitlement Gerekli mi?Açıklama
Abonelik (Subscription)✅ EvetKullanıcı abone olduğu sürece bu entitlement aktiftir.
Non-Consumable✅ EvetSatın alındıktan sonra kalıcı erişim sağlar. Entitlement ile ilişkilendirilir.
Consumable❌ HayırTüketilebilir ürünlerdir (örneğin jeton, puan vs). Entitlement tanımlanmaz.
📌 Senin Durumunda Ne Yapmalısın?
Senin ürünlerin:
- 4 tane consumable: Bunlar için entitlement tanımlamana gerek yok.
- 1 tane non-consumable: İşte bunu bir entitlement ile ilişkilendirmen gerekiyor.
🛠️ Nasıl Yapılır?
- RevenueCat Paneline git → Entitlements sekmesine tıkla.
- + New diyerek bir entitlement oluştur.
- Örneğin: pro_access, remove_ads, lifetime_premium gibi bir isim ver.
- Ürünleri tanımladığın Offering → Products kısmına git.
- Non-consumable olan ürünü seç.
- Entitlement kısmında az önce oluşturduğun entitlementı seç ve kaydet.
👇 Örnek Senaryo
- Ürünün: com.app.premium_lifetime (non-consumable)
- Entitlement adın: lifetime_access
Bu durumda, kullanıcı bu ürünü satın aldığında lifetime_access entitlement'ı aktif olur ve uygulamada bu kullanıcıya premium özellikler açılır.
✅ Sonuç
Senin için:
- 4 consumable → Entitlement gerekmez.
- 1 non-consumable → Entitlement oluştur ve ürünle ilişkilendir.
Eğer istersen uygulama içinde entitlements'ı kontrol ederek premium olup olmadığını şu şekilde anlayabilirsin (örnek pseudocode):
if (customerInfo.entitlements.active["lifetime_access"]) {
// Premium özellikleri aç
}