【发布时间】:2019-05-22 14:31:38
【问题描述】:
据Google Play's Developer Program Policies一位开发者介绍
- 不得在获得肯定同意之前开始收集个人或敏感数据;
不过,目前,我们使用三种不同的第三方服务跟踪用户安装:Branch.io、Mixpanel 和 AppsFlyer。我在我的AndroidManifest.xml 上注册了一个BroadcastReceiver
<receiver
android:name="org.example.InstallListener"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
BroadcastReceiver 的代码如下:
public class InstallListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Mixpanel
InstallReferrerReceiver mixpanelReferrerTracking = new InstallReferrerReceiver();
mixpanelReferrerTracking.onReceive(context, intent);
// Branch.io
InstallListener branchIoReferrerTracking = new InstallListener();
branchIoReferrerTracking.onReceive(context, intent);
// AppsFlyer
SingleInstallBroadcastReceiver appsFlyerReferrerTracking = new SingleInstallBroadcastReceiver();
appsFlyerReferrerTracking.onReceive(context, intent);
}
}
这是基于guide by AppsFlyer 注册多个安装跟踪器。
现在的问题是,如果我们要遵守 Google Play 的上述政策,我们如何才能在将引荐来源数据发送到我们的第三方库之前获得用户同意?
据我了解,com.android.vending.INSTALL_REFERRER 在从 Google Play 安装时由BroadcastReceiver 广播和接收,所以我想这可能是在我什至可以启动对话框征求用户同意之前的任何时间。
安装跟踪数据是政策所指的个人或敏感数据的一部分是否也正确?
我们正在考虑的一个解决方案是在接收到广播后将intent中的referrer额外保存到SharedPreferences,然后在获得用户同意后从那里提取它,然后再将其传递给第三个-派对追踪器。这个解决方案正确吗?
【问题讨论】:
标签: android google-play branch.io mixpanel appsflyer