App Center Analytics (Apache Cordova)
备注
对 Cordova 应用的支持于 2022 年 4 月结束。 有关详细信息,请参阅 App Center 博客。
App Center Analytics 可帮助你了解用户行为和客户参与度,以改进应用。 SDK 会自动捕获会话计数和设备属性,例如模型、OS 版本等。可以定义自己的自定义事件来度量重要的事项。 所有捕获的信息均在 App Center 门户中提供,供你分析数据。
如果入门尚未在应用程序中设置 SDK,请遵循以下部分。
会话和设备信息
将 App Center Analytics 添加到应用并启动 SDK 后,它会自动跟踪会话和设备属性,如 OS 版本、模型等。无需编写任何其他代码。
自定义事件
可以使用最多 20 个属性跟踪自己的自定义事件,以了解用户与应用之间的交互。
启动 SDK 后,使用 trackEvent 方法通过属性跟踪事件。 可以发送 最多 200 个不同的事件名称。 此外,每个事件名称的最大限制为 256 个字符,每个事件属性名称和事件属性值的最大限制为 125 个字符。
var success = function() {
console.log("Event tracked");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);
此函数使用第三个参数作为成功回调,该回调返回空字符串,第四个参数作为返回错误的错误回调。
事件的属性是完全可选的。 如果只想跟踪事件,请改为使用此示例:
var success = function() {
console.log("Event tracked");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', success, error);
在运行时启用App Center禁用分析
可以在运行时启用和App Center Analytics。 如果禁用它,SDK 将不再收集应用的分析信息。
var success = function() {
console.log("Analytics disabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.setEnabled(false, success, error);
此函数使用第二个参数作为成功回调,该回调返回空字符串,第三个参数作为返回错误的错误回调。
若要再次App Center Analytics,请使用相同的 API,但作为 true 参数传递。
var success = function() {
console.log("Analytics enabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.setEnabled(true, success, error);
状态在应用程序启动时一直保留于设备的存储中。
检查 App Center Analytics 是否已启用
还可以检查是否App Center Analytics。
var success = function(result) {
console.log("analytics " + (result) ? "enabled" : "disabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.isEnabled(success, error);
此函数使用第一个参数作为成功回调,该回调将 boolean 第二个参数作为错误回调返回错误。
等待 JS 启用 App Center Analytics
在某些情况下,应用程序可能想要询问用户是否想要共享分析信息。 在这种情况下,应在应用设置中 APPCENTER_ANALYTICS_ENABLE_IN_JS true 将首选项config.xml
<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />
这意味着,若要将任何信息发送到 App Center (甚至基本会话) ,开发人员必须先通过向代码添加以下行,在应用中启用 App Center Analytics。
var success = function() {
console.log("analytics disabled");
}
var error = function(error) {
console.error(error);
}
AppCenter.Analytics.setEnabled(true, success, error);
本地存储大小
默认情况下,SDK 在存储中最多存储 10MB 的日志。
无法访问 Internet
没有任何网络连接时,SDK 在本地存储中最多保存 10MB 的日志。 存储已满后,SDK 将开始丢弃旧日志,为新日志提供空间。 设备重新访问 Internet 后,SDK 将每隔 50 秒或每隔 3 秒发送一批日志。
批处理事件日志
App Center SDK 批量上传日志,如果 SDK 没有要发送的 50 个日志,它仍将在 3 秒后发送日志。 最多可以并行发送 3 个批处理。
重试和退市逻辑
App Center SDK 支持在可恢复网络错误时进行退步重试。 下面是重试逻辑:
- 每个请求最多尝试 3 次。
- 每个请求都有自己的重试状态机。
- 所有传输通道在 1 (次请求耗尽其所有重试) 下一个应用进程之前处于禁用状态。
退市逻辑
- 50% 随机化,第一次重试 5 到 10 秒,第二次重试 2.5 到 5 分钟,最后尝试 10 到 20 分钟。
- 如果网络从关闭切换到 (从 wi-fi 切换到移动) ,将重置重试状态,并立即重试请求。