其他 tvOS Api
调整日志级别
可以控制从控制台中App Center日志消息的数量。 使用 setLogLevel: -API 在调试时启用其他日志记录。 默认情况下,对于环境环境,App Store LogLevelAssert 设置为 ; LogLevelWarning 否则为 。
若要包含尽可能多的日志消息,请使用 MSACLogLevelVerbose / LogLevel.verbose 。
[MSACAppCenter setLogLevel:MSACLogLevelVerbose];
AppCenter.logLevel = .verbose
确定安装
安装App Center后,该 SDK 会为每个设备创建一个 UUID。 更新应用时,此标识符对于设备保持不变,并且仅在重新安装应用时生成一个新标识符。 以下 API 可用于调试。
NSUUID *installId = [MSACAppCenter installId];
var installId = AppCenter.installId
标识用户
App Center SDK 支持设置用于 增强故障报告的用户 ID。 若要使用此功能,请:
- 根据 App Center SDK 入门指南 中所述,通过调用
:start:withServices:App Center SDK 来配置此 SDK。 - 使用
userID下面的代码在 SDK 中设置 :
[MSACAppCenter setUserId:@"your-user-id"];
AppCenter.userId = "your-user-id"
设置用户 ID 后,可以使用App Center搜索功能来搜索 ID 的特定故障报告。 有关详细信息,App Center搜索文档 。
备注
用户 ID 的值限制为 256 个字符。 它将与故障报告一起显示,但不用于聚合或统计受影响的用户。 如果多次设置用户 ID,则只会使用最后一个用户 ID。 你需要在每个应用程序启动之前自己设置用户 ID,因为 SDK 不会在两次启动之间存储此值。
在运行时禁用所有服务
如果要一次禁用所有App Center服务,请使用 setEnabled API。 禁用后,SDK 不会将任何信息转发到App Center。
[MSACAppCenter setEnabled:NO];
AppCenter.enabled = false
若要再次启用所有服务,请使用同一 API,但作为 YES / true 参数传递。
[MSACAppCenter setEnabled:YES];
AppCenter.enabled = true
状态在应用程序启动时一直保留于设备的存储中。
备注
此方法只能在启动后 AppCenter 使用。
禁止网络请求
在 App Center SDK 中,默认情况下允许网络请求。 如果要发送用户关注App Center SDK 收集的数据,可以禁止自动发送数据。
[MSACAppCenter setNetworkRequestsAllowed:false];
AppCenter.networkRequestsAllowed = false
在这种情况下,App Center SDK 将继续收集数据,但仅在允许网络请求时发送数据。
[MSACAppCenter setNetworkRequestsAllowed:true];
AppCenter.networkRequestsAllowed = true
备注
此值在启动之间保留。
你随时都可以检查是否允许在 App Center SDK 中发送数据。
[MSACAppCenter isNetworkRequestsAllowed];
AppCenter.networkRequestsAllowed
在运行时更改服务的状态
在运行时通过以下代码启用或禁用服务:
[MSACAnalytics setEnabled:NO];
Analytics.enabled = false
备注
此方法只能在启动后 Analytics 使用。
检查App Center是否已启用
还可以检查App Center是否已启用。
[MSACAppCenter isEnabled];
AppCenter.enabled
备注
此方法只能在启动后 AppCenter 使用,它始终在启动 false 之前返回。
在运行时App Center SDK 版本
你可以获取当前App Center的 SDK 版本。
[MSACAppCenter sdkVersion];
AppCenter.sdkVersion
存储大小
使用 App Center SDK 时,日志存储在本地设备上。 大型日志可能会占用大量空间,因此可以选择限制本地数据库的大小。 它还可以与 和 pause resume API 结合使用。 如果希望长时间暂停,可以使用更大的数据库大小来存储更多事件。
使用 setMaxStorageSize API 设置本地数据库的大小。 API 是异步的, completionHandler 在启动服务时调用 App Center。 因此, setMaxStorageSize 在调用 之前必须调用 AppCenter.start 。 只能调用 API 一次。
// Use 20 MB for storage.
[MSACAppCenter setMaxStorageSize:(20 * 1024 * 1024) completionHandler:^(BOOL success) {
if (!success) {
// The success parameter is false when the size can't be honored.
}
}];
[MSACAppCenter start:@"{Your App Secret}", withServices:@[[MSACAnalytics class]]];
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024, completionHandler: { (success) in
if !success {
// The success parameter is false when the size can't be honored.
}
})
AppCenter.start(withAppSecret: "{Your App Secret}", services:[Analytics.self])
如果未设置最大存储大小,SDK 将使用默认的最大大小 10 MB。 允许设置的最小大小为 20 KB。
备注
实际的最大存储大小可能略高于所选值。 SQLite 将大小舍入到页面大小的下一倍。 该App Center SDK 使用 4 KB 的页面大小。
备注
超过 25 天的日志将被丢弃。
API 调用失败
调用可能返回 completionHandler false 的原因有很多。
- 指定大小是小于 20 KB (大于 140 TB 的无效值) 。
- 当前数据库大小大于指定的最大大小。
- 已调用 API。 每个进程只能配置一次。
- API 已在 或 之后
AppCenter.start调用AppCenter.configure。
可以使用日志标记在控制台中检查警告 AppCenter 和错误,以排查配置问题。