App Center Unity (Analytics)
App Center Analytics 可帮助你了解用户行为和客户参与度,以改进应用。 SDK 会自动捕获会话计数和设备属性,例如模型、OS 版本等。可以定义自己的自定义事件来度量重要的事项。 所有捕获的信息均在 App Center门户中提供,供你分析数据。
如果尚未在应用程序中设置 SDK,请按照 Unity 入门部分中的说明进行操作。
备注
若要使用下面介绍的 API,必须将以下 using 语句添加到 .cs 文件:
using Microsoft.AppCenter.Unity.Analytics;
此外,必须确保在 游戏游戏 对象的设置中选中"App Center分析"。
会话和设备信息
添加 App Center Analytics 并启动 SDK 后,它将自动跟踪会话和设备属性(如 OS 版本、模型等),而无需在应用中添加任何其他代码。
自定义事件
可以使用多达 20 个属性跟踪自己的自定义事件,以了解应用中发生的情况、了解用户操作,以及查看 App Center 门户中的聚合。
使用 TrackEvent() 方法通过属性跟踪事件。 可以发送最多 200 个不同的事件名称。 每个事件名称的最大限制为 256 个字符,每个事件属性名称和值的最大限制为 125 个字符。
Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi" }
});
事件的属性是可选的 – 如果只想跟踪事件,请改为使用此示例:
Analytics.TrackEvent("Video clicked");
警告
Analytics.TrackEvent() 如果在脚本 中的 方法之前调用,则跨平台的行为 Awake() 不一致 AppCenterBehavior.cs 。 为安全起见,应仅依赖于在应用程序中的第一个场景影响所有脚本后发送 MonoBehaviour 的事件。 若要将 事件与 的初始化一起跟踪,请考虑将 API 添加到脚本的 方法 MonoBehavour Start() ,而不是 Awake() 。
在运行时启用App Center禁用分析
可以在运行时启用和App Center Analytics。 如果禁用它,SDK 将停止收集应用的分析信息。 若要禁用 Analytics,请使用以下 API,作为 false 参数传递。
Analytics.SetEnabledAsync(false);
若要再次App Center Analytics,请使用相同的 API,但作为 true 参数传递。
Analytics.SetEnabledAsync(true);
状态在应用程序启动时一直保留于设备的存储中。
此 API 是异步的,可以在异步 API 指南中App Center了解。
检查App Center Analytics 是否已启用
还可以检查是否App Center Analytics。
bool isEnabled = await Analytics.IsEnabledAsync();
事件优先级和持久性
可以跟踪重要性高于其他事件的业务关键事件。
开发人员可以将事件的持久性设置为 API (中的常规) 或 API (Flags.PersistenceNormal 中的关键 Flags.PersistenceCritical) 。
可以使用以下 API 将事件跟踪为"严重 ":
Analytics.TrackEvent("eventName", Flags.PersistenceCritical);
如果使用属性:
Analytics.TrackEvent("eventName", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi" }
}, Flags.PersistenceCritical);
暂停和恢复发送日志
当应用需要控制网络带宽以满足更多业务关键需求时,暂停事件传输可能会很有用。 可以暂停将日志发送到App Center后端。 暂停后,仍可跟踪和保存事件,但事件不会立即发送。 应用在暂停时跟踪的任何事件仅在调用 后发送 Analytics.Resume 。
Analytics.Pause();
Analytics.Resume();
此 API 是异步的,可以在异步 API 指南中App Center了解。
本地存储大小
默认情况下,SDK 在存储中最多存储 10MB 的日志。
无法访问 Internet
没有任何网络连接时,SDK 在本地存储中最多保存 10MB 的日志。 存储已满后,SDK 将开始丢弃旧日志,为新日志提供空间。 设备重新访问 Internet 后,SDK 将每隔 50 秒或每 6 秒发送一次日志。
批处理事件日志
App Center SDK 批量上传日志,如果 SDK 没有要发送的 50 个日志,它仍将在 6 秒后发送日志。 最多可以并行发送 3 个批处理。
重试和退市逻辑
App Center SDK 支持在可恢复网络错误时进行退步重试。 下面是重试逻辑:
- 每个请求最多尝试 3 次。
- 每个请求都有自己的重试状态机。
- 所有传输通道都将被禁用 (,直到下一个应用进程) 1 个请求耗尽其所有重试。
退市逻辑
- 50% 随机化,第一次重试 5 到 10 秒,第二次重试 2.5 到 5 分钟,最后尝试 10 到 20 分钟。
- 如果网络从关闭切换到 (从 wi-fi 切换到移动) ,将重置重试状态,并立即重试请求。