Unity SDK 故障排除

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方案。

分析数据未显示在门户中

  1. 确保已正确集成 SDK 模块。
  2. 确保项目包含附加 AppCenterBehavior 的“App Center”对象,并且应用机密已添加到“检查器”窗口中的相应字段。 此外,请确保为要使用的每个 App Center 服务检查“使用 {service}”框。
  3. 在详细日志级别 ) 中检查日志显示“已成功配置 App Center SDK” (,如果看到 HTTPS 请求日志,则检查。
  4. 确保设备处于联机状态。
  5. 有时,日志可能需要几分钟才能显示在门户中。 如果是这样,请等待一段时间。
  6. 若要检查 App Center 后端是否收到了数据,请转到 Analytics 服务中的“日志流”部分。 发送事件后,应显示事件。

崩溃未显示在门户中

  1. 确保已正确集成 SDK 模块。
  2. 确保项目包含附加 AppCenterBehavior 的“App Center”对象,并且应用机密已添加到“检查器”窗口中的相应字段。 此外,请确保为要使用的每个 App Center 服务检查“使用 {service}”框。
  3. 崩溃后重启应用。 App Center 崩溃仅在重启后才会转发故障日志。 如果附加了调试器,SDK 不会保存任何故障日志。 确保应用崩溃时未附加调试器。
  4. 在详细日志级别 ) 中检查日志显示“已成功配置 App Center SDK” (,如果看到 HTTPS 请求日志,则检查。
  5. 确保设备处于联机状态。
  6. 有时,日志可能需要几分钟才能显示在门户中。 如果是这样,请等待一段时间。
  7. 如果要检查 SDK 是否在下一个应用启动时检测到崩溃,可以调用 API 来检查应用是否在上一个会话中崩溃并显示警报。 或者,可以扩展故障回调,以查看它是否已成功发送到服务器。
  8. 若要检查 App Center 后端是否收到崩溃,请转到 Analytics 服务中的“日志流”部分。 发送崩溃后,应该会出现在那里。
  9. 确保应用实际上已崩溃并重启:默认情况下,Unity 会捕获大部分未经处理的异常,这意味着应用不会退出,也不被视为崩溃。 如果 Unity 捕获到崩溃,SDK 会将其报告为“错误”。

Android 项目生成失败

分发模块 4.1.0 或更高版本具有用于支持 Android 11 的新清单标记。 如果使用的是版本之前的 2019.4 Unity,则应显式指定 gradle 版本以避免错误 AAPT: error: unexpected element <queries> found in <manifest>.。 为了避免生成项目时出现问题,必须添加 mainTemplate.gradlelauncherTemplate.gradle (仅当使用 Unity 2019.4) 文件显式指定 gradle 版本时,才应添加此文件。 请打开“项目设置播放器>”Android>选项卡“>发布设置>生成”,然后选择“自定义主 Gradle 模板”和“自定义启动器 Gradle 模板”。 生成文件后,在文件顶部插入以下行:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.3'
    }
}

allprojects {
   repositories {
      google()
      mavenCentral()
      flatDir {
        dirs 'libs'
      }
   }
}

阅读有关 使用 Unity 指南生成 Android 11 的详细信息。

保护 App Center 机密值

app_secret是应用的标识符,需要知道流量应用于哪个应用,并且不能用于检索或编辑现有数据。 app_secret如果暴露,最大的风险是向应用发送错误数据,但不会影响数据的安全性。

若要检索任何敏感数据,需要提供应用/用户令牌,该 令牌在客户端生成。 无法使客户端上的数据完全安全。

可以通过使用环境变量将应用机密注入代码来提高应用的安全性。 这样,密码在代码中就不可见了。