sensorsdata / sa-sdk-android

神策数据官方 Android 埋点 SDK,是一款轻量级用于 Android 端的数据采集埋点 SDK,包含代码埋点、全埋点、点击图和可视化全埋点功能。全埋点通过配合神策官方 Android 埋点插件来实现,神策数据官方 Android 埋点插件使用字节码插桩(ASM)的技术实现 Android 端的全埋点(无埋点、无码埋点、无痕埋点、自动埋点)。
http://opensource.sensorsdata.cn
Other
1.31k stars 434 forks source link

SensorsDataContentProvider自动初始化导致隐私合规不通过 #107

Closed shijianan201 closed 1 year ago

shijianan201 commented 2 years ago

我们公司的APP被通信局查出来存在提前搜集用户信息的问题,调试后发现神策埋点sdk存在通过SensorsDataContentProvider提前初始化的问题,希望能单独提供方法进行初始化。类完整路径(com.sensorsdata.analytics.android.sdk.data.SensorsDataContentProvider)

dengshiwei commented 2 years ago

有对应的扫描信息吗?SensorsDataContentProvider 这里我们只做了一些对象初始化,没有涉及到数据采集

shijianan201 commented 2 years ago

有对应的扫描信息吗?SensorsDataContentProvider 这里我们只做了一些对象初始化,没有涉及到数据采集

神策的确没有提前获取信息,但是能不能让我们开发者控制该什么时候初始化sdk呢?

dengshiwei commented 2 years ago

ContentProvider 是在 AndroidManifest.xml 中注册,由系统进行加载。这块目前无法控制,SDK 的初始化方法是可以由开发者控制的。

dengshiwei commented 2 years ago

@shijianan201 你们最近检测通过了吗?是否有更详细的检测说明。

shijianan201 commented 2 years ago

sdk版本升级了6.4.2,上次华为应用市场上去了,现在又被拒了,提示信息如下

您的应用频繁获取用户信息:ANDROID ID 4次/分钟; 应用内集成的[SensorsAnalytics、神策]SDK频繁获取用户信息:ANDROID ID 4次/分钟,且未在隐私政策中进行说明,不符合华为应用市场审核标准,为不影响用户体验,请您尽快完成整改。 ­整改建议:请勿频繁收集用户的个人信息,并在隐私政策中对应用所获取的个人信息的目的和频率进行说明。

dengshiwei commented 2 years ago

@shijianan201 华为市场我们自己也送检过,没有遇到提示说「ANDROID ID 4次/分钟」,更关键的应该是「且未在隐私政策中进行说明,不符合华为应用市场审核标准」,这块你们有集成我们的隐私说明吗?这块你可以找我们对应的技术支持同学协助你。

shijianan201 commented 2 years ago

已经集成了你们的隐私说明

dengshiwei commented 2 years ago

@shijianan201 这个你看是否能咨询一下华为的客服了解一下详情吧,我们读取 Android_ID 的接口值都是会缓存的。

shijianan201 commented 2 years ago

@shijianan201 这个你看是否能咨询一下华为的客服了解一下详情吧,我们读取 Android_ID 的接口值都是会缓存的。

有方法禁止sdk获取AndroidID么?

dengshiwei commented 2 years ago

@shijianan201 在对应的项目 build.gradle 中配置。

sensorsAnalytics {
     sdk {
          disableAndroidID = true
     }
}
shijianan201 commented 2 years ago

@shijianan201 在对应的项目 build.gradle 中配置。

sensorsAnalytics {
     sdk {
          disableAndroidID = true
     }
}

SDK里getAndroidId那个方法能改一下名字么,最好不要有AndroidID字样,华为检测时应该是根据函数名字去计算的频率,下面是华为给的堆栈信息。

尊敬的开发者,您好!您的应用频繁获取用户信息:应用内集成的[SensorsAnalytics、神策]SDK频繁获取用户信息:ANDROID ID 4次/分钟,请勿频繁收集用户的个人信息,并在隐私政策中对应用所获取的个人信息的目的和频率进行说明,感谢您的支持!

应用内集成的[SensorsAnalytics、神策]SDK频繁获取用户信息:ANDROID ID [com.sensorsdata.analytics.android.sdk.util.SensorsDataUtils.getAndroidID(SensorsDataUtils.java:2), com.sensorsdata.analytics.android.sdk.util.SAContextManager.getAndroidId(SAContextManager.java:2), com.sensorsdata.analytics.android.sdk.useridentity.UserIdentityAPI.(UserIdentityAPI.java:8), com.sensorsdata.analytics.android.sdk.AbstractSensorsDataAPI.(AbstractSensorsDataAPI.java:37), com.sensorsdata.analytics.android.sdk.SensorsDataAPI.(SensorsDataAPI.java:2), com.sensorsdata.analytics.android.sdk.SensorsDataAPI.getInstance(SensorsDataAPI.java:5), com.sensorsdata.analytics.android.sdk.SensorsDataAPI.startWithConfigOptions(SensorsDataAPI.java:1),

dengshiwei commented 2 years ago

@shijianan201 这个后续我们考虑一下吧

dengshiwei commented 1 year ago

@shijianan201 v6.5.0 版本已经修改名称。同时我们内部上架华为能够正常上架,没有提示获取次数的问题。

shijianan201 commented 1 year ago

@shijianan201 v6.5.0 版本已经修改名称。同时我们内部上架华为能够正常上架,没有提示获取次数的问题。

好的,我们这边也没出现这个问题了