以前,我用下面的动态链接到我的应用程序缩短火力地堡动态链接
http://jstock.co/a/news?code=1295.KL&symbol=PUBLIC+BANK+BHD
但推出预期页面,这有一个缺点,对谁不会安装我的应用程序的用户。对于谁不安装我的应用程序的用户,这是当他点击了链接
- 去谷歌Play商店
- 安装应用程序在什么情况发生。
- 启动应用程序。 将转到应用的第一页,而不是在深层链接中指定的所需页面。
后来我意识到Firebase动态链接可以解决我的问题。如果我使用下面的URL,一切正常。
https://g7b6h.app.goo.gl/?link=http%3A%2F%2Fjstock.co%2Fa%2Fnews%3Fcode%3D1295.KL%26symbol%3DPUBLIC%2BBANK%2BBHD&apn=org.yccheok.jstock.gui
对于第三步,用户可以直接转到深层链接指定的所需页面,而不是转到应用的第一页。
但是,我觉得上面的链接太长了。阅读https://firebase.google.com/docs/dynamic-links/android/create后,我尽量缩短它使用以下方式
private void build() {
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(Uri.parse("https://g7b6h.app.goo.gl/?link=http%3A%2F%2Fjstock.co%2Fa%2Fnews%3Fcode%3D1295.KL%26symbol%3DPUBLIC%2BBANK%2BBHD&apn=org.yccheok.jstock.gui"))
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
Log.i("CHEOK", "success");
// Short link created
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Log.i("CHEOK", "shortLink = " + shortLink);
Log.i("CHEOK", "flowchartLink = " + flowchartLink);
} else {
Log.i("CHEOK", "error : " + task.getException().getMessage());
// Error
// ...
}
}
});
}
然而,每一次,我会得到error : Bad Request
。
任何想法我错过了什么步骤?
谢谢。
谢谢。当我重新下载'google-services.json'时,它可以工作。 API密钥有所不同。当我测试生成的'https:// g7b6h.app.goo.gl/GkXlEGTokGA3Cr7r2'时,它按预期工作。然而,流程图中的两个警告让我感到困惑。它声明'org.yccheok.jstock.gui'和'org.yccheok.demo'缺少SHA256。我已经在发布和调试密钥中检查了SHA256的两倍,它们与Firebase控制台中的相匹配。另外,我没有在firebase控制台中使用包'org.yccheok.demo'的应用程序。因此,这个警告信息使我更加困惑。我应该忽略这些警告吗? –