Unity エディターに LevelPlay を統合すると, 問題が発生する場合があります。以下の種類の問題については, このガイドを使用してトラブルシューティングを行ってください。
重複クラスに関するエラーメッセージ
プロジェクトをビルドまたはテストしようとすると, 重複クラスに関するエラーメッセージ CSO433 が表示されます。このエラーメッセージは, 重複しているクラスと, それがどのアセンブリに出現しているかを識別します。重複クラスに関するエラーメッセージの例を以下に示します。
- The type
IronSourceMediationSettings
exists in bothAssembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
and'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 (アセット) で, 使用している ironSource 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 エディターでプロジェクトを開き, Window (ウィンドウ) > Package Manager に移動します。
- Package Manager で, Packages (パッケージ) > In Project (プロジェクト内) を選択します。
- Ads Mediation > Remove (削除) を選択します。
- Unity エディターで, プロジェクトから Assets (アセット) に移動します。
- Assets (アセット) で, 使用している ironSource 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 パッケージの説明を参照してください。
ironSource SDK からスクリプトシンボルを削除できない
ironSource SDK から LEVELPLAY_DEPENDENCIES_INSTALLED
スクリプトシンボルを削除しても, 自動的に SDK に再出現し続けます。
原因
SDK から LEVELPLAY_DEPENDENCIES_INSTALLED
スクリプトシンボルを削除すると常に, スクリプトシンボルが自動的に SDK に追加し直されます。ironSource SDK Unity パッケージのバージョン 8.0.0 から, このスクリプトシンボルは必須となっています。
解決方法
ironSource SDK バージョン 8.0.0 からスクリプトシンボルは必須となっているため, この問題に既知の解決方法はありません。このシンボルは, 削除された場合は常に, 自動的に追加し直されます。
依存関係クラスの欠落に関するエラーメッセージ
Ads Mediation パッケージをインストールした後, 依存関係クラスに関するエラーメッセージを受け取りました。以下のメッセージは, 依存関係クラスが見つからない場合の警告の例です。
- The type or namespace name
Core
does not exist in the namespaceUnity.Services
. (型または名前空間の名前Core
が名前空間Unity.Services
に存在しません) - The type or namespace name
Newtonsoft
could not be found. (型または名前空間の名前Newtonsoft
ファイル が見つかりませんでした) - The type or namespace name
EditorGameServiceFlagEnabler
could not be found. (型または名前空間の名前EditorGameServiceFlagEnabler
ファイル が見つかりませんでした)
原因
これは, ironSource SDK Unity パッケージにある com.unity.services.core
依存関係が削除されたか, インストールできなかった場合に発生します。この依存関係が欠落している場合, どの依存関係クラスが見つからなかったかを示すエラーメッセージがコンソールに表示されます。
解決方法
欠落している com.unity.services.core
依存関係を解決するには, 2 つの方法があります: 名前を指定して Services Core パッケージを手動でインストールするか, LEVELPLAY_DEPENDENCIES_INSTALLED
スクリプトシンボルを削除します。
Package Manager で Services Core パッケージをインストールする
欠落している依存関係を解決するには, 以下のようにして Unity Package Manager で Services Core パッケージをインストールします。
- Unity エディターでプロジェクトを開き, Window (ウィンドウ) > Package Manager に移動します。
- Package Manager ウィンドウで, + アイコンを選択してドロップダウンメニューを開き, Install package by name... (名前を指定してパッケージをインストール...) を選択してパッケージ名を手動で入力します。
- Name (名前) フィールドに
com.unity.services.core
と入力し, Install (インストール) を選択します。
LEVELPLAY_DEPENDENCIES_INSTALLED スクリプトシンボルを削除する
LEVELPLAY_DEPENDENCIES_INSTALLED
スクリプトシンボルを使用して Services Core パッケージを復元することもできます。スクリプトシンボルは, 削除されると自動的に追加し直されます。再インストールプロセスの過程で, com.unity.services.core
パッケージも自動的に再インストールされます。この方法は, エディターに Services Core パッケージが表示されない場合に使用できます。
依存関係の欠落を解決するには, 以下のようにして ironSource SDK Unity パッケージから LEVELPLAY_DEPENDENCIES_INSTALLED
スクリプトシンボルを削除します。
- Unity エディターでプロジェクトを開き, Edit (編集) > Project Settings (プロジェクト設定) > Player (プレイヤー) に移動します。
- Other Settings (その他の設定) パネルで, Script Compilation (スクリプトのコンパイル) まで下にスクロールします。
- マイナス記号 (-) を選択してシンボルを削除し, LEVELPLAY_DEPENDENCIES_INSTALLED を選択します。
- Apply (適用) を選択して変更内容を保存します。