# 了解 User Reporting

> View and filter user reports in the Unity Dashboard to analyze player feedback and bug submissions.

在[设置 User Reporting](/cloud-diagnostics/user-reporting/setting-up-user-reporting.md)后，用户报告会显示在 Unity Dashboard（Unity 后台）上。如果没有显示，请验证报告大小未超过 10 MB。

## 查看用户报告##view-user-reports

1. 使用 Unity ID 登录 [Unity Dashboard（Unity 后台）](http://dashboard.unity3d.com/)。
2. 选择相关项目。
3. 从主菜单中，选择 **DevOps** > **Cloud Diagnostics** > **User Reporting（用户报告）**。
4. 选择报告以查看其详细信息。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/user-reportingpage.png)

\*\*User Reporting（用户报告）\*\*页面显示您已收到的报告。选择所需用户报告即可打开查看其详细信息。

您可以使用 \*\*Dimensions（维度）\*\*和 \*\*Value（值）\*\*下拉菜单来过滤报告。要应用过滤器，请选择 **Apply（应用）**。要移除任何报告过滤器，请选择 **Clear（清除）**。有关创建自定义维度的更多信息，请参阅[配置 User Reporting](/cloud-diagnostics/user-reporting/configuring-user-reporting.md)。

User Reporting（用户报告）页面顶部显示您的当前报告限制和使用情况，具体取决于您的 Unity 计划。要提高您的报告计数限制和使用情况，请[订阅 Unity Pro 或以上计划来升级到 Advanced Cloud Diagnostics](https://store.unity.com/compare-plans)。

## 了解用户报告详细信息##understand-user-report-details

从 User Reporting（用户报告）页面选择用户报告卡片可以打开其详细信息。

随后的页面会显示所选报告的详细数据。页面顶部显示报告接收日期和摘要描述。

要删除或下载报告，请使用 \*\*Report actions（报告操作）\*\*下拉菜单。


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/user-report-detailspage.png)

用户报告详细信息页面还包含指标、屏幕截图、字段、设备元数据和事件等数据。

* **指标**：报告的 Metrics（指标）部分显示了指标采集的帧数范围、指标的平均值，以及特定指标的值范围。
* **屏幕截图**：此部分包含随报告提交的任何屏幕截图。选择图像可以更详细地查看屏幕截图。
* **字段**：此部分显示随报告一起提交的任何用户定义的维度/值字段。
* **附件**：此部分包含随报告提交的任何附件。要下载附件，请选择下载图标或附件名称。
* **元数据**：此部分提供有关生成报告的设备和应用程序的详细信息，其中包括您可能添加的任何自定义元数据。
* **事件**：此部分显示控制台日志消息或开发者手动提交的消息。事件条目包括：
  * **事件**：所发生事件的摘要。
  * **帧**：事件发生的帧。
  * **日期和时间**：事件发生的日期和时间。
  * **状态**：事件状态。不同的状态包括信息（蓝色圆圈）、成功（绿色圆圈）、警告（带有感叹号的黄色三角形）和错误（带有感叹号的红色圆圈）。

## 从未处理的异常发送用户报告##send-user-report-from-an-unhandled-exception

**注意**：虽然这种方法是可行的，但强烈建议使用 Cloud Diagnostics 的[崩溃和异常报告](/cloud-diagnostics/crash-and-exception-reporting/about-crash-and-exception-reporting.md)功能来处理未处理的异常。该功能提供了未处理异常的完整 stack trace、事件日志，以及跟踪发生次数和发现模式，所有这些都可以从 Unity [Dashboard](https://dashboard.unity3d.com/)（Unity 后台）中查看。崩溃和异常报告功能会汇总崩溃报告和异常报告。

当发生未处理的异常时，您可以发送用户报告，以传递日志文件和更多有用的数据。

将以下脚本添加到 User Reporting 包的示例场景中：

```cs
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`，代码仅在发生未处理的异常时执行。请注意，如果出于性能考虑而不再需要该响应，要记得从事件中移除回调。
