ShortDynamicLink不产生短链接,动态链接
在这之后创建一个动态链接ShortDynamicLink不产生短链接,动态链接
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse("http://shaharapp.in/"))
.setDynamicLinkDomain("https://cuh8g.app.goo.gl/")
// Open links with this app on Android
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
// Open links with com.example.ios on iOS
.buildDynamicLink();
dynamicLinkUri = dynamicLink.getUri();
,我得到一个长期的动态链接。 通过这个dynamicLinkUri到shortLinkTask
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(dynamicLinkUri)
.buildShortDynamicLink();
shortLinkTask.addOnCompleteListener(new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
Uri shortLink = task.getResult().getShortLink();
link_txt.setText(shortLink.toString());
}
else {
ViewGroup container = (ViewGroup) findViewById(R.id.snackbar_layout);
Snackbar.make(container, "error", Snackbar.LENGTH_SHORT).show();
}
}
});
这个任务没有完成,调试后,我得到这个
com.google.android.gms.common.api.ApiException:7:错误的请求 类com.google.android.gms.common.api.ApiException
你得到的长链接是什么?我建议尝试长链接并确保链接正常工作。
此外,请将&d=1
添加到长链接。此链接将导航到调试页面,并显示可能的错误/警告。
看看你的代码,失败的一个可能的原因是域的格式。见示例https://firebase.google.com/docs/dynamic-links/android/create。域预计将只包含域的字符串,而不HTTPS方案:
.setDynamicLinkDomain("abc123.app.goo.gl")
同意纠正域字符串应该解决问题。 –
它的工作原理,非常感谢 – sam
这可能是也由于缺少配置步骤 - > https://*.com/questions/45826742/cant-create-short-firebase- dynamic-link-dynamic-link-error-7-forbidden –