iOS SDKでオンボーディングを表示する

SDK v4(ベータ版)以降、オンボーディングのより強力な代替手段としてフローを構築できます。オンボーディングはWebView内で動作しますが、フローはデバイス上でネイティブにレンダリングされるため、スムーズなアニメーション、iOSらしい一貫した外観、高速な読み込み、WebViewランタイムへの依存がなくなります。始めるにはフロー & ペイウォールの取得フロー & ペイウォールの表示をご覧ください。

ビルダーを使ってオンボーディングをカスタマイズした場合、モバイルアプリのコードでレンダリング処理を実装する必要はありません。オンボーディングには、表示内容と表示方法がすべて含まれています。

開始する前に、以下を確認してください:

  1. Adapty iOS SDK 3.8.0 以降をインストール済みであること。
  2. オンボーディングを作成済みであること。
  3. オンボーディングをプレースメントに追加済みであること。

SwiftでオンボーディングををPresent

デバイス画面にビジュアルオンボーディングを表示するには、以下の手順を実行します:

  1. .getOnboardingConfiguration メソッドを使ってオンボーディングのビュー設定を取得します。

  2. .onboardingController メソッドを使って表示したいビジュアルオンボーディングを初期化します:

    リクエストパラメータ:

    パラメータ必須/任意説明
    onboarding configuration必須オンボーディングのすべてのプロパティを含む AdaptyUI.OnboardingConfiguration オブジェクト。AdaptyUI.getOnboardingConfiguration メソッドで取得します。
    delegate必須オンボーディングのイベントを受け取るための AdaptyOnboardingControllerDelegate

    戻り値:

    オブジェクト説明
    AdaptyOnboardingControllerリクエストされたオンボーディング画面を表すオブジェクト
  3. オブジェクトの作成に成功したら、デバイスの画面に表示できます:

    import Adapty
    import AdaptyUI
    
    // 0. Get an onboarding if you haven't done it yet     
    let onboarding = try await Adapty.getOnboarding(placementId: "YOUR_PLACEMENT_ID")
    
    // 1. Obtain the onboarding view configuration:
    let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)
    
    // 2. Create Onboarding View Controller
    let onboardingController = try AdaptyUI.onboardingController(
        with: configuration,
        delegate: <AdaptyOnboardingControllerDelegate>
    ) 
    
    // 3. Present it to the user
    present(onboardingController, animated: true)

SwiftUIでオンボーディングをPresent

SwiftUIでデバイス画面にビジュアルオンボーディングを表示するには:

// 1. Obtain the onboarding view configuration:
let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)

// 2. Display the Onboarding View within your view hierarchy
AdaptyOnboardingView(
    configuration: configuration,
    placeholder: { Text("Your Placeholder View") },
    onCloseAction: { action in
        // hide the onboarding view
    },
    onError: { error in
         // handle the error
    }
)

スプラッシュ画面とオンボーディング間のトランジションをスムーズにする

デフォルトでは、スプラッシュ画面とオンボーディングの間、オンボーディングが完全に読み込まれるまでローディング画面が表示されます。よりスムーズなトランジションにしたい場合は、スプラッシュ画面を延長したり、別のコンテンツを表示するようにカスタマイズできます。

そのためには、プレースホルダー(オンボーディングの読み込み中に表示するもの)を定義してください。プレースホルダーを定義すると、オンボーディングはバックグラウンドで読み込まれ、準備ができ次第自動的に表示されます。

オンボーディング内のリンクの開き方のカスタマイズは、Adapty SDK v3.15.1 以降でサポートされています。

デフォルトでは、オンボーディング内のリンクはアプリ内ブラウザで開きます。これにより、アプリを切り替えることなくウェブページをアプリ内で表示でき、シームレスなユーザー体験を提供します。

外部ブラウザでリンクを開きたい場合は、externalUrlsPresentation パラメータを .externalBrowser に設定することでこの動作をカスタマイズできます:


let configuration = try AdaptyUI.getOnboardingConfiguration(
    forOnboarding: onboarding,
    externalUrlsPresentation: .externalBrowser // default – .inAppBrowser
)