文档

支持

Cloud Diagnostics

Cloud Diagnostics

SDK 迁移指南

Update your User Reporting implementation from version 1.0 to version 2.0 to access the latest features and updates.
阅读时间4 分钟最后更新于 1 个月前

User Reporting SDK 现已更新,并影响整个 API。 最显著的是,为了更好地聚焦开发和支持,公共 API 范围已经大幅缩减。 User Reporting 1.0 是指旧版 SDK;您可以在这里找到参考分发。User Reporting 2.0 是指 Unity Package Manager 中可用的更新 SDK。

重大变化

  • 整个 API 现在位于
    Unity.Services.UserReporting
    命名空间中。
  • 该 API 现在通过
    Unity.Services.UserReporting.Instance
    使用单个访问点。
  • 整个源代码已不再公开,因此
    CyclicalList
    等辅助工具在 SDK 中不再可用。
  • 该 SDK 使用外部依赖项,而不是包含源代码依赖项和提供对其的访问,比如
    SimpleJSON
    解析器或
    PngHelper
    类;两者都已被移除。
  • 一些错误修复尚未进行回溯,其中包括修复了发送报告时可能发生的内存泄露。
  • AsyncUnityUserReportingPlatform
    已被移除。
  • 示例 prefab GUI 现在会根据显示进行缩放。
旧 SDK 中的过时元素不再被视为受支持;如果您的工作依赖于
SimpleJSON
解析器等辅助工具,仍然可以继续使用它们,但我们强烈建议您用替代方案替换它们。Unity 将不再维护或支持先前版本 SDK 中的这些元素。
如果您打算在项目中依赖旧的 SDK 辅助工具来提供新功能,比如使用
PngHelper
,我们建议您探索替代方案,而不是依赖已过时的 SDK。
User Reporting API 专注于与 User Reporting 相关的功能,并有助于防止未来的 API 变动。它还有助于 Unity 专门提供对 SDK User Reporting 方面有意义的支持和改进。

使用新的示例预制件

旧版 SDK 中包含的示例起点已经进行了更新和替换。它提供了相同的最终用户功能,并且可以在场景中进行替换。

创建报告

用户报告对象不再手动创建。一次只能创建并发送一个报告。正在进行的报告被称为“进行中”报告。如果创建新的用户报告,它将清除先前的进行中报告(如果存在的话)。
UserReportingService.Instance.CreateNewUserReport();
如果您希望同时收集和整理多个报告的数据,您需要负责数据管理,最终在准备好发送时将这些数据导出为报告。

发送报告

该 SDK 现在一次只处理一个报告。该 API 不是将 UserReport 对象提供给 send 方法,而是有一个单独的调用来发送进行中报告:
UserReportingService.Instance.SendUserReport(...)
此外,进行中报告现在不再只有一个回调,而是提供了两个单独的可选回调:一个用于提交进度更新,另一个用于报告提交尝试结束时。
UserReportingService.Instance.SendUserReport((uploadProgress) =>{ // The progressUpdate Action uses the uploadProgress float to indicate progress from 0.0 -> 1.0 Debug.Log("${uploadProgress:P}");},(success) =>{ // The result Action uses the success bool to indicate whether or not the submission succeeded if (!success) { Debug.Log("Failed to send report!"); }});

关于添加数据的一般性更改

将个别对象值添加到个别报告对象的列表时,使用了一个专用函数,其参数与过去使用的构造函数相同并适用于各处。 请查看以下示例,这种情况下添加了一个新的报告维度: 1.0 添加新报告维度示例:
UserReport current;UnityUserReporting.CurrentClient.CreateUserReport((report) => { current = report;});current.Dimensions.Add(new UserReportNamedValue("Category", “Value”));
2.0 添加新报告维度示例:
UserReportingService.Instance.AddDimensionValue("Category", “Value”);

添加自定义附件

该 SDK 现在有一个函数,可以将附件添加到进行中报告,而不是直接将附件添加到用户报告对象本身:
string content = "{}"; // An empty JSON object for example purposes.UserReportingService.Instance.AddAttachmentToReport("Sample Attachment JSON", "SampleAttachment.json", Encoding.UTF8.GetBytes(content), "application/json");
添加(设备)元数据:“设备元数据”通常简称为元数据。同样,现在有一个专门用于此目的的函数。
UserReportingService.Instance.AddMetadata(“Example Name”, “Example Value”)

总结

截至本文撰写时,User Reporting 面板仍符合本文描述。 在升级到该 SDK 的最新版本时,请参阅官方 User Reporting 文档。