我希望我的应用程序符合GDPR。这意味着,只要用户不同意,我就不想启动任何像Branch.io这样的工具。
我的问题是Branch.io文档https://docs.branch.io/pages/apps/android/提到我必须在我的启动器活动中放入以下代码:
@Override
public void onStart() {
super.onStart();
// Branch init
Branch.getInstance().initSession(new Branch.BranchReferralInitListener() {
@Override
public void onInitFinished(JSONObject referringParams, BranchError error) {
if (error == null) {
Log.i("BRANCH SDK", referringParams.toString());
} else {
Log.i("BRANCH SDK", error.getMessage());
}
}
}, this.getIntent().getData(), this);
}
@Override
public void onNewIntent(Intent intent) {
this.setIntent(intent);
}
文档中也提到:
仅在启动器活动中初始化分支
该应用程序将通过Launcher活动打开,Branch将在其中初始化并从链接点击中检索深度链接数据。
所以,我不知道如何使某些东西符合GDPR。事实上,如果这段代码真的需要在启动程序的onStart活动中执行,那么在用户同意之前,我没有时间执行它。
有什么变通办法吗?
在同一文档中,有一个关于如何禁用Branch SDK跟踪的解释,因此您的应用程序符合GDPR,但仍然保留所有SDK功能。这是那个部分的锚。
您所需要做的就是在调用initSession()
:之前实现以下代码
Branch.getInstance().disableTracking(true);
您需要根据用户是否同意跟踪来建立对此行的处理。