Capacitor SDK でオンボーディングを取得する
Adapty ダッシュボードのビルダーでオンボーディングのビジュアルをデザインしたら、Capacitor アプリに表示できます。最初のステップは、プレースメントに紐づくオンボーディングとそのビュー設定を取得することです。
始める前に、以下を確認してください:
- オンボーディングを作成済みであること。
- オンボーディングをプレースメントに追加済みであること。
オンボーディングの取得
ノーコードビルダーでオンボーディングを作成すると、アプリが取得・表示する必要のある設定コンテナとして保存されます。このコンテナはコンテンツの内容・表示方法・ユーザー操作(クイズの回答やフォーム入力など)の処理方法を含む、エクスペリエンス全体を管理します。また、分析イベントを自動的に追跡するため、個別のビュートラッキングを実装する必要はありません。
パフォーマンスを最適化するため、ユーザーに表示する前に画像のダウンロードが完了するよう、早めにオンボーディング設定を取得してください。
オンボーディングを取得するには、getOnboarding メソッドを使用します:
try {
const onboarding = await adapty.getOnboarding({
placementId: 'YOUR_PLACEMENT_ID',
locale: 'en',
params: {
fetchPolicy: 'reload_revalidating_cache_data', // サーバーから読み込み、失敗時はキャッシュを使用
loadTimeoutMs: 5000 // 5秒タイムアウト
}
});
console.log('Onboarding fetched successfully');
} catch (error) {
console.error('Failed to fetch onboarding:', error);
}
次に、createOnboardingView メソッドを呼び出してビューインスタンスを作成します。
createOnboardingView メソッドの結果は一度しか使用できません。再度使用する必要がある場合は、createOnboardingView メソッドを新たに呼び出してください。
if (onboarding.hasViewConfiguration) {
try {
const view = await createOnboardingView(onboarding);
console.log('Onboarding view created successfully');
} catch (error) {
console.error('Failed to create onboarding view:', error);
}
} else {
// Use your custom logic
console.log('Onboarding does not have view configuration');
}
パラメーター:
| パラメーター | 必須 / 任意 | 説明 |
|---|---|---|
| placementId | 必須 | 目的のプレースメントの識別子。Adapty ダッシュボードでプレースメントを作成した際に指定した値です。 |
| locale | 任意 デフォルト: | オンボーディングのローカライズ識別子。マイナス(-)区切りの 1 つまたは 2 つのサブタグで構成される言語コードを指定します。最初のサブタグは言語、2 番目は地域を表します。 例: ロケールコードと推奨利用方法については、ローカライズとロケールコードを参照してください。 |
| params.fetchPolicy | 任意 デフォルト: | デフォルトでは、SDK はサーバーからデータの読み込みを試み、失敗した場合はキャッシュデータを返します。常に最新データをユーザーに提供できるため、このオプションを推奨します。 ユーザーのインターネット接続が不安定だと思われる場合は、 キャッシュはアプリを再起動しても保持され、アプリの再インストールまたは手動でのクリーンアップ時にのみ削除されます。 |
| params.loadTimeoutMs | 任意 デフォルト: 5000 ms | このメソッドのタイムアウト(ミリ秒)を制限します。タイムアウトに達した場合、キャッシュデータまたはローカルフォールバックが返されます。 内部で複数のリクエストが発生する場合があるため、まれに |
レスポンスパラメーター:
| パラメーター | 説明 |
|---|---|
| onboarding | オンボーディングの識別子・設定・リモートコンフィグなどを含む AdaptyOnboarding オブジェクト。 |
デフォルトオーディエンスオンボーディングで取得を高速化する
通常、オンボーディングはほぼ瞬時に取得されるため、このプロセスを速くすることを特に意識する必要はありません。ただし、オーディエンスやオンボーディングが多数あり、ユーザーのインターネット接続が弱い場合は、取得に時間がかかることがあります。そのような場合、オンボーディングを全く表示しないよりも、デフォルトのオンボーディングを表示してスムーズなユーザー体験を提供したいことがあるでしょう。
この場合、getOnboardingForDefaultAudience メソッドを使用できます。このメソッドは、指定したプレースメントの All Users オーディエンス向けオンボーディングを取得します。ただし、推奨される方法はオンボーディングの取得セクションで説明した getOnboarding メソッドを使用することです。
getOnboardingForDefaultAudience の代わりに getOnboarding の使用を検討してください。前者には以下の重要な制限があります:
- 互換性の問題:複数のアプリバージョンをサポートする際に問題が生じる可能性があり、後方互換性のあるデザインが必要になるか、古いバージョンで正しく表示されないことを受け入れる必要があります。
- パーソナライズなし:「All Users」オーディエンス向けのコンテンツのみ表示され、国・アトリビューション・カスタム属性に基づくターゲティングは行われません。
取得速度の向上がこれらのデメリットを上回る場合は、以下のように getOnboardingForDefaultAudience を使用してください。そうでない場合は、上記の getOnboarding を使用してください。
try {
const onboarding = await adapty.getOnboardingForDefaultAudience({
placementId: 'YOUR_PLACEMENT_ID',
locale: 'en',
params: {
fetchPolicy: 'reload_revalidating_cache_data' // サーバーから読み込み、失敗時はキャッシュを使用
}
});
console.log('Default audience onboarding fetched successfully');
} catch (error) {
console.error('Failed to fetch default audience onboarding:', error);
}
パラメーター:
| パラメーター | 必須 / 任意 | 説明 |
|---|---|---|
| placementId | 必須 | 目的のプレースメントの識別子。Adapty ダッシュボードでプレースメントを作成した際に指定した値です。 |
| locale | 任意 デフォルト: | オンボーディングのローカライズ識別子。マイナス(-)区切りの 1 つまたは 2 つのサブタグで構成される言語コードを指定します。最初のサブタグは言語、2 番目は地域を表します。 例: ロケールコードと推奨利用方法については、ローカライズとロケールコードを参照してください。 |
| params.fetchPolicy | 任意 デフォルト: | デフォルトでは、SDK はサーバーからデータの読み込みを試み、失敗した場合はキャッシュデータを返します。常に最新データをユーザーに提供できるため、このオプションを推奨します。 ユーザーのインターネット接続が不安定だと思われる場合は、 キャッシュはアプリを再起動しても保持され、アプリの再インストールまたは手動でのクリーンアップ時にのみ削除されます。 |