我已跟进sample app和documentation设置我的应用以支持深层链接。
我得到了这样的link
:(也使用了网站上的Branch Dashbord链接)
> Branch.getInstance(getApplicationContext()).getContentUrl("viewer", null, new Branch.BranchLinkCreateListener() {
@Override
public void onLinkCreate(String url, BranchError error) {
//Log.i(TAG, "URL is: " + url);
Toast.makeText(MainActivity.this, url, Toast.LENGTH_LONG).show();
}
});
在测试模式下,我在AndroidManifest
:
<meta-data android:name="io.branch.sdk.TestMode" android:value="true"/>
当我从AndroidStudio运行应用程序并从浏览器访问生成的URL时,它总是打开我的应用程序,因此它的行为符合预期。
我的问题在于发布版本。当我点击发布版本(已签名的apk)生成的url
时,它无效(提示我改为Google Play页面)。
步骤:
AndroidManifest
删除了上述行(也尝试设置<meta-data android:name="io.branch.sdk.TestMode" android:value="false" />
仍然没有用); Build-Generate Signed APK
然后通过电子邮件发送apk 签名应用生成的链接不起作用。
调试应用生成的链接也适用于生产应用。
我不知道是否有必要分享更多代码,因为该应用程序在测试模式下工作,但如果需要,请告诉我,我会这样做。
GooglePlay
生产链接有效吗? (在我的假设中
不)。这是正确的做法吗?答案 0 :(得分:0)
我突然想到一些事情: 1)当您从测试变为现场时,您需要将分支密钥从测试版本更新为实时版本。 2)你对自己认为它被打破的原因的描述:
我的问题在于发布版本。当我点击生成的网址时 发布版本(签名apk)它没有工作(提示我去谷歌 改为播放页面。
请记住,分支链接不是简单的URI方案调用,单击该链接会将您发送到服务器,该服务器会根据从SDK收集的数据检查您是否曾打开过应用程序。如果是这样,Branch调用URI方案并启动应用程序。如果没有,分支会将您引导至Google Play商店。因此,定向到Play商店可能是您在此处的预期行为,具体取决于您是否打开应用程序作为测试流程的一部分(从您的描述中不清楚)。
这里有一个涵盖此流程的文档:https://dev.branch.io/how_branch_links_work/
我倾向于认为一切正常。但是,如果您仍然不确定,请发送电子邮件 - 支持[at] branch.io - 我们非常乐意与您合作。
答案 1 :(得分:0)
发布到Google Play后即可投放使用。