了解 User Reporting
在设置 User Reporting后,用户报告会显示在 Unity Dashboard(Unity 后台)上。如果没有显示,请验证报告大小未超过 10 MB。
查看用户报告
- 使用 Unity ID 登录 Unity Dashboard(Unity 后台)。
- 选择相关项目。
- 从主菜单中,选择 DevOps > Cloud Diagnostics > User Reporting(用户报告)。
- 选择报告以查看其详细信息。
**User Reporting(用户报告)**页面显示您已收到的报告。选择所需用户报告即可打开查看其详细信息。
您可以使用 **Dimensions(维度)**和 **Value(值)**下拉菜单来过滤报告。要应用过滤器,请选择 Apply(应用)。要移除任何报告过滤器,请选择 Clear(清除)。有关创建自定义维度的更多信息,请参阅配置 User Reporting。
User Reporting(用户报告)页面顶部显示您的当前报告限制和使用情况,具体取决于您的 Unity 计划。要提高您的报告计数限制和使用情况,请订阅 Unity Pro 或以上计划来升级到 Advanced Cloud Diagnostics。
了解用户报告详细信息
从 User Reporting(用户报告)页面选择用户报告卡片可以打开其详细信息。
随后的页面会显示所选报告的详细数据。页面顶部显示报告接收日期和摘要描述。
要删除或下载报告,请使用 **Report actions(报告操作)**下拉菜单。
用户报告详细信息页面还包含指标、屏幕截图、字段、设备元数据和事件等数据。
- 指标:报告的 Metrics(指标)部分显示了指标采集的帧数范围、指标的平均值,以及特定指标的值范围。
- 屏幕截图:此部分包含随报告提交的任何屏幕截图。选择图像可以更详细地查看屏幕截图。
- 字段:此部分显示随报告一起提交的任何用户定义的维度/值字段。
- 附件:此部分包含随报告提交的任何附件。要下载附件,请选择下载图标或附件名称。
- 元数据:此部分提供有关生成报告的设备和应用程序的详细信息,其中包括您可能添加的任何自定义元数据。
- 事件:此部分显示控制台日志消息或开发者手动提交的消息。事件条目包括:
- 事件:所发生事件的摘要。
- 帧:事件发生的帧。
- 日期和时间:事件发生的日期和时间。
- 状态:事件状态。不同的状态包括信息(蓝色圆圈)、成功(绿色圆圈)、警告(带有感叹号的黄色三角形)和错误(带有感叹号的红色圆圈)。
从未处理的异常发送用户报告
注意:虽然这种方法是可行的,但强烈建议使用 Cloud Diagnostics 的崩溃和异常报告功能来处理未处理的异常。该功能提供了未处理异常的完整 stack trace、事件日志,以及跟踪发生次数和发现模式,所有这些都可以从 Unity Dashboard(Unity 后台)中查看。崩溃和异常报告功能会汇总崩溃报告和异常报告。
当发生未处理的异常时,您可以发送用户报告,以传递日志文件和更多有用的数据。
将以下脚本添加到 User Reporting 包的示例场景中:
void OnEnable()
{
Application.logMessageReceived += UhandledExceptionCallback;
}
void OnDisable()
{
Application.logMessageReceived -= UnhandledExceptionCallback;
}
void UnhandledExceptionCallback(string condition, string stackTrace, LogType type)
{
if (type == LogType.Exception)
{
// Insert your desired behavior here, such as creating and sending a user report.
}
}
这种方法来自于 Application.logMessageReceived
C# 事件,它会在许多情况下触发,包括存在未处理的异常时。通过检查消息的 LogType 是否为 Exception
,代码仅在发生未处理的异常时执行。请注意,如果出于性能考虑而不再需要该响应,要记得从事件中移除回调。