配置用户报告
用户报告的默认设置适用于正常使用,但随着项目的发展,您可能希望针对特定需求进行更改。您可能构建与应用程序匹配的自定义 UI,以引入自定义字段或更改用户报告表单的外观。包中提供的示例是功能性的,但仅作为起点。
用户报告包含有用的信息,例如元数据、事件、采样指标、屏幕截图和文件附件。例如,您可以将用户的游戏存档文件附加到他们的报告中,或在玩家执行特定操作时记录事件。您还可以在性能密集型游戏场景中采样性能指标。
使用 API 配置报告中每种数据类型的最大值。UserReportExample 文件(位于导入到 Unity 项目中的示例中)提供了不同数据添加到报告的方法示例。
例如,您可以自定义以下设置以限制报告中特定数据类型的最大值
FramesPerMeasure
: 测量是指标样本收集的每组帧。默认测量长度为 60 帧。MaximumMeasureCount
: 测量是指标样本中的一组帧,并且计算报告中测量的最大数量。默认值为 300 个测量。MaximumEventCount
: 此限制适用于报告中包含的事件数量。默认值为 100 个事件。MaximumScreenshotCount
: 报告中最多附加的屏幕截图限制。默认值为 10 张屏幕截图。MetricsGatheringMode
: 表示指标收集模式。某些指标(例如每秒帧数 (Graphics.FramesPerSecond))可以使用自动模式(默认配置)包含在报告中。手动模式只会将您自己的自定义指标包含在报告中,而禁用模式将完全阻止任何采样指标发送到报告中。
这些设置没有限制,但如果您设置更高的值,则收集的数据会影响报告的大小。特别是,大型高分辨率屏幕截图可以快速增加报告的大小。
要配置用户报告设置,请调用 UserReportingService.Instance..Configure(UserReportingClientConfiguration configuration)
方法
var customConfig = new UserReportingClientConfiguration(5, 5, 100, 100, MetricsGatheringMode.Automatic);
UserReportingService.Instance.UserReporting.Configure(customConfig);
创建和发送报告
要创建报告,请调用 UserReportingService.Instance.UserReporting.CreateNewUserReport();
。
要发送报告,请调用 UserReportingService.Instance.SendUserReport(Action<float> progressUpdate, Action<bool> result)
。
请查看示例以更好地理解操作参数。发送报告不是必需的,但建议您发送。
添加元数据
使用元数据收集游戏的特定数据,这些数据与用户报告中默认包含的设备元数据一起显示。
要添加自定义元数据,请调用 UserReportingService.Instance.AddMetadata(string name, string value)
方法。
添加元数据对性能的影响可以忽略不计。
记录事件
要记录自定义事件,请调用 UserReportingService.Instance.LogEvent(UserReportEventLevel level, string message)
方法。
记录事件对性能的影响可以忽略不计。
添加采样指标
要添加自定义采样指标,请调用 UserReportingService.Instance.SampleMetric(string name, double value)
方法。
SampleMetric
方法旨在让您在每帧调用它,对性能的影响很小。但是,如果您在每帧调用上述方法,则每个不同的名称都会显著增加报告的大小。
添加屏幕截图
要将屏幕截图添加到报告中,请调用 UserReportingService.Instance.TakeScreenshot(int maximumWidth, int maximumHeight)
方法。屏幕截图在仪表盘中作为报告的一部分查看。
您还可以选择指定屏幕截图的来源,例如使用 UserReportingService.Instance.TakeScreenshot(int maximumWidth, int maximumHeight, object source)
指定相机或渲染纹理。
无论来源如何,图像都会缩放到小于最大宽度和最大高度参数定义的大小为止。
当您选择最大宽度和最大高度时,用户报告必须小于 10MB。最后拍摄的屏幕截图用作仪表盘中报告的缩略图。
注意: 拍摄屏幕截图会影响性能。为了避免对用户造成不利影响,请在性能不关键时拍摄屏幕截图,例如玩家处于空闲状态时。
添加附件
添加附件,例如视频和场景图。
附件被编码为 Base64 对象。
使用 UserReportingService.Instance.AddAttachmentToReport(string title, string filename, byte[] data)
添加附件。
组织报告维度
使用维度在 Unity 仪表盘上过滤用户报告。您可以在发送报告之前将维度和指标添加到报告中,方法是将项目添加到维度属性。每个维度或指标都有一个名称和一个值。您可以通过调用以下方法将新的维度添加到报告中
UserReportingService.Instance.AddDimensionValue(string dimension, string value);
例如,请查看以下维度相关的三个报告
名称 | 值 |
---|---|
平台 | Android |
版本 | 2 |
类别 | 图形 |
平台 | WindowsPlayer |
版本 | 1 |
语言 | 英语 |
平台 | WindowsPlayer |
版本 | 1 |
Platform.Version | WindowsPlayer.1 |
在仪表盘上查看以下过滤选项
维度名称 | 维度值 |
---|---|
类别 | 图形 |
语言 | 英语 |
平台 | Android |
平台 | WindowsPlayer |
Platform.Version | WindowsPlayer: 1 |
版本 | 1 |
版本 | 2 |
您还可以将不同的维度添加到不同的报告中。例如,您可能只想为本地化报告添加 SystemLanguage 作为维度。
用户还可以将单个标签添加到报告摘要中。此标签将显示为维度。
例如,摘要“我掉到地板上了 #FloorBug”将显示为
维度名称 | 维度值 |
---|---|
标签 | FloorBug |