Kotlin Multiplatform SDK'da onboarding gösterimi

Builder ile bir onboarding özelleştirdiyseniz, onu Kotlin Multiplatform uygulama kodunuzda render etme konusunda endişelenmenize gerek yok. Böyle bir onboarding, içinde neyin gösterileceğini ve nasıl gösterileceğini zaten barındırır.

Başlamadan önce şunları sağlayın:

  1. Adapty Kotlin Multiplatform SDK 3.16.1 veya daha yeni bir sürümü yüklediniz.
  2. Bir onboarding oluşturdunuz.
  3. Onboarding’i bir placement’a eklediniz.

Adapty Kotlin Multiplatform SDK, onboarding gösterimi için iki yol sunar:

  • Compose Multiplatform ile
  • Compose Multiplatform olmadan

Compose Multiplatform ile

Bir onboarding göstermek için createOnboardingView metoduyla oluşturulan view üzerinde view.present() metodunu kullanın. Her view yalnızca bir kez kullanılabilir. Onboarding’i tekrar göstermeniz gerekiyorsa yeni bir view örneği oluşturmak için createOnboardingView’u tekrar çağırın.

Aynı view’u yeniden oluşturmadan tekrar kullanmak hataya yol açabilir.

import com.adapty.kmp.AdaptyUI
import kotlinx.coroutines.launch

viewModelScope.launch {
    AdaptyUI.createOnboardingView(onboarding = onboarding).onSuccess { view ->
        view.present()
    }.onError { error ->
        // handle the error
    }
}

iOS sunum stilini yapılandırın

present() metoduna iosPresentationStyle parametresini geçirerek onboarding’in iOS’ta nasıl sunulacağını yapılandırın. Parametre AdaptyUIIOSPresentationStyle.FULLSCREEN (varsayılan) veya AdaptyUIIOSPresentationStyle.PAGESHEET değerlerini kabul eder.

import com.adapty.kmp.AdaptyUI
import com.adapty.kmp.models.AdaptyUIIOSPresentationStyle
import kotlinx.coroutines.launch

viewModelScope.launch {
    val view = AdaptyUI.createOnboardingView(onboarding = onboarding).getOrNull()
    view?.present(iosPresentationStyle = AdaptyUIIOSPresentationStyle.PAGESHEET)
}

Onboarding’lerdeki bağlantılar varsayılan olarak uygulama içi tarayıcıda açılır. Bu, kullanıcıların uygulamadan çıkmadan web sayfalarını görüntülemesine olanak tanıyarak kesintisiz bir deneyim sunar.

Bağlantıların harici tarayıcıda açılmasını tercih ederseniz externalUrlsPresentation parametresini AdaptyWebPresentation.EXTERNAL_BROWSER olarak ayarlayarak bu davranışı özelleştirebilirsiniz:

import com.adapty.kmp.AdaptyUI
import com.adapty.kmp.models.AdaptyWebPresentation
import kotlinx.coroutines.launch

viewModelScope.launch {
    AdaptyUI.createOnboardingView(
        onboarding = onboarding,
        externalUrlsPresentation = AdaptyWebPresentation.EXTERNAL_BROWSER // default – IN_APP_BROWSER
    ).onSuccess { view ->
        view.present()
    }.onError { error ->
        // handle the error
    }
}

Compose Multiplatform olmadan

createNativeOnboardingView, io.adapty:adapty-kmp çekirdek modülünün bir parçasıdır. Projeniz Compose Multiplatform kullanmıyorsa io.adapty:adapty-kmp-ui bağımlılığına ihtiyacınız yoktur.

Compose Multiplatform olmadan onboarding eklemek için createNativeOnboardingView’u çağırın. Bu metot, layout’unuza eklediğiniz bir AdaptyNativeOnboardingView döndürür:

View’u imha edin

View’u layout’unuzdan kaldırırken dispose()’u çağırın. Bu işlem, olay dinleyicisinin kaydını siler ve dahili kaynakları serbest bırakır.

nativeView.dispose()