# Unity パッケージインテグレーション

> LevelPlay Unity プラグインをダウンロードしてプロジェクトに統合し、広告メディエーションと Monetization の機能を有効にします。

> **Note:**
>
> LevelPlay Unity パッケージは、[Unity エディターがサポートする LTS バージョン](https://unity.com/releases/editor/archive)、Android オペレーティングシステムのバージョン 4.4 (API レベル 19) 以上をサポートします。iOS バージョンサポートはネットワークごとに定義されます。LevelPlay メディエーションは、iOS バージョン 13 以降と Xcode バージョン 16 以降をサポートします。

> **Tip:**
>
> **AI 支援インテグレーション (ベータ):** Claude コードおよびその他の AI コーディング エージェント向けの LevelPlay Unity インテグレーション スキルでは、LevelPlay 設定のステップバイステップのガイダンスを提供します。まず、[Unity スキル リポジトリ](https://github.com/Unity-Technologies/skills)からインストールし、エージェントでアクティベートします。このスキルは現在ベータ版であり、フィードバックによって形作られます。[アンケートにお答えしてご意見をお聞かせください](https://docs.google.com/forms/d/e/1FAIpQLSe7WvWozJ67KjgOLglSBvLug8JdgEYk895nn_BHZs0HS_bWJA/viewform)。

## ステップ 1. Unity プロジェクトに LevelPlay を追加する##step-1.-add-levelplay-to-your-unity-project

> **Note:**
>
> LevelPlay Unity パッケージの以前のバージョンからバージョン 9.0.0 以上にアップグレードする場合は、代わりに [このガイド](/grow/levelplay/sdk/unity/maven-central-migration-guide.md) に従ってください。

LevelPlay パッケージは、次のようにインストールできます。

* \*\*推奨:\*\*Unity でウィンドウ> Package Manager を選択して、Ads Mediation パッケージをプロジェクトに追加します。外観が「Ads Mediation」の場合は、インストール ボタンを選択します。パッケージの名前 `com.unity.services.levelplay` でも追加できます。
* または、[Unity プラグインバージョン](https://github.com/ironsource-mobile/Unity-sdk/raw/master/9.5.0/UnityLevelPlay_v9.5.0.unitypackage) 9.5.0 (.unitypackage) をダウンロードし、Unity プロジェクトにインポートします。

いったんインストールビルトインのサンプルで LevelPlay の実用的なインテグレーションを探るし、試すことができます。Package Manager の[パッケージ詳細ビュー](https://docs.unity3d.com/Manual/upm-ui-details.html)で、Samples (サンプル) に移動し、LevelPlay サンプルをインポートして調査を開始します。

## ステップ 2. SDK を初期化する##step-2.-initialize-the-sdk

LevelPlay プラットフォームをまだ作成していない場合は、そのプラットフォームに移動し、[新しいアプリケーションを作成](/grow/levelplay/platform/get-started/add-app.md)します。完了したら、アプリケーション キー を使用して SDK を初期化します。

1. \*\*名前空間のインポート：\*\*C# スクリプトの先頭に、名前空間 `using Unity.Services.LevelPlay;` を含めます。
2. \*\*SDK を初期化します。\*\*開始（） メソッド内で、イベントリスナーを登録し、SDK を初期化します。

```csharp
public void Start() {
    // Register OnInitFailed and OnInitSuccess listeners
    LevelPlay.OnInitSuccess += SdkInitializationCompletedEvent;
    LevelPlay.OnInitFailed += SdkInitializationFailedEvent;
    // SDK init
    LevelPlay.Init("ThisIsYourAppKey");
}
```

LevelPlay を初期化する前に OnInitFailed と OnInitSuccess を登録することが重要です。これらは重要な知見を提供します。

**OnInitSuccess** – LevelPlay が正常に初期化されたときにトリガーされます。このコールバックバックを受け取った後、アプリケーションで広告の表示を開始できます。

**OnInitFailed** – LevelPlay が初期化に失敗したため広告が表示できない場合にトリガーされます。後で LevelPlay の初期化を試してみることをお勧めします (インターネット接続が利用可能なとき、または失敗の理由が解決されたとき)。

### UserID の設定##set-userid

LevelPlay の初期化時にユーザー ID を渡すことができます。これは、広告品質の[ユーザージャーニー](/grow/ad-quality/user-journey.md)を使用しようとしている場合や、サーバー間のコールバックを使用してユーザーに報酬を与える場合に便利です。

```csharp
LevelPlay.Init("ThisIsYourAppKey", "UserId");
```

## ステップ 3. LevelPlay ネットワークマネージャ##step-3.-levelplay-network-manager

LevelPlay ネットワークマネージャウィンドウは、LevelPlay に関するすべての機能を停止できます。Unityの上部のナビゲーション バーのAds Mediationの下にあります。ここから、以下を行うことができます。

* LevelPlay SDK の更新。
* 希望する広告ネットワークをインストールおよび更新します。インストールしたら、各広告ネットワークを個別に設定する必要があります。[詳細](/grow/levelplay/sdk/unity/mediation-networks.md)
* インストールされている広告ネットワークに応じて、アプリケーションのInfo.plistがSKAdNetwork IDで自動的に更新されます。

![Unity の LevelPlay ネットワーク マネージャ。](/api/media?file=/grow/media/images/9.2.0-Network-Manager.png)

LevelPlay Unity パッケージ 8.8.1 から、Ironsource Ads に加えて Unity Ads アダプタがデフォルトでインストールされます。Unity Ads アカウントの設定の詳細については、『 [Unity Ads インテグレーションガイド](/grow/levelplay/sdk/unity/networks/guides/unity-ads.md) 』を参照してください。

### Android##android

変更を適用し、関連する広告ネットワークアーティファクトをダウンロードするには、リゾルバを使用する必要があります。これには、以下を選択します。Assets (アセット) > Mobile Dependency Manager (モバイル依存関係マネージャー) > Android Resolver (Android リゾルバー) > Resolve (解決)

これは、LevelPlay ネットワーク マネージャで各変更後に行う必要があります。

Gradle を使用している場合は、ネットワークアーティファクトをプロジェクトにダウンロードすることを避けることができます。代わりに、アーティファクトはコンパイル中に Gradle ファイルに追加されます。

> **Note:**
>
> Unity パッケージ 8.10.0 以降でモバイル依存関係リゾルバをインポートした場合は、自動的に行われます。

このプロセスを有効にするには、以下の手順に従います。

1. これには、以下を選択します。編集> プロジェクト設定> プレイヤー> Android> 公開設定
2. カスタム Main Gradle テンプレートを有効にする
3. これには、以下を選択します。Assets (アセット) > Mobile Dependency Manager (モバイル依存関係マネージャー) > Android Resolver (Android リゾルバー) > Settings (設定) の順に選択します。
4. “パッチ mainTemplate.gradle” を選択します。
5. 「OK」を押して変更を保存します

## ステップ 4. 追加設定##step-4.-additional-setup

### iOS##ios

### SKAdNetworkサポート##skadnetwork-support

> **Note:**
>
> Unity パッケージのバージョン 9.1.0 以上の新規インストールを実行した場合、LevelPlay は自動的にこれを管理します。バージョン 8.8.1-9.0.1 では、ステップ 3 で説明されているように、この特徴は ネットワーク Manager で有効にできます。8.10.0 以前のバージョンでは、Ads Mediation (広告メディエーション) > 開発者 Settings (開発者設定) > LevelPlay Mediation Settings (LevelPlay メディエーション設定) で LevelPlay SDK SKAN ID の自動化も有効にする必要があります。

SKAdNetwork ID の自動化が無効になっている場合は、SDK 7 以降の使用中に広告のディスプレイを有効にするには、アプリケーションのリスト(Info.plist) にインストール済みネットワークごとの SKAdNetwork ID を手動で含める必要があります。

```xml
<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>su67r6k2v3.skadnetwork</string>
  </dict>
</array>
```

### アプリケーション転送のセキュリティ設定##app-transport-security-settings

* 「NSAppTransportSecurity」というディクショナリを追加します。'Top Level キー' にこのディクショナリを必ず追加してください。
* このディクショナリ内に、「NSAllowsArbitraryLoads」というブーリアンを追加し、「YES」に設定します。
* 競合が発生する可能性があるため、info.plistに「NSAllowsArbitraryLoads」以外の例外が含まれていないことを確認してください。
* ATS の詳細については、[こちら](https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33)を参照してください。

> **Important:**
>
> Appleのプライバシー要件に準拠するには、SKAdNetworkアトリビューション(Unityパッケージ9.1.0時点で自動マネージ)とiOSのプライバシーマニフェストを実装する必要があります。LevelPlay は両方をサポートしています。詳細は [こちら](/grow/levelplay/sdk/unity/ios-privacy-settings-configurations.md) を参照してください。

> **Important:**
>
> アプリケーションに関連するプライバシーメソッドを実装する必要があります。詳細は[こちら](/grow/levelplay/sdk/unity/regulation-advanced-settings.md)を参照してください。

### Android##android

Android 13 以降 (API レベル 33 以降) を使用するアプリケーションは、マニフェストファイルで次のように Google 再生サービスの法線パーミッションを宣言する必要があります。

```xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
```

Google Advertising ID の変更については、[こちら](https://support.google.com/googleplay/android-developer/answer/6048248?hl=en)を参照してください。

## ステップ 5.インテグレーションの確認##step-5.-verify-your-integration

LevelPlay パッケージは、インテグレーションテストスイートを使用してインテグレーションが正常に完了したことを簡単に検証する方法を提供します。アプリケーションのインテグレーションのテスト、プラットフォーム設定の確認、および設定されたネットワークに関連する広告のレビューを行います。

アプリケーションでテストスイートを有効にするには、SDK を初期化する前に以下の呼び出します。

```csharp
LevelPlay.SetMetaData("is_test_suite", "enable");
```

LevelPlay が正常に初期化されたら、以下を呼び出してテストスイートを起動します。

```csharp
LevelPlay.LaunchTestSuite();
```

LevelPlay インテグレーションテストスイートの詳細と実装例については、この[記事](/grow/levelplay/sdk/unity/integration-test-suite.md)を操作してください。

## 次のステップ##next-steps

LevelPlay の設定が完了し、使用の準備ができました。インテグレーション ガイドに従って広告フォーマットを実装します。

* [Rewarded (リワード型)](/grow/levelplay/sdk/unity/rewarded-ad-integration-package.md)
* [Interstitial (インタースティシャル)](/grow/levelplay/sdk/unity/interstitial-integration.md)
* [Banner](/grow/levelplay/sdk/unity/banner-integration.md)
