Superwall'dan Geçiş
Superwall’dan Adapty’ye geçişlerin büyük çoğunluğu yaklaşık iki saat sürer. SDK’yı değiştirirsiniz, mağaza sunucu bildirimlerinizi Adapty’ye yönlendirirsiniz ve yeni bir uygulama sürümü yayınlarsınız. Ücretli aboneleriniz erişimlerini korur — Adapty, ilk açılışta bunu App Store ve Google Play makbuzlarından otomatik olarak geri yükler.
Aboneleriniz otomatik olarak geçiş yapacak
Bir aboneliği etkinleştirmiş olan tüm kullanıcılar, Adapty SDK’sı ile yeni bir uygulama sürümünü açtıklarında Adapty’ye geçer. Abonelik durumu doğrulama ve premium erişim otomatik olarak geri yüklenir.
Bu kılavuz nasıl düzenlenmiştir
Geçiş altı adımdan oluşur:
- Superwall kavramlarını Adapty’ye eşleştirin
- Adapty SDK’sını yükleyin
- SDK çağrılarını değiştirin
- App Store ve Google Play sunucu bildirimlerini değiştirin
- Test edin ve yayınlayın
- (İsteğe bağlı) Geçmiş verileri içe aktarın
Superwall kavramlarını Adapty’ye eşleştirin
Superwall kavramlarının büyük çoğunluğunun Adapty’de doğrudan bir karşılığı vardır:
| Superwall | Adapty | Ne değişiyor |
|---|---|---|
| Campaign | Placement + Audience | Kampanya mantığı, bir placement (konum) ve bir kitle (kural) olarak ikiye ayrılır. |
| Placement | Placement | Aynı kavram, aynı isim. |
| Audience filter | Audience | Kural kümeleri bir placement içinde bulunur. |
| Entitlement | Access level | Adlandırılmış tanımlayıcı (örneğin, premium). |
| WebView paywall | Paywall Builder paywall | Adapty SDK tarafından WKWebView yerine native olarak render edilir. |
PurchaseController | Yerleşik | Uygulanacak protokol yok — satın almaları Adapty yönetir. |
| Feature gating | Access level kontrolü | profile.accessLevels["premium"]?.isActive değerini kontrol edin. |
Koda dokunmadan önce dikkat edilmesi gereken iki zihinsel değişim var:
- Getirme ve gösterme ayrı adımlardır: Superwall’un
registerfonksiyonu, paywallı getirir, kampanyayı değerlendirir ve UI’ı tek bir çağrıda sunar. Adapty bu adımları ayırır — paywallı getirirsiniz, yapılandırmasını alırsınız ve ardından gösterirsiniz. Bu değişiklik birkaç satır ekler ama yapılandırmaları önceden yüklemenize, özel bir yükleme durumu göstermenize veya kendi mantığınıza göre gösterimi iptal etmenize olanak tanır. - Abonelik durumu access level başınadır: Superwall, tek bir yayımlanan
subscriptionStatusözelliği sunar. Adapty, adlandırılmış access level’larla birAdaptyProfiledöndürür; böylece bir kullanıcısportsvescienceaccess level’larını bağımsız olarak tutabilir. Eş zamanlı okumalar için, her görünüm yüklemesindegetProfile()çağırmak yerine profiliAdaptyDelegate’ten önbelleğe alın.
Adapty SDK’sını yükleyin
Platformunuz için Adapty SDK’sını yükleyin — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor — ve aynı anda projenizden SuperwallKit’i kaldırın.
SDK çağrılarını değiştirin
Entegrasyonunuzun her alanını inceleyin ve Superwall çağrısını Adapty karşılığıyla değiştirin. Her alt bölümün sonundaki bağlantılar yedi platform SDK’sının tamamını kapsar — uygulamanızla eşleşen platformu takip edin.
SDK’yı başlatın
Superwall.configure yerine Adapty.activate kullanın.
Platformunuz için kurulum kılavuzuna bakın — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor.
Kullanıcıları tanımlayın ve oturumu kapatın
Superwall.shared.identify yerine Adapty.identify, Superwall.shared.reset yerine Adapty.logout kullanın. Her iki SDK de ilk açılışta anonim bir profil oluşturur, bu nedenle bu çağrılar yalnızca kullanıcı oturum açtığında veya kapattığında gereklidir. Tanımladıktan sonra paywallları yeniden getirin — yeni kullanıcı farklı bir kitleye çözümlenebilir.
Platformunuz için tanımlama kılavuzuna bakın — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor.
Paywall getirin ve gösterin
Superwall.shared.register yerine iki adımlı bir flow kullanın: Adapty.getPaywall ile paywallı getirin, AdaptyUI.getPaywallConfiguration ile görünüm yapılandırmasını yükleyin ve ardından gösterin.
Dikkat edilmesi gereken iki fark:
- Feature gating,
feature:kapanışının yerini alır: Paywall kapandıktan sonra, dönen profildeki (veyaAdapty.getProfileüzerindeki) aktif access level’ı kontrol edin ve oradan devam edin. - Paywalllar SDK tarafından render edilir: Superwall, paywallları bir
WKWebViewiçinde render eder. Adapty, Paywall Builder paywalllarını native olarak render eder — fontlar, ürün bilgileri ve düğmeler SDK tarafından çizilir.
Platformunuz için paywall hızlı başlangıç kılavuzuna bakın — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor.
Abonelik durumunu kontrol edin
Superwall.shared.subscriptionStatus yerine profilin adlandırılmış access level’ında şu kontrolü yapın: profile.accessLevels["premium"]?.isActive. @Published özellik deseni yerine AdaptyDelegate.didLoadLatestProfile(_:) aracılığıyla değişiklikleri izleyin ve eş zamanlı okumalar için profili kendi tarafınızda önbelleğe alın.
Platformunuz için abonelik durumu kılavuzuna bakın — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor.
Satın almaları ve geri yüklemeleri yönetin
Paywall Builder ile her iki SDK de satın almaları paywall UI’ı içinde otomatik olarak işler — bu adımı atlayabilirsiniz.
Özel paywalllar için Superwall bir PurchaseController uygulaması gerektirir. Adapty gerektirmez: PurchaseController.purchase yerine Adapty.makePurchase, PurchaseController.restorePurchases yerine Adapty.restorePurchases kullanın. SDK, doğrulamayı kendi başına yönetir.
Platformunuz için özel paywall hızlı başlangıç kılavuzuna bakın — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor.
Kullanıcı özelliklerini ayarlayın
Superwall.shared.setUserAttributes yerine Adapty.updateProfile kullanın.
Platformunuz için kullanıcı özellikleri kılavuzuna bakın — iOS, Android, React Native, Flutter, Kotlin Multiplatform, Unity veya Capacitor.
App Store ve Google Play sunucu bildirimlerini değiştirin
Mağaza sunucu bildirimlerinizi Adapty’ye yönlendirin. Adapty bunlar olmadan da çalışır; ancak analitik, üçüncü taraf entegrasyonlar ve A/B testi metrikleri bunlara bağlıdır:
- App Store: App Store sunucu bildirimlerini etkinleştirin kılavuzunu takip edin.
- Google Play: Gerçek zamanlı geliştirici bildirimlerini etkinleştirin kılavuzunu takip edin.
Yayın sürecinde Superwall ve Adapty’yi paralel çalıştırmak istiyorsanız raw events forwarding özelliğini kullanın — Adapty, yeni entegrasyonu doğrularken mağaza olaylarını Superwall’a proxy’ler.
Test edin ve yayınlayın
Yayınlamadan önce her maddeyi işaretleyin:
- Adapty Kontrol Paneli yapılandırıldı (ürünler, paywalllar, placement’lar, access level’lar)
- Adapty SDK’sı yüklendi
- Superwall SDK çağrıları Adapty karşılıklarıyla değiştirildi
- App Store ve Google Play sunucu bildirimleri Adapty’ye yönlendirildi
- Sandbox satın alması yapıldı
- Yeni uygulama sürümü gönderildi
Son bir doğrulama geçişi için yayın kontrol listesine bakın.
(İsteğe bağlı) Geçmiş verileri içe aktarın
Superwall, abonelik durumunuza sahip değildir — App Store ve Google Play sahiptir. Adapty, ilk açılışta makbuzları doğrular, bu nedenle ücretli kullanıcılar herhangi bir içe aktarma olmadan erişimlerini korur.
Adapty analitiğine geçmiş işlemlerin yedeklenmesini istiyorsanız Adapty’ye geçmiş verileri içe aktarın kılavuzunu takip edin. SDK’nın güncel satın alma fiyatlarını toplaması için zaman tanımak amacıyla SDK sürümünden en az bir hafta sonra bekleyin.
SSS
Uygulamayı güncellemeyen abonelere ne olur?
Kullanıcıların büyük çoğunluğu uygulamalarını gece otomatik olarak günceller, bu nedenle eski sürümdeki kullanıcı payı hızla azalır. Eski sürümdeki aboneler erişimlerini doğrudan App Store veya Google Play aracılığıyla korur — güncellemeyi zorunlu kılmanıza gerek yoktur.
Superwall kampanya kitleleri aktarılıyor mu?
Hayır. Superwall kitle filtreleri ve Adapty kitleleri farklı kontrol panellerinde yapılandırılır ve farklı tanımlayıcılar kullanır. Hedeflemenizi Adapty placement’ları içinde kitle olarak yeniden oluşturun. Çoğu uygulama bir veya iki placement çalıştırır (onboarding ve genel uygulama içi tetikleyici), bu nedenle yeniden yapılandırma genellikle kısa sürer.
Adapty’nin getPresentationResult karşılığı var mı?
Tek bir çağrı olarak mevcut değil. Bir placement’ın paywall gösterip göstermeyeceğini kontrol etmek için Adapty.getPaywall(placementId:) çağırın ve sonuca göre yönlendirin. Çağrı başarılı olursa, o kullanıcının kitlesi için bir paywall atanmış demektir. Hiçbir paywall yapılandırılmadığı için başarısız olursa, gösterimi atlayın ve yedek mantığınızı çalıştırın.