App Center 分析 (Xamarin)

App Center Analytics 可帮助你了解用户行为和客户参与情况以改善你的应用。 SDK 会自动捕获会话计数和设备属性,如型号、OS 版本等。你可以定义自己的自定义事件来度量对你重要的事情。 捕获的所有信息都在 App Center 门户中提供,用于分析数据。

如果尚未在应用程序中设置 SDK,请按照 " 入门 " 部分进行操作。

会话和设备信息

将 App Center Analytics 添加到应用并启动 SDK 后,它会自动跟踪会话和设备属性(如操作系统版本、型号等),而无需编写任何其他代码。

国家/地区代码

如果设备安装了移动数据调制解调器和 SIM 卡,SDK 会自动报告用户的国家/地区代码。 默认情况下,仅 WiFi 设备不会报告国家/地区代码。 若要设置这些用户的国家/地区代码,你必须自行检索用户的位置,并使用 SetCountryCode: SDK 中的方法:

AppCenter.SetCountryCode("en");

备注

对于要在分析会话中显示的国家/地区代码, AppCenter.SetCountryCode 必须在调用之前调用 AppCenter.Start

自定义事件

你可以跟踪你自己的包含 多达20个属性 的自定义事件,以了解用户和应用之间的交互。

启动 SDK 后,请使用 TrackEvent() 方法通过属性跟踪事件。 最多可以发送200个不同的事件名称。 此外,每个事件的125名称和每个事件的属性名称和事件属性值的最大限制为256个字符。

Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
    { "Category", "Music" },
    { "FileName", "favorite.avi"}
});

事件的属性是完全可选的–如果只是想要跟踪事件,请改用以下示例:

Analytics.TrackEvent("Video clicked");

在运行时启用或禁用 App Center 分析

可以在运行时启用和禁用 App Center 分析。 如果禁用它,SDK 将不会为应用收集更多分析信息。

Analytics.SetEnabledAsync(false);

若要再次启用 App Center Analytics,请使用相同的 API,但将 true 作为参数传递。

Analytics.SetEnabledAsync(true);

不需要等待此调用来进行其他 API 调用 (如 IsEnabledAsync) 一致。

在应用程序启动期间,状态将保留在设备的存储中。

备注

此方法只能在启动后使用 Analytics

检查是否已启用 App Center Analytics

还可以检查是否启用了 App Center 分析。

bool isEnabled = await Analytics.IsEnabledAsync();

备注

此方法只能在启动后使用 Analytics ,它将始终 false 在开始之前返回。

本地存储大小

默认情况下,SDK 在存储中存储最多10MB 的日志。

无 internet 访问权限

当没有任何网络连接时,SDK 会在本地存储中最多保存10MB 的日志。 存储完成后,SDK 会开始放弃旧日志,为新日志腾出空间。 设备重新访问 internet 后,SDK 将以50或每6秒后发送日志。

批处理事件日志

App Center SDK 上传一批50中的日志,如果 SDK 没有要发送的50日志,它仍将在6秒后发送日志。 最多可以并行发送三个批次。

重试和后关闭逻辑

App Center SDK 支持在可恢复的网络错误后重试。 下面是重试逻辑:

  • 3每个请求的最大尝试次数。
  • 每个请求都有其自己的重试状态机。
  • 所有传输通道都将被禁用, (在) 1 个请求后,第一个应用进程将用完所有重试。

回退逻辑

  • 50% 随机化,第一次在5到数十之间重试,第二次重试2.5 到5分钟,最后在10到20分钟之间尝试。
  • 如果网络从 (或从 wi-fi 切换到移动) ,重置重试状态并立即重试请求。