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

Adapty ダッシュボードのビルダーで[オンボーディングのビジュアル部分をデザイン](design-onboarding)したら、Androidアプリに表示できます。まず最初に、プレースメントに紐付いたオンボーディングとそのビュー設定を取得する必要があります。詳しくは以下をご覧ください。

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

1. [Adapty Android SDK](sdk-installation-android) バージョン 3.8.0 以上がインストールされていること。
2. [オンボーディングを作成済み](create-onboarding)であること。
3. オンボーディングを[プレースメント](placements)に追加済みであること。

## オンボーディングの取得 \{#fetch-onboarding\}

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

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

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

```kotlin showLineNumbers
Adapty.getOnboarding("YOUR_PLACEMENT_ID") { result ->
    when (result) {
        is AdaptyResult.Success -> {
            val onboarding = result.value
            // the requested onboarding
        }
        is AdaptyResult.Error -> {
            val error = result.error
            // handle the error
        }
    }
}
```

パラメーター：

| パラメーター | 必須/任意 | 説明 |
|---------|--------|------|
| **placementId** | 必須 | 対象の[プレースメント](placements)の識別子です。Adapty ダッシュボードでプレースメントを作成する際に指定した値です。 |
| **locale** | <p>任意</p><p>デフォルト：`en`</p> | <p>オンボーディングのローカライズ識別子です。マイナス（**-**）文字で区切られた1つまたは2つのサブタグで構成される言語コードを指定してください。最初のサブタグは言語、2番目のサブタグは地域を示します。</p><p></p><p>例：`en` は英語、`pt-br` はブラジルポルトガル語を表します。</p><p>ロケールコードの詳細と推奨される使い方については、[ローカライズとロケールコード](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><p>Android の場合：拡張関数（例：`5.seconds`、`.seconds` は `import com.adapty.utils.seconds` から）を使って `TimeInterval` を作成するか、`TimeInterval.seconds(5)` を使用できます。制限を設けない場合は `TimeInterval.INFINITE` を指定してください。</p> |

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

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

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

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

この問題に対応するため、`getOnboardingForDefaultAudience` メソッドを使用できます。このメソッドは、指定されたプレースメントの **All Users** オーディエンス向けオンボーディングを取得します。ただし、推奨される方法は上記の[オンボーディングの取得](#fetch-onboarding)セクションで説明した `getOnboarding` メソッドを使用することです。

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

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

高速な取得がこれらのデメリットを上回る場合は、以下に示すように `getOnboardingForDefaultAudience` を使用してください。それ以外の場合は、[上記](#fetch-onboarding)で説明した `getOnboarding` を使用してください。
:::

```kotlin
Adapty.getOnboardingForDefaultAudience("YOUR_PLACEMENT_ID") { result ->
    when (result) {
        is AdaptyResult.Success -> {
            val onboarding = result.value
            // Handle successful onboarding retrieval
        }
        is AdaptyResult.Error -> {
            val error = result.error
            // Handle error case
        }
    }
}
```

パラメーター：

| パラメーター | 必須/任意 | 説明 |
|---------|--------|------|
| **placementId** | 必須 | 対象の[プレースメント](placements)の識別子です。Adapty ダッシュボードでプレースメントを作成する際に指定した値です。 |
| **locale** | <p>任意</p><p>デフォルト：`en`</p> | <p>オンボーディングのローカライズ識別子です。マイナス（**-**）文字で区切られた1つまたは2つのサブタグで構成される言語コードを指定してください。最初のサブタグは言語、2番目のサブタグは地域を示します。</p><p></p><p>例：`en` は英語、`pt-br` はブラジルポルトガル語を表します。</p><p>ロケールコードの詳細と推奨される使い方については、[ローカライズとロケールコード](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> |