java - Branch.io(Android SDK): 'only initialize Branch in the Launcher activity' and GDPR

标签 java android branch.io fabric.io

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

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

我的问题是我有一个 GDPRLauncherActivity,它是我项目的启动器 Activity 。此 GDPR Activity 在首次启动时向欧盟用户显示,之后不再显示(GDPRLauncherActivity 直接启动我的 mainActivity),并且不再向欧盟以外的用户显示(GDPRLauncherActivity 也会直接启动我的 mainActivity)。

我不想在 GDPRLauncherActivity 中初始化 Branch,因为它不符合 GDPR(用户需要首先同意)。

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

那么:这是一个问题吗?如果是,最简单的解决方法是什么?

谢谢

最佳答案

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

Enable / Disable User Tracking

If you need to comply with a user's request to not be tracked for GDPR purposes, or otherwise determine that a user should not be tracked, utilize this field to prevent Branch from sending network requests. This setting can also be enabled across all users for a particular link, or across your Branch links.

Branch.getInstance().disableTracking(true);

You can choose to call this throughout the lifecycle of the app. Once called, network requests will not be sent from the SDKs. Link generation will continue to work, but will not contain identifying information about the user. In addition, deep linking will continue to work, but will not track analytics for the user.

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

出于几个不同的原因,Branch 要求在 Launcher Activity 中初始化 SDK:

  • 应用链接 - 使用应用链接(原生 Android 深层链接,Android 6+ 支持)时,深层链接数据可在启动 Launcher Activity 的 Intent 中找到。在这种情况下,除非您手动处理 Intent,否则如果您在未先初始化 Branch SDK 的情况下启动另一个 Activity,则将无法再访问数据。
  • 分支分析归因 - 启动启动器 Activity 的 Intent 可能包含指示应用启动位置的数据(可能是推送通知、Play 商店列表等)

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

关于java - Branch.io(Android SDK): 'only initialize Branch in the Launcher activity' and GDPR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51248310/

相关文章:

java - 函数的可变长度参数列表?

java - 我的 Android Scrollview 在 tabhost 中消耗了太多内存

Android 后退按钮覆盖礼仪/指南

android - 从android中的图库获取图像时android中的java.lang.OutOfMemoryError

android - 如何使用 branch.io 显示排行榜(每周重置一次)

javascript - 尚未创建导航器时如何从链接导航(与 branch.io 的深度链接)?

java - 使用 Spring MVC 在 JSP 中设置 HTML 链接

java - 匹配电子邮件的 RegEx 也匹配 URL

java - android studio 找不到符号报错

android - Branch.io - 当应用程序从任务切换器返回到前台时调用 AttributionListener onResult