Unity SDKでオンボーディングを取得する

Adapty ダッシュボードのビルダーでオンボーディングのビジュアルをデザインした後、Unity アプリでそれを表示できます。このプロセスの最初のステップは、以下に説明するように、プレースメントに関連付けられたオンボーディングとそのビュー設定を取得することです。

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

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

オンボーディングの取得とビューの作成

ノーコードビルダーでオンボーディングを作成すると、アプリが取得して表示する必要のある設定を含むコンテナとして保存されます。このコンテナは、表示されるコンテンツ、表示方法、およびユーザーのインタラクション(クイズの回答やフォームの入力など)の処理方法など、全体のエクスペリエンスを管理します。また、コンテナは自動的にアナリティクスイベントを追跡するため、個別にビュートラッキングを実装する必要はありません。

最高のパフォーマンスを得るために、ユーザーに表示する前に画像のダウンロードが完了するよう、早めにオンボーディング設定を取得してください。

オンボーディングを取得するには、GetOnboarding メソッドを使用します:

Adapty.GetOnboarding("YOUR_PLACEMENT_ID", (onboarding, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // the requested onboarding
});

パラメーター:

パラメーター必須説明
placementId必須目的のプレースメントの識別子。Adapty ダッシュボードでプレースメントを作成する際に指定した値です。
locale

任意

デフォルト: en

オンボーディングのローカライゼーション識別子。このパラメーターは、マイナス(-)文字で区切られた1つまたは2つのサブタグで構成される言語コードを指定します。最初のサブタグは言語を表し、2番目は地域を表します。

例:en は英語、pt-br はブラジルのポルトガル語を表します。

ロケールコードと推奨する使用方法については、ローカライゼーションとロケールコードを参照してください。

fetchPolicyデフォルト: .reloadRevalidatingCacheData

デフォルトでは、SDK はサーバーからデータを読み込もうとし、失敗した場合はキャッシュされたデータを返します。ユーザーが常に最新のデータを取得できるため、このオプションを推奨します。

ただし、ユーザーが不安定なインターネット環境にいると思われる場合は、.returnCacheDataElseLoad を使用してキャッシュデータ(存在する場合)を返すことを検討してください。この場合、ユーザーは最新のデータを取得できないことがありますが、インターネット接続の状態に関わらず、より速い読み込み時間を体験できます。キャッシュは定期的に更新されるため、セッション中にネットワークリクエストを避けるために使用しても安全です。

キャッシュはアプリの再起動後も保持され、アプリのアンインストール時または手動でクリアした場合にのみ消去されます。

Adapty SDK はオンボーディングをローカルに2層で保存します:上記の定期的に更新されるキャッシュとフォールバックオンボーディングです。また、オンボーディングをより速く取得するためにCDNを使用し、CDNが到達不能な場合のスタンドアローンのフォールバックサーバーも用意しています。このシステムは、インターネット接続が不安定な場合でも、常に最新バージョンのオンボーディングを取得できるよう設計されています。

loadTimeoutデフォルト: 5秒

このメソッドのタイムアウト上限を設定します。タイムアウトに達した場合、キャッシュされたデータまたはローカルフォールバックが返されます。

このメソッドは内部で複数のリクエストで構成される場合があるため、まれに loadTimeout で指定した時間より若干遅れてタイムアウトすることがあります。

レスポンスパラメーター:

パラメーター説明
Onboardingオンボーディングの識別子と設定、リモートコンフィグ、その他いくつかのプロパティを含む AdaptyOnboarding オブジェクト。

オンボーディングを取得したら、CreateOnboardingView メソッドを呼び出します。

CreateOnboardingView メソッドの結果は一度しか使用できません。再度使用する必要がある場合は、CreateOnboardingView メソッドを再度呼び出してください。再作成せずに2回呼び出すと、AdaptyUIError.viewAlreadyPresented エラーが発生する可能性があります。

AdaptyUI.CreateOnboardingView(onboarding, (view, error) => {
    // handle the result
});

パラメーター:

パラメーター必須説明
onboarding必須目的のオンボーディングのビューを取得するための AdaptyOnboarding オブジェクト。
externalUrlsPresentation

任意

デフォルト: InAppBrowser

オンボーディング内のリンクを開く方法を制御します。使用可能なオプション:

- AdaptyWebPresentation.InAppBrowser - リンクをアプリ内ブラウザで開く(デフォルト)

- AdaptyWebPresentation.ExternalBrowser - リンクをデバイスの外部ブラウザで開く

使用例については、オンボーディングでのリンクの開き方をカスタマイズするを参照してください。

オンボーディングとそのビュー設定の読み込みに成功したら、モバイルアプリで表示することができます。

デフォルトオーディエンスのオンボーディングでフェッチを高速化する

通常、オンボーディングはほぼ即座に取得されるため、このプロセスの高速化を心配する必要はありません。ただし、オーディエンスやオンボーディングが多数あり、ユーザーのインターネット接続が弱い場合、オンボーディングの取得に予想以上の時間がかかることがあります。そのような状況では、オンボーディングをまったく表示しないよりも、スムーズなユーザー体験を確保するためにデフォルトのオンボーディングを表示したい場合があります。

これに対処するために、GetOnboardingForDefaultAudience メソッドを使用できます。このメソッドは、All Users オーディエンス向けの指定されたプレースメントのオンボーディングを取得します。ただし、上記のオンボーディングの取得とビューの作成セクションで説明した getOnboarding メソッドでオンボーディングを取得することが推奨されるアプローチであることを理解することが重要です。

GetOnboardingForDefaultAudience の代わりに GetOnboarding の使用を検討してください。前者には重要な制限があります:

  • 互換性の問題:複数のアプリバージョンをサポートする際に問題が生じる可能性があり、後方互換性のあるデザインを作成するか、古いバージョンで正しく表示されないことを許容する必要があります。
  • パーソナライゼーションなし:「All Users」オーディエンス向けのコンテンツのみを表示し、国、アトリビューション、またはカスタム属性に基づくターゲティングが行われません。

ユースケースでこれらのデメリットよりも高速な取得が重要な場合は、以下に示すように GetOnboardingForDefaultAudience を使用してください。そうでない場合は、上記の説明通り GetOnboarding を使用してください。

Adapty.GetOnboardingForDefaultAudience("YOUR_PLACEMENT_ID", (onboarding, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // the requested onboarding
});

パラメーター:

パラメーター必須説明
placementId必須目的のプレースメントの識別子。Adapty ダッシュボードでプレースメントを作成する際に指定した値です。
locale

任意

デフォルト: en

オンボーディングのローカライゼーション識別子。このパラメーターは、マイナス(-)文字で区切られた1つまたは2つのサブタグで構成される言語コードを指定します。最初のサブタグは言語を表し、2番目は地域を表します。

例:en は英語、pt-br はブラジルのポルトガル語を表します。

fetchPolicyデフォルト: .reloadRevalidatingCacheData

デフォルトでは、SDK はサーバーからデータを読み込もうとし、失敗した場合はキャッシュされたデータを返します。ユーザーが常に最新のデータを取得できるため、このオプションを推奨します。

ただし、ユーザーが不安定なインターネット環境にいると思われる場合は、.returnCacheDataElseLoad を使用してキャッシュデータ(存在する場合)を返すことを検討してください。この場合、ユーザーは最新のデータを取得できないことがありますが、インターネット接続の状態に関わらず、より速い読み込み時間を体験できます。キャッシュは定期的に更新されるため、セッション中にネットワークリクエストを避けるために使用しても安全です。

キャッシュはアプリの再起動後も保持され、アプリのアンインストール時または手動でクリアした場合にのみ消去されます。

Adapty SDK はオンボーディングをローカルに2層で保存します:上記の定期的に更新されるキャッシュとフォールバックオンボーディングです。また、オンボーディングをより速く取得するためにCDNを使用し、CDNが到達不能な場合のスタンドアローンのフォールバックサーバーも用意しています。このシステムは、インターネット接続が不安定な場合でも、常に最新バージョンのオンボーディングを取得できるよう設計されています。