Firebase Dynamic links ,以编程方式为 Android 定义 link 行为
Firebase Dynamic links , Define link behaviour programmatically for Android
我正在 android 上使用 firebase 动态 links 以在用户共享特定内容时以编程方式生成 links。
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"Subject");
sendIntent.setType("text/plain");
FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(Uri.parse("https://organization.page.link/?link=https://www.organization.com/content.htm"))
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
.buildShortDynamicLink()
.addOnCompleteListener((Activity) context, task -> {
if (task.isSuccessful()) {
sendIntent.putExtra(Intent.EXTRA_TEXT, task.getResult().getShortLink());
context.startActivity(Intent.createChooser(sendIntent, "Share")));
}
});
这里一切正常,除非动态 link 的接收者没有安装应用程序,因此它将他重定向到网站而不是 Play 商店。我已经尝试 .setFallbackUrl()
但它不起作用。
我发现了问题:
当我使用
.setLongLink(Uri.parse("https://organization.page.link/link=https://www.organization.com/content.htm"))
link 始终得到解决,然后 Android 打开 URL 而不是 Play Store 。我已将其替换为
.setLink(Uri.parse("www.organization.com/content.htm"))
并添加
.setDynamicLinkDomain("organization.page.link")
最终代码
FirebaseDynamicLinks.getInstance()
.createDynamicLink()
.setLink(Uri.parse("https://organization.com/content.htm"))
.setDynamicLinkDomain("organization.page.link")
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
.buildShortDynamicLink()
.addOnCompleteListener((Activity) context, task -> {
if (task.isSuccessful()) {
// Get Dynamic link here
}
});
我正在 android 上使用 firebase 动态 links 以在用户共享特定内容时以编程方式生成 links。
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"Subject");
sendIntent.setType("text/plain");
FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(Uri.parse("https://organization.page.link/?link=https://www.organization.com/content.htm"))
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
.buildShortDynamicLink()
.addOnCompleteListener((Activity) context, task -> {
if (task.isSuccessful()) {
sendIntent.putExtra(Intent.EXTRA_TEXT, task.getResult().getShortLink());
context.startActivity(Intent.createChooser(sendIntent, "Share")));
}
});
这里一切正常,除非动态 link 的接收者没有安装应用程序,因此它将他重定向到网站而不是 Play 商店。我已经尝试 .setFallbackUrl()
但它不起作用。
我发现了问题:
当我使用
.setLongLink(Uri.parse("https://organization.page.link/link=https://www.organization.com/content.htm"))
link 始终得到解决,然后 Android 打开 URL 而不是 Play Store 。我已将其替换为
.setLink(Uri.parse("www.organization.com/content.htm"))
并添加
.setDynamicLinkDomain("organization.page.link")
最终代码
FirebaseDynamicLinks.getInstance()
.createDynamicLink()
.setLink(Uri.parse("https://organization.com/content.htm"))
.setDynamicLinkDomain("organization.page.link")
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
.buildShortDynamicLink()
.addOnCompleteListener((Activity) context, task -> {
if (task.isSuccessful()) {
// Get Dynamic link here
}
});