我使用Branch.io进行深层链接。如果已安装该应用程序,一切正常,但如果这是安装应用程序后的第一次运行,则以下代码永远不会执行(在onStart内)
Branch branch = Branch.getAutoInstance(getApplicationContext());
branch.initSession(new Branch.BranchUniversalReferralInitListener() {
@Override
public void onInitFinished(BranchUniversalObject branchUniversalObject,
LinkProperties linkProperties, BranchError branchError) {
DeepLinkUtil.processBranchIntent(branchUniversalObject);
}
});
我不是从PlayStore安装,而是从服务器下载。当我点击链接时,下载开始在浏览器中,然后我可以点击下载的APK进行安装。安装后,当首次打开APK时,上述代码永远不会执行。
我在onStart()中添加了以下代码:
Branch branch = Branch.getAutoInstance(getApplicationContext());
JSONObject installParams = branch.getFirstReferringParams();
if (installParams == null) {
Log.d(TAG, "processIntent: installParams: null");
} else {
Log.d(TAG, "processIntent: installParams: " + installParams.toString());
}
安装后第一次运行时,安装params不为null,但为空 - {}。第二次运行时,安装params包含来自单击链接的正确信息,但'is_first_session'现在为false。
我确实已经在清单中注册了安装referrer接收器,但我不清楚它是否仅适用于PlayStore安装或任何安装。
安装后第一次运行时,我还需要做什么才能获得推荐链接?
答案 0 :(得分:0)
要谈谈的事情。
getFirstReferringParams
方法并没有达到你期望的效果。它返回导致首次在该设备上安装的链接上的数据,因此如果未从Branch链接引用该安装,则返回将按设计为空。请注意,这是该设备上的第一次永远安装,因此即使在安装之间也不会更改这些值。如果您希望此功能在测试时有所不同,请参阅debug mode。onStart()
中的Activity
方法和自定义应用类中的onStart()
方法的分支片段。如果是这样,可能有助于审核SDK integration guide。