RevenueCat ile iOS uygulama içi abonelik kurulumu
Yazan: Mehdi Azizi
tarihinde güncellendi, 7 dk.
RevenueCat, App Store Connect ürünlerini uygulamana bağlar ve erişim haklarını yönetir. İlk iOS uygulama içi aboneliğini kurmanın adımları.
Neden tek başına StoreKit yerine RevenueCat
Apple'ın framework'ü StoreKit, hiçbir üçüncü taraf servis kullanmadan abonelik satmana izin verir. Ama yeni başlayan biri için satın alma, geri yükleme ve erişim hakkı kontrolü mantığının tamamını kendin yazmak, bakımı gereken bir sürü kod demek. Üstelik unutması kolay uç durumlar da var: cihaz değişikliği, süre bitimi, iade.
RevenueCat App Store Connect ile uygulaman arasına girer: ürünlerini okur, aktif abonelikleri yönetir ve bu katmanı kendin yazma zahmetinden seni kurtarır. Fiyatı ve teklifleri bir panelden yönetirsin, her değişiklikte uygulamanı yeniden yayınlaman gerekmez.
Adım 1: ürünlerini App Store Connect'te oluştur
RevenueCat'ten önce ürünlerin Apple tarafında var olması gerekiyor. App Store Connect'te bir abonelik grubu oluştur, sonra süresiyle (örneğin aylık ya da yıllık) ve bölgeye göre fiyatıyla bir ya da birkaç seviye ekle. Her kademe için kullanıcıya gösterilecek metinleri de doldur: Apple, ürünü incelemede kabul etmeden önce bunları istiyor.
Bu aşamada sık yapılan bir unutkanlık: ürünü oluşturup ilgili sürümüyle birlikte uygulamanın ilk incelemesine hiç göndermemek. Bir uygulama gönderimine hiç dahil edilmemiş, beklemede duran bir ürün, RevenueCat onu zaten görse bile kullanıcıların için görünmez kalır.
Adım 2: RevenueCat'i uygulamana bağla
RevenueCat'te bir proje oluşturuyorsun, RevenueCat ürünlerini otomatik senkronize etsin diye App Store Connect API anahtarını bağlıyorsun, sonra "entitlement"ları, yani erişim haklarını tanımlıyorsun. Bir entitlement, aboneliğin neyin kilidini açtığını temsil eder, örneğin uygulamaya tam erişim. Bunu tetikleyen ürünün tam olarak hangisi olduğundan bağımsızdır.
Bu dolaylı yapı işe yarar: ileride tekliflerinin yapısını değiştirirsen, örneğin yıllık bir kademe eklersen, yeni ürünü aynı entitlement'a bağlaman yeterli. Uygulamandaki erişimi kontrol eden koda dokunmazsın.
Uygulama tarafında, React Native için RevenueCat SDK'sı bir Expo projesine özel bir plugin ile kurulur ve mevcut kullanıcının aktif bir entitlement'a sahip olup olmadığını öğrenmek için basit bir fonksiyon sunar.
Adım 3: paywall'unu oluştur
Paywall, teklifi gösteren ve satın almayı başlatan ekrandır. RevenueCat, panelden yapılandırılabilen ve uygulamayı yeniden yayınlamadan değiştirilebilen paywall'lar sunuyor. Tasarım üzerinde tam kontrol istersen SDK ile kendi paywall'unu da yapabilirsin.
Yerleşim, tasarım kadar önemli. Kişi uygulamanın değerini görmeden gösterilen bir paywall, genellikle ilk başarılı eylemin hemen ardından gelen bir paywall'dan daha düşük dönüşüm sağlar. Yeni başlayanlar için iOS paywall hataları rehberi, sadece teknik bağlantının ötesinde bu aşamadaki en yaygın tuzakları anlatıyor.
Adım 4: satın almayı, geri yüklemeyi ve süre bitimini test et
En çok üstünkörü geçilen adım bu, oysa Apple'ın en çok kontrol ettiği adım da bu. Göndermeden önce üç senaryonun çalışması gerekiyor:
Satın alma. Bir sandbox test hesabıyla satın alma, entitlement'ın kilidini anında açmalı ve uygulaman yeniden başlatmaya gerek kalmadan bu değişikliğe tepki vermeli.
Geri yükleme. Yeni bir cihazda ya da yeniden kurulumdan sonra, aynı Apple hesabıyla, "Satın alımları geri yükle" butonu aktif aboneliği bulmalı. Apple bu akışı incelemede her seferinde kontrol ediyor; butonun olmaması ya da düzgün çalışmaması guideline 3.1.1 kapsamında sık görülen bir ret sebebi.
Süre bitimi. Sandbox ortamında abonelikler aylar yerine birkaç dakikada sona erer. Böylece gerçek bir faturalama döngüsünü beklemeden, süre bitince erişimin düzgün kapandığını kontrol edebilirsin.
RevenueCat'in yerini tutmadığı şeyler
RevenueCat satın alma mekaniğini yönetir, mağaza sayfanın ya da paywall'unun guideline 3.1.2 açısından uyumluluğunu değil. Aboneliği App Store açıklamanda doğru tanımlamak, tam fiyatını ve süresini belirtmek, kullanım koşullarını eklemek her zaman senin işin. iOS'ta abonelik mi tek seferlik satın alma mı sayfası, bu teknik aşamaya gelmeden önce doğru modeli seçmene yardım eder.
Ayrıca RevenueCat, belirli bir aylık eşiğin üzerindeki gelirlerden komisyon alıyor. Bu, Apple'ın uygulama içinde satılan aboneliklerden aldığı komisyona ek olarak geliyor. İş modelini bu iki komisyon üzerine kurmadan önce güncel kademeleri onların kendi sitesinden kontrol et.
Yeni başlayanların en sık yaptığı hatalar
Yükleme durumunu unutmak. Açılışta RevenueCat'in kullanıcının erişim haklarını getirmesi kısa bir an alır. Uygulaman bu yanıttan önce ücretli içeriği varsayılan olarak gösterirse, aboneliği olmayan bir kullanıcı bir anlığına ödemediği içeriği görebilir. İyimser bir varsayılan gösterim yerine açık bir yükleme durumu planla.
Hakları yanlış yerde kontrol etmek. Aktif bir entitlement, sadece açılışta bir kez değil, ücretli bir ekran her açıldığında yeniden kontrol edilmeli. Kullanıcı uygulamayı kullanırken aboneliğini iptal ederse ya da aboneliği sona ererse, bir sonraki ekran bu değişikliği yansıtmalı.
Sandbox ile production ortamını karıştırmak. Ürün kimlikleri ve sandbox test hesapları production'dan ayrıdır. Sandbox'ta yanlış Apple hesabıyla çalışan bir test ya da sadece production'da oluşturulmuş bir ürün, her şeyin hazır olduğu yanılgısına düşürebilir.
Sadece derlenen değil, doğrulanmış bir uygulama
Kendi hesabında hızlı bir testte "çalışan" bir abonelik, başka bir cihazda geri yüklemeye ya da gerçek bir süre bitimine dayanacağını garanti etmez. Apple'daki inceleme ekibinin kontrol ettiği şey de tam olarak bu. iOS uygulama içi abonelik sayfası, ürünlerin oluşturulmasından son kontrole kadar bu zincirin tamamını anlatıyor.
Paywall'un ve aboneliklerin zaten kodda olduğu bir temelden başlamak istersen, iOS Kit içindeki başlangıç kodu tam olarak bunu içeriyor. Aboneliğini inceleme ekibinin yapacağı gibi kontrol etmek için Apple Review Kit, gönderim öncesi kontrol listemi ve uygulama içi satın alma için test edene bırakılacak notları bir araya getiriyor.
Sık sorulan sorular
iOS'ta RevenueCat aboneliği nasıl kurulur?
Dört adımda. Önce ürünlerini App Store Connect'te oluştur. Sonra RevenueCat'i App Store Connect API anahtarınla bağla ve entitlement'larını (erişim haklarını) tanımla, ardından paywall'u oluştur. Son olarak satın almayı, geri yüklemeyi ve süre bitimini test et: genelde üstünkörü geçilen ama Apple'ın kontrol ettiği adım bu.
iOS'ta abonelik satmak için RevenueCat zorunlu mu?
Hayır. Apple'ın framework'ü StoreKit, üçüncü taraf servis olmadan abonelik satmana izin verir. Ama o zaman satın alma, geri yükleme ve erişim hakkı kontrolü mantığının tamamını sen yazarsın, üstelik unutması kolay uç durumlarla: cihaz değişikliği, süre bitimi, iade. RevenueCat seni bu katmandan kurtarmak için App Store Connect ile uygulaman arasına girer.
RevenueCat'te entitlement nedir?
Entitlement bir erişim hakkıdır: aboneliğin neyin kilidini açtığını temsil eder, örneğin uygulamaya tam erişim, bunu tetikleyen ürün hangisi olursa olsun. İleride yıllık bir kademe eklersen, yeni ürünü aynı entitlement'a bağlaman yeterli. Uygulamandaki erişimi kontrol eden kodun değişmesi gerekmez.
RevenueCat aboneliği Apple'a göndermeden önce nasıl test edilir?
Göndermeden önce üç senaryonun çalışması gerekiyor. Satın alma: bir sandbox test hesabıyla erişim, uygulamayı yeniden başlatmadan anında açılır. Geri yükleme: yeni bir cihazda ya da yeniden kurulumdan sonra, aynı Apple hesabıyla, geri yükleme butonu aktif aboneliği bulur. Süre bitimi: sandbox'ta abonelikler birkaç dakikada sona erer, böylece erişimin kapandığını kontrol edebilirsin.
RevenueCat'te görünen bir ürün neden kullanıcılara görünmüyor?
Çoğu zaman ürün hiçbir uygulama gönderimine dahil edilmediği için. App Store Connect'te oluşturulmuş ama ilgili sürümüyle birlikte ilk incelemeye hiç gönderilmemiş bir ürün, RevenueCat onu zaten görse bile kullanıcıların için görünmez kalır. Ürün oluşturma aşamasında sık yapılan bir unutkanlık bu.
RevenueCat aboneliklerden komisyon alıyor mu?
RevenueCat, belirli bir aylık eşiğin üzerindeki gelirlerden komisyon alıyor. Bu, Apple'ın uygulama içinde satılan aboneliklerden aldığı komisyona ekleniyor. İş modelini bu iki komisyon üzerine kurmadan önce güncel kademeleri RevenueCat'in sitesinden kontrol et.