Skip to main content

iOS Metrickit

metrickit 能力可以采集 ios metrickit 的回调数据,并且上报到 bugly 平台进行筛选和查看。

image-20230719191419002

配置开启

Bugly 初始化时包含 RM_MODULE_METRICKIT 相关逻辑才会生效,metrickit 能力默认关闭,可以通过配置开关metric_kit开启或关闭。

主动上报

因为 iOS 16.0.x 系统注册多个 metrickit 回调时,有概率发生 crash 因此如果业务必须注册 metrickit 回调时,可以使用以下两个接口主动上报 metrickit 数据到 bugly 平台。

调用以下接口时,不再受 bugly metrickit 开关控制。因此请自行评估上报量级,以免消耗过多套餐。

/// MetricKit 监控模块Plugin,Bugly 初始化时包含 RM_MODULE_METRICKIT 相关逻辑才会生效
/// 因为 iOS 16.0.x 系统注册多个 metrickit 回调时,有概率发生 crash
/// 因此如果业务必须注册 metrickit 回调时,可以使用 +[BuglyMetricKitMonitorPlugin reportMXMetricPayloadArray:] 和 +[BuglyMetricKitMonitorPlugin reportMXDiagnosticPayloadArray:] 单独将 metrickit 数据上报到 bugly 平台
/// 注意,如果使用上述两个接口上报时,需要关闭 bugly metrickit 开关,防止数据重复上报
@interface BuglyMetricKitMonitorPlugin : NSObject

/// 上报 metrickit metric 数据,必须要 +[Bugly startWithConfig:] 或者 +[Bugly start: config:] 后调用才生效
/// 使用该接口上报数据时,需要关闭 bugly metrickit 线上配置开关,防止数据重复上报
/// @param payloads MXMetricManagerSubscriber didReceiveMetricPayloads 接口回调的 payloads
+ (void)reportMXMetricPayloadArray:(NSArray<MXMetricPayload *> *)payloads API_AVAILABLE(ios(13.0));

/// 上报 metrickit diagnostic 数据,必须要 +[Bugly startWithConfig:] 或者 +[Bugly start: config:] 后调用才生效
/// 使用该接口上报数据时,需要关闭 bugly metrickit 线上配置开关,防止数据重复上报
/// @param payloads MXMetricManagerSubscriber didReceiveDiagnosticPayloads 接口回调的 payloads
+ (void)reportMXDiagnosticPayloadArray:(NSArray<MXDiagnosticPayload *> *)payloads API_AVAILABLE(ios(14.0));

@end