Firebase Analytics开启后Google Analytics采集状态及授权留存问题
结论总述
Firebase Analytics 的运行时设置优先级高于Manifest静态配置,三个问题的答案如下:
- 用户此前的授权状态会保留
通过firebaseAnalytics.setAnalyticsCollectionEnabled()设置的采集状态会由Firebase SDK自动持久化存储在App本地,优先级远高于Manifest中的静态配置项,修改Manifest默认值不会覆盖已经存储的用户偏好,只要用户没有卸载App或清除App数据,此前的同意/拒绝状态都会完整保留。 - 此前同意跟踪的用户会被自动采集数据
你新增的Manifest配置firebase_analytics_collection_enabled值为false,仅作用于首次安装启动的新用户,作为初始默认状态,对已经存储过授权状态的老用户无效。此前已经同意跟踪的老用户,SDK会沿用已经存储的开启状态,升级配置后会正常采集数据,无需额外操作。 - 不需要重新向用户征求授权
老用户的授权状态已经被持久化保留,你只需要在App启动早期的业务逻辑中,正常读取之前记录的用户授权偏好,再次调用setAnalyticsCollectionEnabled(userPref)即可(即使不重复调用,SDK也会沿用之前的持久化设置,重复调用更稳妥)。针对新用户你正常展示授权横幅征求同意即可,不需要给老用户重复发起授权请求。
注意事项
你当前保留的firebase_analytics_collection_deactivated配置值为false是合理的,如果该配置设为true会全局强制停用Analytics,所有运行时的采集开关设置都会失效。
内容的提问来源于stack exchange,提问作者Libathos
相关产品推荐
相关产品推荐

