LevelPlay インテグレーションのトラブルシューティング
LevelPlay インテグレーションの一般的な問題のトラブルシューティングを行います。
読み終わるまでの所要時間 22 分最終更新 7日前
Unity エディターに LevelPlay を統合すると、問題が発生する場合があります。以下の種類の問題については、このガイドを使用してトラブルシューティングを行ってください。
LevelPlayBannerPosition によるバナー広告位置の指定
エラー
LevelPlayBannerPositionLevelPlayBannerPosition解決方法
LevelPlay Unity パッケージ バージョン 8.8.0 および 8.8.1 では、 は enum からクラスに変更されました。更新された API は、9 つの定義済みバナー位置をサポートし、 オブジェクトを作成することで正確な (x、y) 座標を指定できます。
LevelPlayBannerPositionLevelPlayBannerPositionUnity エディターコンソールに のコンパイルエラーが表示される場合は、以下の例を参照して、考えられる原因とその解決方法を理解してください。
LevelPlayBannerPosition例 1: パラメーター初期値エラー
デフォルトの enum 値を持つパラメーターとして を渡すと、コンパイルエラーが発生する場合があります。これを修正するには、代わりに null を使用します。
LevelPlayBannerPosition// Use null for the default value, or pass a value explicitlypublic LevelPlayBannerAd(string adUnitId, LevelPlayBannerPosition position = null)
例 2: 無効なスイッチまたは enum の比較
コードで switch ステートメントを使用したり、列挙型または整数型の 値を比較したりすると、コンパイルエラーが発生する場合があります。例を次に示します。
LevelPlayBannerPositionswitch (position) { case LevelPlayBannerPosition.BottomCenter: }
LevelPlayBannerPositionif (position == LevelPlayBannerPosition.BottomCenter) { /* Handle case */ }
レイアウトロジック、ロギング、または分析の目的で必要な場合は、 プロパティを使用してバナー位置を比較することもできます。例を次に示します。
Descriptionif (position.Description == "BottomCenter") { Debug.Log("Banner is at bottom-center.");}
重複クラスに関するエラーメッセージ
プロジェクトをビルドまたはテストしようとすると、重複クラスに関するエラーメッセージ CSO433 が表示されます。このエラーメッセージは、重複しているクラスと、それがどのアセンブリに出現しているかを識別します。重複クラスに関するエラーメッセージの例を以下に示します。
- The type exists in both
IronSourceMediationSettingsandAssembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null(タイプ'Unity.LevelPlay, Version=0.0.0.0, Culture=neutral, PublicKeyToken=nullはIronSourceMediationSettingsとAssembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=nullの両方に存在します)'Unity.LevelPlay, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
重複クラスのエラー原因としては、以下のようなことが考えられます。
- Unity プラグインを削除せずに Ads Mediation パッケージを アップデートする
- Ads Mediation パッケージを削除せずに Unity プラグインを アップデートする
- Ads Mediation パッケージの 大幅な アップデート
このような問題の説明と解決方法については、以下のセクションを参照してください。
Unity プラグインを削除せずに Ads Mediation パッケージを更新した場合
.unitypackage ファイル (Unity プラグイン) がすでにインストールされている状態で、Ads Mediation パッケージを使用して Unity LevelPlay の最新バージョンにアップデートしました。
解決方法
Ads Mediation パッケージをインストールまたはアップデートする前に、.unitypackage ファイル (Unity プラグイン) を削除します。プラグインを削除するには、以下の手順を実行します。
- Unity エディターでプロジェクトを開き、Assets (アセット) に移動します。
- Assets で、使用している LevelPlay SDK のバージョンに応じて、以下のどれかを行います。
- SDK v7.8.0 以前: ironSource を右クリック > Delete (削除)。
- SDK v8.0.0: LevelPlay を右クリック > Delete (削除)。
Ads Mediation パッケージを削除せずに Unity プラグインを更新した場合
Ads Mediation がすでにインストールされている状態で、.unitypackage ファイルを使用して Unity LevelPlay の最新バージョンにアップデートしました。
解決方法
Unity プラグインをインストールまたはアップデートする前に、Ads Mediation パッケージを削除します。以下の手順に従って、Ads Mediation パッケージを Unity エディターから削除します。
- Unity エディターでプロジェクトを開き、ウィンドウ> Package Management> Package Manager に移動します。
- Package Manager で、Packages (パッケージ) > In Project (プロジェクト内) を選択します。
- Ads Mediation > Remove (削除) を選択します。
- Unity エディターで、プロジェクトから Assets (アセット) に移動します。
- Assets で、使用している LevelPlay SDK のバージョンに応じて、以下のどれかを行います。
- SDK v7.8.0 以前: ironSource を右クリック > Delete (削除)。
- SDK v8.0.0: LevelPlay を右クリック > Delete (削除)。
- さらに、インストールされている場合は Mobile Dependency Resolver を右クリック > Delete (削除) を選択します。
Ads Mediation パッケージの大幅なアップデート
Ads Mediation パッケージを初期バージョンからかなり新しいバージョンにアップデートしました。
解決方法
Ads Mediation パッケージに大幅なアップデートが必要な場合は、アップグレードを円滑に行うために、追加の手順が必要になることがあります。
例えば、v1.0.0 から v8.0.0 にアップデートする場合は、アップデート時に追加の手順が必要です。詳細については、Unity Package Manager の Ads Mediation パッケージの説明を参照してください。
LevelPlay SDK からスクリプトシンボルを削除できない
LevelPlay SDK から スクリプトシンボルを削除しても、自動的に SDK に再出現し続けます。
LEVELPLAY_DEPENDENCIES_INSTALLED原因
SDK から スクリプトシンボルを削除すると常に、スクリプトシンボルが自動的に SDK に追加し直されます。LevelPlay SDK Unity パッケージのバージョン 8.0.0 から、このスクリプトシンボルは必須となっています。
LEVELPLAY_DEPENDENCIES_INSTALLED解決策
LevelPlay SDK バージョン 8.0.0 からスクリプトシンボルは必須となっているため、この問題に既知の解決方法はありません。このシンボルは、削除された場合は常に、自動的に追加し直されます。
依存関係クラスの欠落に関するエラーメッセージ
Ads Mediation パッケージをインストールした後、依存関係クラスに関するエラーメッセージを受け取りました。以下のメッセージは、依存関係クラスが見つからない場合の警告の例です。
- The type or namespace name does not exist in the namespace
Core. (型または名前空間の名前Unity.Servicesが名前空間Coreに存在しません)Unity.Services - The type or namespace name could not be found. (型または名前空間の名前
Newtonsoftファイル が見つかりませんでした)Newtonsoft - The type or namespace name could not be found. (型または名前空間の名前
EditorGameServiceFlagEnablerファイル が見つかりませんでした)EditorGameServiceFlagEnabler
原因
これは、LevelPlay SDK Unity パッケージにある の依存関係が削除されたか、インストールできなかった場合に発生します。この依存関係が不足している場合、どの依存関係クラスが見つからなかったかを示すエラーメッセージがコンソールに表示されます。
com.unity.services.core解決方法
欠落している 依存関係を解決するには、2 つの方法があります: 名前を指定して Services Core パッケージを手動でインストールするか、 スクリプトシンボルを削除します。
com.unity.services.coreLEVELPLAY_DEPENDENCIES_INSTALLEDPackage Manager で Services Core パッケージをインストールする
欠落している依存関係を解決するには、以下のようにして Unity Package Manager で Services Core パッケージをインストールします。
- Unity エディターでプロジェクトを開き、ウィンドウ> Package Management> Package Manager に移動します。
- Package Manager ウィンドウで、+ アイコンを選択してドロップダウンメニューを開き、Install package by name... (名前を指定してパッケージをインストール...) を選択してパッケージ名を手動で入力します。
- Name (名前) フィールドに と入力し、Install (インストール) を選択します。
com.unity.services.core
LEVELPLAY_DEPENDENCIES_INSTALLED スクリプトシンボルを削除する
LEVELPLAY_DEPENDENCIES_INSTALLEDcom.unity.services.core依存関係の欠落を解決するには、以下のようにして LevelPlay SDK Unity パッケージから スクリプトシンボルを削除します。
LEVELPLAY_DEPENDENCIES_INSTALLED- Unity エディターでプロジェクトを開き、Edit (編集) > Project Settings (プロジェクト設定) > Player (プレイヤー) に移動します。
- Other Settings (その他の設定) パネルで、Script Compilation (スクリプトのコンパイル) まで下にスクロールします。
- マイナス記号 (-) を選択してシンボルを削除し、LEVELPLAY_DEPENDENCIES_INSTALLED を選択します。
- Apply (適用) を選択して変更内容を保存します。
エディター 6.0 以降で発生する UPM パッケージのインストールエラー
エラー
Unity エディター 6.0 以降で、Ads Mediation (LevelPlay) に を使用している場合、(Services (サービス) > Ads Mediation (LevelPlay) > Install (インストール) にある) Quick Install (クイックインストール) を選択すると、UPM パッケージが誤ってインストールされる場合があります。これにより、コンパイルエラーが発生し、パッケージの機能が停止することがあります。
.unitypackage解決方法
簡易的な解決策は、Package Manager を使用して UPM パッケージを削除することです。
- Unity エディターの上部メニューに移動し、ウィンドウ> Package Management> Package Manager を選択します。
- インストール済みの Ads Mediation パッケージを探します。
- 展開して、右側のパネルに詳細を表示します。
- Remove (削除) を選択して、UPM パッケージをアンインストールします。
これらの手順を実施することで、 を正常な状態に復元し、問題を解決できます。
.unitypackageAds Mediation パッケージを削除する
Unity エディターから Ads Mediation を削除するには、以下の 3 つのタスクを実行します。
以下の手順に従って、Ads Mediation パッケージを Unity エディターから削除します。
- Unity エディターでプロジェクトを開き、ウィンドウ> Package Management> Package Manager に移動します。
- Package Manager で、Packages (パッケージ) > In Project (プロジェクト内) を選択します。
- Ads Mediation > Remove (削除) を選択します。
Ads Mediation のアセットの削除
Ads Mediation パッケージを削除する際には、LevelPlay のアセットも削除します。また、インストールされている場合は追加のファイルの削除も必要になることがあります。Ads Mediation の必要なアセットを削除する手順については、以下を参照してください。
LevelPlay のアセット
Ads Mediation パッケージを削除した後は、LevelPlay のアセットを削除する必要があります。このプロセスは、使用している LevelPlay SDK のバージョンによって少し変わります。以下の手順に従って、LevelPlay のアセットを削除します。
- Unity エディターでプロジェクトを開き、Assets (アセット) に移動します。
- Assets で、使用している LevelPlay SDK のバージョンに応じて、以下のどれかを行います。
- SDK v7.8.0 以前: ironSource を右クリックし、Delete (削除) を選択します。
- SDK v8.0.0: LevelPlay を右クリックし、Delete (削除) を選択します。
Ads Mediation サンプル
Ads Mediation サンプルをインポートしている場合は、Ads Mediation パッケージを削除する際に削除してください。以下の手順に従って、Ads Mediation サンプルを削除します。
- Unity エディターでプロジェクトを開き、Assets (アセット) > Samples (サンプル) > Ads Mediation に移動します。
- Ads Mediation sample (Ads Mediation サンプル) を右クリックし、Delete (削除) を選択します。
Mobile Dependency Resolver
Mobile Dependency Resolver がインストールされている場合は、こちらも以下を実行して削除してください。
- Unity エディターでプロジェクトを開き、Assets (アセット) に移動します。
- Mobile Dependency Resolver を右クリックし、Delete (削除) を選択します。
LevelPlay のスクリプトシンボルの削除
Ads Mediation パッケージとそのアセットを削除した後は、以下の手順に従って、 スクリプトシンボルを削除します。
LEVELPLAY_DEPENDENCIES_INSTALLED- Unity エディターのプロジェクトで、Edit (編集) > Project Settings (プロジェクト設定) に移動します。
- 設定のリストで、Player or File (プレイヤーまたはファイル) > Build Settings (ビルド設定) > Player Settings (プレイヤー設定) に移動します。
- Other Settings (その他の設定) > Script Compilation (スクリプトのコンパイル) まで下にスクロールします。
- スクリプトシンボル LEVELPLAY_DEPENDENCIES_INSTALLED を右クリックし、Delete (削除) を選択します。