android - 如何使用 Jetpack Compose UI 在 Android 上正确跟踪屏幕 View ?

标签 android firebase google-analytics android-jetpack-compose firebase-analytics

我想在仅撰写应用程序中跟踪屏幕 View ,因此没有 Activity 、 fragment ,只有可组合功能。
我应该何时以及如何调用屏幕跟踪,例如火力基地?
因为在每次重组时都会执行可组合函数的主体,所以副作用也可以重复调用,而这些都不是真正的“ View ”,可组合函数可以是不可见的或只是测量的。

最佳答案

您可以使用 LaunchedEffectDisposableEffect使用常量键,例如 Unit , 在可组合项进入组合时(在 DisposableEffect 的情况下,也在退出时)执行副作用,忽略重新组合。

// I don't think PascalCase would suit this method, as it suggests an on-screen element
@SuppressLint("ComposableNaming") 
@Composable
fun trackScreenView(name: String) {
    DisposableEffect(Unit){
        Log.d("SCREENTRACKING", "screen enter : $name")
        onDispose { Log.d("SCREENTRACKING", "screen exit : $name") }
    }
}

@Composable
fun Screen1() {
    trackScreenView("Screen 1")
    // your screen content here
}

@Composable
fun Screen2() {
    trackScreenView("Screen 2")
    // your screen content here
}

关于android - 如何使用 Jetpack Compose UI 在 Android 上正确跟踪屏幕 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69463644/

相关文章:

android - Gradle找不到依赖

android - 在 Webview 中打开输入类型文件的摄像头不打开 Android

android - Cordova Android 6.2.1 + Crosswalk 23 => SSL 错误:net::ERR_INSECURE_RESPONSE

javascript - 使用嵌套子对象中的键或字段查询 Firebase 数据?

java - 如何在满足条件后停止值事件监听器的监听

java - unSubscribeOn 调用了哪个线程?我们应该调用它吗?

node.js - Firebase:firebase.messaging() 不是函数

google-analytics - AnonymizeIp 和 IP 过滤器

firebase - 我需要有关 Firebase 中的屏幕跟踪的指南

javascript - 如何使用同位素点击设置 Google Analytics 事件/获取导航文本值