iOS SDKでオンボーディングを表示する
SDK v4以降では、オンボーディングのより強力な代替手段としてフローを構築できます。オンボーディングがWebView内で動作するのに対し、フローはデバイス上でネイティブにレンダリングされます。これにより、よりスムーズなアニメーション、一貫したiOSのルック&フィール、高速な読み込み、WebViewランタイムへの依存がなくなるといったメリットが得られます。始めるには、フローとペイウォールの取得およびフローとペイウォールの表示をご覧ください。
ビルダーでオンボーディングをカスタマイズした場合、モバイルアプリのコードでレンダリングを意識する必要はありません。このようなオンボーディングには、表示する内容と表示方法の両方が含まれています。
始める前に、以下を確認してください:
- Adapty iOS SDK 3.8.0 以降をインストール済みであること。
- オンボーディングを作成済みであること。
- オンボーディングをプレースメントに追加済みであること。
Swiftでのオンボーディングの表示
デバイス画面にビジュアルオンボーディングを表示するには、以下の手順に従ってください。
-
.getOnboardingConfigurationメソッドを使用して、オンボーディングのビュー設定を取得します。 -
.onboardingControllerメソッドを使用して、表示したいビジュアルオンボーディングを初期化します。リクエストパラメーター:
| パラメータ | 必須/任意 | 説明 |
|---|---|---|
| onboarding configuration | 必須 | すべてのオンボーディングプロパティを含む AdaptyUI.OnboardingConfiguration オブジェクト。AdaptyUI.getOnboardingConfiguration メソッドを使用して取得します。 |
| delegate | 必須 | オンボーディングイベントを受け取るための AdaptyOnboardingControllerDelegate。 |
戻り値:
| オブジェクト | 説明 |
|---|---|
| AdaptyOnboardingController | リクエストされたオンボーディング画面を表すオブジェクト |
-
オブジェクトが正常に作成されたら、デバイスの画面に表示できます:
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
)