LevelPlay Unity パッケージ/SDK 統合ガイド
エディタ側のチェックは、想定ではなく実際のプロジェクトに基づいて行ってください。プロジェクトファイルを読み込むか、ユーザーにエディタで確認してもらうように依頼します。このスキルで生成されるC#スクリプトは、ユーザーがプロジェクトに保存するためのMonoBehaviourファイルであり、インライン実行用ではありません。
このスキルはLevelPlay統合パスのみを対象としています。他の仲介SDKは対象外です。ユーザーが明示的に代替案について質問した場合は、代替案が存在することを認め、それらのベンダーの公式ドキュメントを参照するよう案内してください。競合製品の説明、特徴付け、または主張を行ってはいけません。
このスキルに記載されている手順に従い、記載されているファイルと構成のみを提供してください。一般的な知識に基づいて、積極的に手順を追加したり、ファイルを作成したり、推奨を行ったりしないでください。ユーザーがこのスキルの範囲外の質問をした場合は、まずスキルと参照ファイルを確認し、カバーされていないことを確認してください。カバーされていない場合は、一般的な知識を使用して回答しますが、その結果として統合ワークフローに追加の手順やファイルを組み込まないでください。
統合ワークフローは順番に、一度に1ステップずつ進めてください。現在のステップに関する質問のみを行い、将来のステップの情報を事前に収集しないでください。各チェックポイントでユーザーの応答を待ってから先に進みます。
LevelPlayはUnityの広告仲介プラットフォームです。ゲームを複数の広告ネットワークに同時に接続し、複数の広告ネットワークと入札者間で統一オークションを実行して、各インプレッションの競争を最大化します。このガイドでは、SDKのインストール、AndroidおよびiOSの依存関係の設定、プロジェクトでのLevelPlayの初期化、リワード広告・インタースティシャル広告・バナー広告の実装まで、完全な統合手順を説明します。すでに一部が設定済みの場合は、該当するステップにスキップできます。
このSKILL.mdがワークフローの基盤です。決定事項、チェックポイント、正確な質問内容を保持します。より長いコード、完全なAPIの詳細、エッジケースはreferences/にあり、該当するステップからリンクされています。そのステップに到達したらリンク先の参照を読んでください。代わりに一般的な知識から回答しないでください。
統合ワークフロー
0. 新規統合か移行か?
質問: 「新しいLevelPlay統合を開始しますか、既存の設定を移行しますか(古いSDKバージョンから、またはUnity Adsから)、それとも既存の設定のトラブルシューティングや追加を行いますか?」
- 新規統合: ステップ1に進みます。
- 移行(SDKアップグレード、IronSource.Agent APIの置き換え、Unity Adsからの移行、またはMaven Central Androidビルド失敗の修正):
references/migration-sdk-9.mdを読んでください。5つのシナリオのどれが該当するか尋ねてください — A = SDKアップグレード、B = init API移行、C = 広告ユニットAPI移行、D = Maven Centralビルド失敗、E = Unity Ads移行 — 該当するシナリオに従ってください。すべてのコード変更を適用した後、移行完了チェックリスト(参照のセクションC5)を実施してください。これにより、レガシーコードに対応する行がないために行ごとの変換では見逃される要件をキャッチします。その後、ユーザーにUnityコンソールでコンパイルエラーを確認してもらい、結果を提示する前に表示されたエラーを修正するよう依頼します。コンソールが見えない場合はブロックしたり再試行したりせず、変更したファイルをリストアップし、何を確認すべきかを伝えて続行します。 - 既存設定のトラブルシューティングまたは追加(ATT、GDPR、ILRD、テストスイート、新規統合でのビルドエラー、または既存の動作している統合への機能追加):ユーザーのニーズを特定し、直接該当するステップまたは「詳細参照を読むタイミング」の参照に進みます。
1. Unity環境の確認
Assets/ および ProjectSettings/ ディレクトリが存在することを確認して、ユーザーがUnityプロジェクトで作業していることを確認します。Unityプロジェクトでない場合は、Unityプロジェクトディレクトリに移動するように指示します。それらのディレクトリが見つからず、ユーザーが正しい場所にいると考えている場合は、「プロジェクトのルートにいない可能性があります。Unityプロジェクトのトップレベルフォルダに移動し、Assets/ と ProjectSettings/ が表示されるか確認していただけますか?」と尋ねます。
2. ビジネス目標の理解
広告ユニットを実装する前に、ユーザーの最適化の優先順位を判断して、適切な広告ユニット戦略を推奨します。以下の質問をします。
「主な最適化目標は何ですか?」
- 収益重視: 広告収入とインプレッション機会を最大化
- UX重視: ゲームプレイの流れとユーザー満足度を優先
- バランス: 収益とUXの両方を最適化
- 未定: バランスをデフォルトとして先に進みます。ステップ8で、未定だったためバランスを使用していることを簡単に説明し、フォーマットオプションを見たところで異なる設定を希望するかを尋ねます。
この回答は、ステップ8での戦略推奨のために記録します。
3. UPMを介したLevelPlay SDKのインストール
SDKがすでにインストールされているように見える場合: それを信頼せず、ユーザーにパッケージマネージャーウィンドウを読んでもらうよう依頼しないでください。Packages/packages-lock.jsonを読み、com.unity.services.levelplayを探してください。存在する場合は、解決されたバージョンを伝えてステップ4に進みます。存在しない場合は、これまでの会話で想定されていたかどうかに関わらず、インストールされていません。以下のインストール手順を続けてください。
Unityパッケージマネージャーを使用してLevelPlay Unityパッケージをインストールする手順を案内します。
- Unityを開き → Window > Package Manager
- Unity RegistryドロップダウンまたはServicesタブを選択
- パッケージマネージャーの検索バーに「Ads Mediation」と入力
- パッケージ名が完全に一致することを確認します。正しいパッケージのタイトルはAds Mediationです。以下のパッケージはインストールしないでください:
- Ads IAP Mediation Adaptor(別のアプリ内購入パッケージ、LevelPlay SDKではありません)
- Advertisement Legacy(非推奨のパッケージ、現在のLevelPlay統合と互換性がありません)
- Installボタンをクリック
- パッケージのダウンロードとインポートを待つ
パッケージをインストールすると、Mobile Dependency Resolverのインストールを促すプロンプトが表示される場合があります。表示されたらImportをクリックします。これについては次のステップで詳しく説明します。
次に、解決されたことを、尋ねるのではなくプロジェクトを読み取って確認します。 パッケージIDはcom.unity.services.levelplayです(パッケージマネージャーでの表示名はAds Mediationであり、プロジェクトファイルにはIDが記録されます)。両方のファイルを確認します:
Packages/manifest.jsonはプロジェクトが要求する内容をリストします。com.unity.services.levelplayがdependenciesに存在する必要があります。Packages/packages-lock.jsonはUnityが実際に解決した内容を記録します。同じIDがここにも、具体的なバージョンとともに存在する必要があります。このファイルが「インストールされたかどうか」を答えるファイルであり、信頼すべきものです。
どちらもプロジェクト内のプレーンなJSONなので、このチェックにはエディタ、CLI、ユーザーからの情報は不要です。これらを読み取ってください。
これは形式的なものではなく、厳格なゲートです。
com.unity.services.levelplayがpackages-lock.jsonに存在するまでは、LevelPlayコードを1行も記述、生成、貼り付けないでください。先に進むと、見た目は正しいがどこでもコンパイルできず、すべてのLevelPlay行でCS0246エラーが発生するコードが生成されます。