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

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

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

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

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

Swiftでのオンボーディングの表示

デバイス画面にビジュアルオンボーディングを表示するには、以下の手順に従ってください。

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

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

    リクエストパラメーター:

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

戻り値:

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

    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でオンボーディングを表示する

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
)