我使用分支示例应用创建了链接,并按照提到的设置了所有内容。 Branch sample app 创建链接后,我可以看到与该链接关联的分支仪表板中的数据。但每当我点击我的Android设备和应用程序中的链接打开我得到sessionparams和referparams都是空的 我试过了
Branch branch = Branch.getInstance();
branch.initSession(new Branch.BranchReferralInitListener() {
@Override
public void onInitFinished(JSONObject referringParams, BranchError error) {
String referringParamsString = (String) sessionParams.toString();
//{"+clicked_branch_link":false,"+is_first_session":false}
JSONObject sessionParams = Branch.getInstance().getFirstReferringParams();
//{Empty }
}
});
请帮助,早些时候它工作正常现在它无法正常工作。我试过改变 Branch.getAutoInstance(本); - > Branch.getAutoInstance(this,true); 使用JSONObject sessionParams = Branch.getInstance()。getFirstReferringParams();没有分会话。 我仍然没有得到任何价值观。 提前谢谢。
答案 0 :(得分:1)
完全披露,我在Branch
工作会话引用参数将返回当前链接的分支链接参数,该链接将用户重定向到应用程序。第一个会话参数,返回将用户带到应用程序的第一个链接的链接参数。
对于您的应用,它看起来像是一个密钥不匹配问题,即当您使用在应用的实时版本中创建的链接进行测试时,您的应用可能正在使用测试密钥。如果您的应用使用的分支键与链接的分支键不同,则分支SDK将无法获取链接参数,并将返回+clicked_branch_link:false
会话参数并返回{{1} }用于第一个引用的会话参数。
要检查您的应用是否使用了测试密钥,您可以在分支仪表板上的应用测试版中创建一个链接,然后单击该链接。如果你得到+ clicked_branch_link:true则表示你的应用正在使用测试密钥。 (测试版中的链接格式为:https://yourapp-test.app.link/sbjdsRS)。
您可以通过以下方式确保您的应用使用实时密钥而不是测试密钥:
从Android Manifest或
确保您没有在Android Manifest或您的应用程序中启用测试模式。