---
title: "Unity SDKでオンボーディングを取得する"
description: "Unity向けAdaptyでオンボーディングを取得する方法を説明します。"
---

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

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

1. [Adapty Unity SDK](sdk-installation-unity) バージョン 3.14.0 以降をインストール済みであること。
2. [オンボーディングを作成済み](create-onboarding)であること。
3. オンボーディングを[プレースメント](placements)に追加済みであること。

## オンボーディングの取得とビューの作成 \{#fetch-onboarding-and-create-view\}

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

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

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

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

パラメーター：

| パラメーター | 必須 | 説明 |
|---------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **placementId** | 必須 | 目的の[プレースメント](placements)の識別子。Adapty ダッシュボードでプレースメントを作成する際に指定した値です。 |
| **locale** | <p>任意</p><p>デフォルト: `en`</p> | <p>オンボーディングのローカライゼーション識別子。このパラメーターは、マイナス（**-**）文字で区切られた1つまたは2つのサブタグで構成される言語コードを指定します。最初のサブタグは言語を表し、2番目は地域を表します。</p><p></p><p>例：`en` は英語、`pt-br` はブラジルのポルトガル語を表します。</p><p>ロケールコードと推奨する使用方法については、[ローカライゼーションとロケールコード](flutter-localizations-and-locale-codes)を参照してください。</p> |
| **fetchPolicy** | デフォルト: `.reloadRevalidatingCacheData` | <p>デフォルトでは、SDK はサーバーからデータを読み込もうとし、失敗した場合はキャッシュされたデータを返します。ユーザーが常に最新のデータを取得できるため、このオプションを推奨します。</p><p></p><p>ただし、ユーザーが不安定なインターネット環境にいると思われる場合は、`.returnCacheDataElseLoad` を使用してキャッシュデータ（存在する場合）を返すことを検討してください。この場合、ユーザーは最新のデータを取得できないことがありますが、インターネット接続の状態に関わらず、より速い読み込み時間を体験できます。キャッシュは定期的に更新されるため、セッション中にネットワークリクエストを避けるために使用しても安全です。</p><p></p><p>キャッシュはアプリの再起動後も保持され、アプリのアンインストール時または手動でクリアした場合にのみ消去されます。</p><p></p><p>Adapty SDK はオンボーディングをローカルに2層で保存します：上記の定期的に更新されるキャッシュとフォールバックオンボーディングです。また、オンボーディングをより速く取得するためにCDNを使用し、CDNが到達不能な場合のスタンドアローンのフォールバックサーバーも用意しています。このシステムは、インターネット接続が不安定な場合でも、常に最新バージョンのオンボーディングを取得できるよう設計されています。</p> |
| **loadTimeout** | デフォルト: 5秒 | <p>このメソッドのタイムアウト上限を設定します。タイムアウトに達した場合、キャッシュされたデータまたはローカルフォールバックが返されます。</p><p>このメソッドは内部で複数のリクエストで構成される場合があるため、まれに `loadTimeout` で指定した時間より若干遅れてタイムアウトすることがあります。</p> |

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

| パラメーター | 説明 |
|:----------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Onboarding | オンボーディングの識別子と設定、リモートコンフィグ、その他いくつかのプロパティを含む [`AdaptyOnboarding`](https://unity.adapty.io/class_adapty_s_d_k_1_1_adapty_onboarding.html) オブジェクト。 |

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

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

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

パラメーター：

| パラメーター | 必須 | 説明 |
|:---------------| :------------- |:-----------------------------------------------------------------------------|
| **onboarding** | 必須 | 目的のオンボーディングのビューを取得するための `AdaptyOnboarding` オブジェクト。 |
| **externalUrlsPresentation** | <p>任意</p><p>デフォルト: `InAppBrowser`</p> | <p>オンボーディング内のリンクを開く方法を制御します。使用可能なオプション：</p><p>- `AdaptyWebPresentation.InAppBrowser` - リンクをアプリ内ブラウザで開く（デフォルト）</p><p>- `AdaptyWebPresentation.ExternalBrowser` - リンクをデバイスの外部ブラウザで開く</p><p>使用例については、[オンボーディングでのリンクの開き方をカスタマイズする](unity-present-onboardings#customize-how-links-open-in-onboardings)を参照してください。</p> |

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

## デフォルトオーディエンスのオンボーディングでフェッチを高速化する \{#speed-up-onboarding-fetching-with-default-audience-onboarding\}

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

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

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

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

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

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

パラメーター：

| パラメーター | 必須 | 説明 |
|---------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **placementId** | 必須 | 目的の[プレースメント](placements)の識別子。Adapty ダッシュボードでプレースメントを作成する際に指定した値です。 |
| **locale** | <p>任意</p><p>デフォルト: `en`</p> | <p>オンボーディングのローカライゼーション識別子。このパラメーターは、マイナス（**-**）文字で区切られた1つまたは2つのサブタグで構成される言語コードを指定します。最初のサブタグは言語を表し、2番目は地域を表します。</p><p></p><p>例：`en` は英語、`pt-br` はブラジルのポルトガル語を表します。</p> |
| **fetchPolicy** | デフォルト: `.reloadRevalidatingCacheData` | <p>デフォルトでは、SDK はサーバーからデータを読み込もうとし、失敗した場合はキャッシュされたデータを返します。ユーザーが常に最新のデータを取得できるため、このオプションを推奨します。</p><p></p><p>ただし、ユーザーが不安定なインターネット環境にいると思われる場合は、`.returnCacheDataElseLoad` を使用してキャッシュデータ（存在する場合）を返すことを検討してください。この場合、ユーザーは最新のデータを取得できないことがありますが、インターネット接続の状態に関わらず、より速い読み込み時間を体験できます。キャッシュは定期的に更新されるため、セッション中にネットワークリクエストを避けるために使用しても安全です。</p><p></p><p>キャッシュはアプリの再起動後も保持され、アプリのアンインストール時または手動でクリアした場合にのみ消去されます。</p><p></p><p>Adapty SDK はオンボーディングをローカルに2層で保存します：上記の定期的に更新されるキャッシュとフォールバックオンボーディングです。また、オンボーディングをより速く取得するためにCDNを使用し、CDNが到達不能な場合のスタンドアローンのフォールバックサーバーも用意しています。このシステムは、インターネット接続が不安定な場合でも、常に最新バージョンのオンボーディングを取得できるよう設計されています。</p> |