KKMonitor

导航采集

当用户浏览应用时,记录屏幕视图和生命周期事件。

导航采集会记录用户访问的屏幕、组件生命周期事件,以及应用何时进入前台或后台。所有这些都会出现在 Session Timeline 中。

手动记录屏幕视图

当屏幕无法自动采集时(例如自定义导航设置),请使用 trackScreenView 手动记录。

import sh.measure.android.Measure

Measure.trackScreenView("Checkout")
import Measure

Measure.trackScreenView("Checkout", attributes: nil)

trackScreenView 也支持属性。查看 API Reference 中的记录屏幕视图示例。

自动采集

每次用户登陆新屏幕时都会记录屏幕视图。

Android

如果您的应用通过 AndroidX Navigation 导航(包括 Compose),每个新 destination 都会记录一个屏幕视图。Gradle 插件会在构建时添加 instrumentation,无需更改代码。

androidx.navigation:navigation-compose版本2.4.02.9.8。其他版本未检测。

iOS

不会自动记录屏幕视图。请在导航代码中调用 trackScreenView

生命周期事件

生命周期事件无需额外设置即可采集。

Android

活动报告创建、恢复、暂停和销毁;片段报告附加、恢复、暂停和分离。

iOS

视图控制器报告这些事件:

  • viewDidLoad
  • viewWillAppear
  • viewDidAppear
  • viewWillDisappear
  • viewDidDisappear
  • didReceiveMemoryWarning
  • initWithNibName
  • initWithCoder

还要捕捉loadViewdeinit,继承自MsrViewController(或者MSRViewController在 Objective-C 中):

class CheckoutViewController: MsrViewController {
}

对于 SwiftUI,将视图包装在MsrMonitorView或使用monitorWithMsr扩展记录onAppearonDisappear:

struct CheckoutView: View {
    var body: some View {
        CheckoutForm()
            .monitorWithMsr("Checkout")
    }
}