Unity SDK 故障排除

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

分析数据不会显示在门户中

  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 的新清单标记。 如果您使用的 Unity 版本早于 2019.4 ,应显式指定 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 数据,最大的风险是向应用发送不良数据,但它不会对数据的安全性产生影响。

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

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