解决您的 LevelPlay 集成问题

Note: Are you looking for the LevelPlay integration guide? Refer to Managing LevelPlay integration for instructions on how to set up LevelPlay mediation in the Unity Editor.

使用 Unity 编辑器将 LevelPlay 集成到您的项目时,可能会遇到一些问题。使用本指南解决以下类型的错误:

重复的类错误消息

尝试构建或测试您的项目时,您会收到重复的类错误消息 CSO433。此错误消息会识别重复的类以及它出现在哪些程序集中。以下是一个重复的类错误消息示例:

  • 类型 IronSourceMediationSettings 同时存在于 Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'Unity.LevelPlay, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null

重复的类错误有以下几种可能原因:

  • 更新 Ads Mediation 包时未移除 Unity 插件
  • 更新 Unity 插件时未移除 Ads Mediation 包
  • 重大 Ads Mediation 包更新

请参考以下部分了解这些问题的描述和解决方法。

更新 Ads Mediation 包时未移除 Unity 插件

当您通过 Ads Mediation 包更新到 Unity LevelPlay 最新版本时,.unitypackage 文件(Unity 插件)已安装。

解决方法

在安装或更新 Ads Mediation 包之前,请先移除 .unitypackage 文件(Unity 插件)。要移除插件,请完成以下步骤:

  1. 在 Unity 编辑器中打开您的项目,然后转到 Assets
  2. Assets 中,根据您使用的 IronSource SDK 版本执行以下操作之一:
    • SDK v7.8.0 及更早版本:右键单击 IronSource > Delete
    • SDK v8.0.0:右键单击 LevelPlay > Delete

Note: If you’re using Developer Settings, record any app keys or selections you’ve made in the Advanced Mediation Settings. You can re-enter these values after you’ve updated to the latest version of the ironSource SDK.

更新 Unity 插件时未移除 Ads Mediation 包

Ads Mediation 已安装时,您通过 .unitypackage 文件更新到 Unity LevelPlay 最新版本。

解决方法

在安装或更新 Unity 插件之前,请先移除 Ads Mediation 包。使用以下步骤从 Unity 编辑器中移除 Ads Mediation 包:

  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
  6. 如果已安装,请右键单击 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 包后,您收到依赖项类错误消息。以下消息是可能出现的缺少依赖项类警告示例:

  • 类型或命名空间名称 Core 不存在于命名空间 Unity.Services 中。
  • 找不到类型或命名空间名称 Newtonsoft
  • 找不到类型或命名空间名称 EditorGameServiceFlagEnabler

原因

如果 IronSource SDK Unity 包中的 com.unity.services.core 依赖项被移除或安装失败,则会出现这种情况。如果此依赖项丢失,控制台会显示一条错误消息,识别出无法找到的依赖项类。

解决方法

有两种方法可以解决缺少的 com.unity.services.core 依赖项问题:通过名称手动安装 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 以保存更改。