Superwall'dan Adapty'ye Geçiş | Adapty Dokümanları

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:

  1. Superwall kavramlarını Adapty’ye eşleştirin
  2. Adapty SDK’sını yükleyin
  3. SDK çağrılarını değiştirin
  4. App Store ve Google Play sunucu bildirimlerini değiştirin
  5. Test edin ve yayınlayın
  6. (İ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:

SuperwallAdaptyNe değişiyor
CampaignPlacement + AudienceKampanya mantığı, bir placement (konum) ve bir kitle (kural) olarak ikiye ayrılır.
PlacementPlacementAynı kavram, aynı isim.
Audience filterAudienceKural kümeleri bir placement içinde bulunur.
EntitlementAccess levelAdlandırılmış tanımlayıcı (örneğin, premium).
WebView paywallPaywall Builder paywallAdapty SDK tarafından WKWebView yerine native olarak render edilir.
PurchaseControllerYerleşikUygulanacak protokol yok — satın almaları Adapty yönetir.
Feature gatingAccess 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 register fonksiyonu, 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 bir AdaptyProfile döndürür; böylece bir kullanıcı sports ve science access level’larını bağımsız olarak tutabilir. Eş zamanlı okumalar için, her görünüm yüklemesinde getProfile() çağırmak yerine profili AdaptyDelegate’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 (veya Adapty.getProfile üzerindeki) aktif access level’ı kontrol edin ve oradan devam edin.
  • Paywalllar SDK tarafından render edilir: Superwall, paywallları bir WKWebView iç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:

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.