导航采集
当用户浏览应用时,记录屏幕视图和生命周期事件。
导航采集会记录用户访问的屏幕、组件生命周期事件,以及应用何时进入前台或后台。所有这些都会出现在 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.0到2.9.8。其他版本未检测。
iOS
不会自动记录屏幕视图。请在导航代码中调用 trackScreenView。
生命周期事件
生命周期事件无需额外设置即可采集。
Android
活动报告创建、恢复、暂停和销毁;片段报告附加、恢复、暂停和分离。
iOS
视图控制器报告这些事件:
viewDidLoadviewWillAppearviewDidAppearviewWillDisappearviewDidDisappeardidReceiveMemoryWarninginitWithNibNameinitWithCoder
还要捕捉loadView和deinit,继承自MsrViewController(或者MSRViewController在 Objective-C 中):
class CheckoutViewController: MsrViewController {
}对于 SwiftUI,将视图包装在MsrMonitorView或使用monitorWithMsr扩展记录onAppear和onDisappear:
struct CheckoutView: View {
var body: some View {
CheckoutForm()
.monitorWithMsr("Checkout")
}
}