ドキュメント

サポート

Unity Ads Monetization (Unity Ads 収益化) ダッシュボード

LevelPlay インテグレーションのトラブルシューティング

LevelPlay インテグレーションの一般的な問題のトラブルシューティングを行います。
読み終わるまでの所要時間 4 分最終更新 13日前

Unity エディターに LevelPlay を統合すると、問題が発生する場合があります。以下の種類の問題については、このガイドを使用してトラブルシューティングを行ってください。

LevelPlayBannerPosition によるバナー広告位置の指定

エラー

LevelPlayBannerPosition
を enum または int として使用するときにコンパイルエラーが発生する場合は、バージョン 8.8.0 で
LevelPlayBannerPosition
が enum からクラスに更新されたことが原因です。この変更は、バナー位置をコードで参照する方法に影響します。

解決方法

LevelPlay Unity パッケージ バージョン 8.8.0 および 8.8.1 では、
LevelPlayBannerPosition
は enum からクラスに変更されました。更新された API は、9 つの定義済みバナー位置をサポートし、
LevelPlayBannerPosition
オブジェクトを作成することで正確な (x、y) 座標を指定できます。
Unity エディターコンソールに
LevelPlayBannerPosition
のコンパイルエラーが表示される場合は、以下の例を参照して、考えられる原因とその解決方法を理解してください。

例 1: パラメーター初期値エラー

デフォルトの enum 値を持つパラメーターとして
LevelPlayBannerPosition
を渡すと、コンパイルエラーが発生する場合があります。これを修正するには、代わりに null を使用します。
// Use null for the default value, or pass a value explicitlypublic LevelPlayBannerAd(string adUnitId, LevelPlayBannerPosition position = null)

例 2: 無効なスイッチまたは enum の比較

コードで switch ステートメントを使用したり、列挙型または整数型の
LevelPlayBannerPosition
値を比較したりすると、コンパイルエラーが発生する場合があります。例を次に示します。
switch (position) { case LevelPlayBannerPosition.BottomCenter: }
LevelPlayBannerPosition
はクラスになったため、このロジックをオブジェクト直接比較に置き換えます。
if (position == LevelPlayBannerPosition.BottomCenter) { /* Handle case */ }
レイアウトロジック、ロギング、または分析の目的で必要な場合は、
Description
プロパティを使用してバナー位置を比較することもできます。例を次に示します。
if (position.Description == "BottomCenter") { Debug.Log("Banner is at bottom-center.");}

重複クラスに関するエラーメッセージ

プロジェクトをビルドまたはテストしようとすると、重複クラスに関するエラーメッセージ CSO433 が表示されます。このエラーメッセージは、重複しているクラスと、それがどのアセンブリに出現しているかを識別します。重複クラスに関するエラーメッセージの例を以下に示します。
  • The type
    IronSourceMediationSettings
    exists in both
    Assembly-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 パッケージを更新した場合

.unitypackage ファイル (Unity プラグイン) がすでにインストールされている状態で、Ads Mediation パッケージを使用して Unity LevelPlay の最新バージョンにアップデートしました。

解決方法

Ads Mediation パッケージをインストールまたはアップデートする前に、.unitypackage ファイル (Unity プラグイン) を削除します。プラグインを削除するには、以下の手順を実行します。
  1. Unity エディターでプロジェクトを開き、Assets (アセット) に移動します。
  2. 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 エディターから削除します。
  1. Unity エディターでプロジェクトを開き、Window (ウィンドウ) > Package Manager に移動します。
  2. Package Manager で、Packages (パッケージ) > In Project (プロジェクト内) を選択します。
  3. Ads Mediation > Remove (削除) を選択します。
  4. Unity エディターで、プロジェクトから Assets (アセット) に移動します。
  5. Assets (アセット) で、使用している ironSource SDK のバージョンによって、以下のどれかを行います。
  • SDK v7.8.0 以前: ironSource を右クリック > Delete (削除)。
  • SDK v8.0.0: LevelPlay を右クリック > Delete (削除)。
  1. さらに、インストールされている場合は 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 namespace
    Unity.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 パッケージをインストールします。
  1. Unity エディターでプロジェクトを開き、Window (ウィンドウ) > Package Manager に移動します。
  2. Package Manager ウィンドウで、+ アイコンを選択してドロップダウンメニューを開き、Install package by name... (名前を指定してパッケージをインストール...) を選択してパッケージ名を手動で入力します。
  3. 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
スクリプトシンボルを削除します。
  1. Unity エディターでプロジェクトを開き、Edit (編集) > Project Settings (プロジェクト設定) > Player (プレイヤー) に移動します。
  2. Other Settings (その他の設定) パネルで、Script Compilation (スクリプトのコンパイル) まで下にスクロールします。
  3. マイナス記号 (-) を選択してシンボルを削除し、LEVELPLAY_DEPENDENCIES_INSTALLED を選択します。
  4. Apply (適用) を選択して変更内容を保存します。