Observer modunda flow'ları sunma - Kotlin Multiplatform

Builder ile bir flow veya paywall özelleştirdiyseniz, bunu kullanıcıya göstermek için mobil uygulama kodunuzda ayrıca render etmeniz gerekmez. Bu tür bir flow veya paywall, hem neyin gösterileceğini hem de nasıl gösterileceğini içerir.

Bu bölüm yalnızca Observer modu için geçerlidir. Observer modunda çalışmıyorsanız Flow’ları ve paywall’ları görüntüleme konusuna bakın.

Bu özellik, Adapty Kotlin Multiplatform SDK 4.0 (beta) veya sonrasını gerektirir — daha önce yalnızca native iOS ve Android SDK’larında mevcuttu. Yükseltmek için migration rehberine bakın.

Flow sunmaya başlamadan önce (Genişletmek için tıklayın)
  1. Adapty’nin App Store ile ve Google Play ile başlangıç entegrasyonunu yapın. 2. Adapty SDK’yı yükleyin ve yapılandırın. Yapılandırma builder’ında withObserverMode(true) çağırdığınızdan emin olun. Kotlin Multiplatform SDK kurulum kılavuzuna bakın. 3. Adapty Kontrol Paneli’nde ürünler oluşturun. 4. Builder’larda flow’lar veya paywall’lar yapılandırın ve bunlara ürünler atayın. 5. Placement’lar oluşturun ve flow’larınızı ya da paywall’larınızı bunlara atayın. 6. Mobil uygulama kodunuzda flow’ları ve yapılandırmalarını çekin.

Observer modunda SDK, satın alma işlemlerini sizin adınıza gerçekleştirmez. Kullanıcı Adapty tarafından render edilen bir flow veya paywall’da satın alma ya da geri yükleme düğmesine dokunduğunda, SDK AdaptyUIObserverModeResolver’ınızı çağırır — satın alma veya geri yükleme işlemini orada kendi kodunuzla gerçekleştirin.

  1. AdaptyUIObserverModeResolver arayüzünü uygulayın:

    import com.adapty.kmp.AdaptyUIObserverModeResolver
    import com.adapty.kmp.models.AdaptyPaywallProduct
    import com.adapty.kmp.models.AdaptyUIFlowView
    
    class MyObserverModeResolver : AdaptyUIObserverModeResolver {
        override fun observerModeDidInitiatePurchase(
            view: AdaptyUIFlowView,
            product: AdaptyPaywallProduct,
            onStartPurchase: () -> Unit,
            onFinishPurchase: () -> Unit
        ) {
            onStartPurchase() // the view shows its loading indicator
            // make the purchase with your own code,
            // then report the transaction to Adapty and call:
            onFinishPurchase() // the view hides the loading indicator
        }
    
        override fun observerModeDidInitiateRestore(
            view: AdaptyUIFlowView,
            onStartRestore: () -> Unit,
            onFinishRestore: () -> Unit
        ) {
            onStartRestore()
            // restore purchases with your own code, then:
            onFinishRestore()
        }
    }

observerModeDidInitiatePurchase metodu, kullanıcının bir satın alma işlemi başlattığını; observerModeDidInitiateRestore ise kullanıcının geri yükleme işlemi başlattığını size bildirir. Buna yanıt olarak özel satın alma veya geri yükleme flow’unuzu tetikleyin.

Ayrıca, satın alma veya geri yükleme sürecini AdaptyUI’ya bildirmek için aşağıdaki callback’leri çağırmayı unutmayın. Bu, yükleyiciyi göstermek gibi doğru flow davranışı için gereklidir:

CallbackDescription
onStartPurchase()Satın alma işleminin başladığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır.
onFinishPurchase()Satın alma işleminin tamamlandığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır.
onStartRestore()Geri yükleme işleminin başladığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır.
onFinishRestore()Geri yükleme işleminin tamamlandığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır.

Flow, kodunuz çalışırken açık kalır — başarılı bir satın alma veya geri yükleme işleminin ardından onu kendiniz kapatmanız gerekir.

  1. Herhangi bir ekranı göstermeden önce resolver’ı kaydedin:

    import com.adapty.kmp.AdaptyUI
    
    AdaptyUI.setObserverModeResolver(MyObserverModeResolver())

    Kayıtlı bir resolver olmadan, flow görünümünün satın alma işlemini kodunuza aktarma yolu yoktur ve kullanıcı satın alma düğmesine bastığında hiçbir şey olmaz.

  2. Flow view’u her zamanki gibi oluşturup sunun: flow’u çekip view’unu oluşturun, ardından sunun. Ekstra parametre gerekmez — resolver kaydedildikten sonra, Adapty tarafından render edilen her flow veya paywall, satın alma ve geri yüklemeleri bu resolver üzerinden yönlendirir.

İşlemi raporlamayı ve paywall ile ilişkilendirmeyi unutmayın. Aksi takdirde Adapty işlemi tanımaz ve satın almanın kaynak paywall’ını belirleyemez.