growingio-sdk-android-autotracker
growingio-sdk-android-autotracker copied to clipboard
feat: jetpack compose
PR 内容
Growingio 无埋点 SDK 支持 Jetpack Compose 框架,包括页面事件,无埋点点击事件和圈选功能。
- 如何引入 在引入无埋点插件的前提下,添加新的KCP插件.
plugins {
// "com.growingio.compose.plugin"
alias(libs.plugins.growingio.compose.plugin)
}
初始化时添加 ComposeLibraryGioModule
模块
addPreloadComponent(ComposeLibraryGioModule())
其他引入和初始化过程与Android 过程一致。
- 手动设置页面
在
@composable
组件下将要声明的页面组件使用GrowingComposePage
包裹。各个参数分别为:alias
为页面唯一识别名称,attributes
为页面属性,content
则为原来的composable
组件内容。
GrowingComposePage(
alias = JetnewsDestinations.INTERESTS_ROUTE,
content = {
InterestsRoute(
interestsViewModel = interestsViewModel,
isExpandedScreen = isExpandedScreen,
openDrawer = openDrawer
)
}
)
至此,compose 无埋点框架配置完成。
其他一些用法。
-
Modifier.growingTag(tag: String)
为点击的组件设置别名,对应于View.setTag
-
Modifier.interruptClick()
由于compose获取点击组件是由上而下遍历的且取最后一个组件,所以多个点击组件重叠时使用该方法来排查后面的组件。 - 圈选时,Lazy系列的List的index并不一定准确。
测试步骤
可以使用 (compose-samples)[https://github.com/android/compose-samples/tree/main]中的例子来测试。
影响范围
Jetpack Compose 框架与无埋点
是否属于重要变动?
- [x] 是
- [ ] 否