Branch.io(Android SDK):“仅在启动器活动中初始化分支”和GDPR

时间:2018-07-09 14:47:53

标签: java android branch.io fabric.io

根据文档:https://docs.branch.io/pages/apps/android/

“仅在启动器活动中初始化分支 该应用将通过Launcher活动打开,其中Branch将初始化并从链接点击中检索深层链接数据。“

我的问题是我有一个GDPRLauncherActivity,它是我项目的启动器活动。 GDPR活动在首次启动时显示给欧盟用户,以后不再显示(GDPRLauncherActivity直接启动我的mainActivity),也从未显示给欧盟以外的用户(GDPRLauncherActivity也将直接启动我的mainActivity)。

我不想在GDPRLauncherActivity中初始化Branch,因为它不符合GDPR(用户需要先给出其协议)。

我的问题是:如果我在MainActivity(而不是不是我的启动器活动的GDPRLauncherActivity)中初始化Branch,这真的是一个问题吗?我认为这是一个问题,因为this.getIntent()无法获取正确的内容(并且因为它是在doc中写的:))

所以:这有问题吗?如果是,最简单的解决方法是什么?

谢谢

2 个答案:

答案 0 :(得分:1)

来自您上面链接的同一文档:

  

启用/禁用用户跟踪

     

如果您需要遵守用户的要求,以不进行GDPR跟踪   目的,或以其他方式确定不应跟踪用户,   利用此字段来防止Branch发送网络请求。   也可以在所有用户中为特定设置启用此设置   链接,或跨分支链接。

     

Branch.getInstance()。disableTracking(true);

     

您可以选择在应用程序的整个生命周期中调用它。一旦   调用后,将不会从SDK发送网络请求。链接   代将继续工作,但不包含识别   有关用户的信息。此外,深层链接将继续   可以,但不会为用户跟踪分析。

这应该使您可以专注于深层链接功能,而不必担心用户跟踪,因为可以添加单独的逻辑来禁用它。另外,Branch不会仅仅因为您集成了SDK而收集任何PII(个人身份信息)。您必须通过Branch.io SDK手动设置用户ID并报告用户事件。

出于某些不同的原因,Branch要求在Launcher活动中初始化SDK:

  • 应用程序链接-使用应用程序链接(本地Android深层链接,在Android 6+上受支持)时,可以在启动Launcher活动的意图内找到深层链接数据。在这种情况下,除非您手动处理该意图,否则如果在没有先初始化Branch SDK的情况下启动另一个活动,将无法再访问数据。
  • 分支分析归因-启动Launcher活动的意图可能包含指示应用从何处启动的数据(可能是推送通知,Play商店列表等)

如果不使用App Links,则可以在MainActivity中安全地初始化SDK。另外,由于您没有在Launcher活动中对其进行初始化,因此最好在MainActivity的onCreate方法中而不是onStart中进行初始化。这意味着您只会在首次加载MainActivity时使用网络数据-后台运行和前台运行应用程序不会再次触发它。无论如何,所有深层链接都会触发Launcher活动,这反过来会打开MainActivity,这时SDK将从onCreate初始化。

答案 1 :(得分:1)

这是来自Branch的Jackie。

根据经验,在启动器活动中初始化Branch SDK对于归因至关重要,这是必不可少的步骤。否则,Branch SDK将无法报告安装,打开或其他任何渠道事件,因此您将无法在Branch仪表板上获得任何归因数据。

话虽如此,我建议您在开始时设置Branch.trackingDisabled = YES,然后在之后初始化Branch。当用户选择进行跟踪时,将调用Branch.trackingDisabled = NO,并且Branch SDK将正常运行。除非用户选择在第一个打开的应用程序内选择加入,否则这种方法的安装将丢失。

如果您还有其他疑问,请直接发送电子邮件至Integrations@branch.io。