LevelPlay 集成故障排除

注意:您是否在寻找 LevelPlay 集成指南?如需了解如何在 Unity 编辑器中设置 LevelPlay 聚合,请参阅管理 LevelPlay 集成

将 LevelPlay 与 Unity 编辑器集成时,可能会遇到一些问题。请按照本指南对以下类型的问题进行故障排除:

重复类错误消息

尝试构建或测试项目时,收到重复类错误消息 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

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

  • 更新了 Ads Mediation 包但未移除 Unity 插件
  • 更新了 Unity 插件但未移除 Ads Mediation 包
  • 重大的 Ads Mediation 包更新

请参阅以下各节了解这些问题的描述和解决方案。

更新了 Ads Mediation 包但未移除 Unity 插件

在已安装 .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(删除)

注意:如果您使用的是 Developer Settings(开发者设置),请记录所有应用密钥或者您在 **Advanced Mediation Settings(高级聚合设置)**中所做的选择。在更新到最新版本的 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,还需右键单击 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 开始,此脚本符号是必需的。

解决方案

此问题没有已知的解决方案,因为从版本 8.0.0 开始,ironSource SDK 需要此脚本符号。此符号在删除后将始终自动重新添加。

缺少依赖项类错误消息

在安装 Ads Mediation 包后,您收到了依赖项类错误消息。以下消息是可能缺少依赖项类警告的示例:

  • The type or namespace name Core does not exist in the namespace Unity.Services.
  • The type or namespace name Newtonsoft could not be found.
  • The type or namespace name EditorGameServiceFlagEnabler could not be found.

原因

如果 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(应用)**以保存所做的更改。