在 Android 应用程序中单击并打开时,分支链接不提供数据
Posted
技术标签:
【中文标题】在 Android 应用程序中单击并打开时,分支链接不提供数据【英文标题】:Branch link donot proivide data when clicked and opened in android app 【发布时间】:2017-10-29 06:44:56 【问题描述】:我已经使用分支示例应用程序创建了链接,并按照上述设置了所有内容。 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(this); ->Branch.getAutoInstance(this, true); 使用 JSONObject sessionParams = Branch.getInstance().getFirstReferringParams();没有分支会话。 我仍然没有得到任何价值。 提前致谢。
【问题讨论】:
【参考方案1】:完全披露,我在Branch工作
会话引用参数将返回将用户重定向到应用程序的当前链接的分支链接参数。第一个会话参数,返回将用户带到应用程序的第一个链接的链接参数。
就您的应用而言,这似乎是一个密钥不匹配问题,即您的应用可能正在使用测试密钥,而您正在使用在应用的实时版本中创建的链接进行测试。如果您的应用程序使用的Branch key与链接的Branch key不同,Branch SDK将无法获取链接参数,并将返回+clicked_branch_link:false
作为会话参数,并返回null
作为第一个引用会话参数。
要检查您的应用是否使用了测试密钥,您可以在分支仪表板上的应用的测试版本中创建一个链接,然后单击该链接。如果你得到 +clicked_branch_link:true 这意味着你的应用程序正在使用测试密钥。 (测试版的链接格式为:https://yourapp-test.app.link/sbjdsRS)。
您可以通过以下方式确保您的应用使用实时密钥而不是测试密钥:
从您的 Android 清单中完全删除测试密钥或
确保您没有在 Android 清单或应用程序中启用测试模式。
【讨论】:
嗨@Amruta,感谢您的回复。我已经从我身边检查过了。短 url 成功生成并发送了所有数据(我可以从我的仪表板验证它。例如myapp.app.link)。我已删除所有测试凭据。它仍然没有在会话中传递数据。 我也尝试过使用示例应用程序,它不是每次都提供数据,仅在从工作室安装后的第一个会话中提供一次。请帮忙。 @SimpleCoder 那么您是在第一次点击链接并安装应用程序时获取链接参数吗? 仅在使用 getFirstReferringParamsSync() 时。但是,即使不点击链接,这也是有价值的。 正如我在帖子中提到的,第一个引用链接参数将返回用户单击并安装/打开应用程序的应用程序的第一个分支链接的链接参数。如果您希望获取当前链接的链接参数,您应该使用 initSession() 中返回的 referingParams。您没有在引用会话参数中获得任何链接参数吗?以上是关于在 Android 应用程序中单击并打开时,分支链接不提供数据的主要内容,如果未能解决你的问题,请参考以下文章
如何处理后退按钮android以退出应用程序并在首页中打开时关闭本机导航侧菜单