Unity SDK 故障排除
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。
分析数据未显示在门户中
- 确保已正确集成 SDK 模块。
- 确保项目包含附加
AppCenterBehavior
的“App Center”对象,并且应用机密已添加到“检查器”窗口中的相应字段。 此外,请确保为要使用的每个 App Center 服务检查“使用 {service}”框。 - 在详细日志级别 ) 中检查日志显示“已成功配置 App Center SDK” (,如果看到 HTTPS 请求日志,则检查。
- 确保设备处于联机状态。
- 有时,日志可能需要几分钟才能显示在门户中。 如果是这样,请等待一段时间。
- 若要检查 App Center 后端是否收到了数据,请转到 Analytics 服务中的“日志流”部分。 发送事件后,应显示事件。
崩溃未显示在门户中
- 确保已正确集成 SDK 模块。
- 确保项目包含附加
AppCenterBehavior
的“App Center”对象,并且应用机密已添加到“检查器”窗口中的相应字段。 此外,请确保为要使用的每个 App Center 服务检查“使用 {service}”框。 - 崩溃后重启应用。 App Center 崩溃仅在重启后才会转发故障日志。 如果附加了调试器,SDK 不会保存任何故障日志。 确保应用崩溃时未附加调试器。
- 在详细日志级别 ) 中检查日志显示“已成功配置 App Center SDK” (,如果看到 HTTPS 请求日志,则检查。
- 确保设备处于联机状态。
- 有时,日志可能需要几分钟才能显示在门户中。 如果是这样,请等待一段时间。
- 如果要检查 SDK 是否在下一个应用启动时检测到崩溃,可以调用 API 来检查应用是否在上一个会话中崩溃并显示警报。 或者,可以扩展故障回调,以查看它是否已成功发送到服务器。
- 若要检查 App Center 后端是否收到崩溃,请转到 Analytics 服务中的“日志流”部分。 发送崩溃后,应该会出现在那里。
- 确保应用实际上已崩溃并重启:默认情况下,Unity 会捕获大部分未经处理的异常,这意味着应用不会退出,也不被视为崩溃。 如果 Unity 捕获到崩溃,SDK 会将其报告为“错误”。
Android 项目生成失败
分发模块 4.1.0 或更高版本具有用于支持 Android 11 的新清单标记。 如果使用的是版本之前的 2019.4
Unity,则应显式指定 gradle 版本以避免错误 AAPT: error: unexpected element <queries> found in <manifest>.
。
为了避免生成项目时出现问题,必须添加 mainTemplate.gradle
和 launcherTemplate.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
如果暴露,最大的风险是向应用发送错误数据,但不会影响数据的安全性。
若要检索任何敏感数据,需要提供应用/用户令牌,该 令牌在客户端生成。 无法使客户端上的数据完全安全。
可以通过使用环境变量将应用机密注入代码来提高应用的安全性。 这样,密码在代码中就不可见了。