以下是我创建动态链接的方式
//Buiid dynamic link
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse("https://www.chefcookrecipe.com/"))
.setDynamicLinkDomain("chefcookrecipe.page.link")
// Open links with this app on Android
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
.buildDynamicLink();
String dynamicLongUri = dynamicLink.getUri().toString();
Toast.makeText(Edit_Recipes.this, dynamicLongUri, Toast.LENGTH_SHORT).show();
相同的URL:"https://www.chefcookrecipe.com/"
是我在firebase中设置的深层链接URL,而https://chefcook.page.link
是我在firebase中的域。
我正确地获得了长链接。但是,当我尝试使用以下代码生成短链接
shortLinkTask.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
// Short link created
shortLink = task.getResult().getShortLink().toString();
Uri flowchartLink = task.getResult().getPreviewLink();
Toast.makeText(Edit_Recipes.this, shortLink, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Edit_Recipes.this, "null", Toast.LENGTH_SHORT).show();
}
}
});
我总是得到null
。请帮忙,我不知道我在想什么。
答案 0 :(得分:1)
几个月前,我遇到了同样的错误。我整天都在寻找问题所在。
只要到达条件(if-else)语句,您的代码就完全正确,也没有任何错误。
解决方案 通常是印刷错误。
答案 1 :(得分:-1)
我看到了这个问题,不要使用模拟器,请使用真实设备。