以前,我用下面的動態鏈接到我的應用程序縮短火力地堡動態鏈接
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'的應用程序。因此,這個警告信息使我更加困惑。我應該忽略這些警告嗎? –