Bu konularda chatgptden bilgi alabilirsin gayet başarılı..

RevenueCat’te 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çıklamaAbonelik (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?

  1. RevenueCat Paneline git → Entitlements sekmesine tıkla.
  2. “+ New” diyerek bir entitlement oluştur.
    • Örneğin: pro_access, remove_ads, lifetime_premium gibi bir isim ver.
  3. Ürünleri tanımladığın Offering → Products kısmına git.
  4. Non-consumable olan ürünü seç.
  5. “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ç
}