Firebase Dynamic Link ShortUrl 在 Android 中不起作用
Firebase Dynamic Link ShortUrl not working in Android
我无法使用 Android Firebase Invite SDK 创建 ShortDynamicLink。我可以很好地创建 long DynamicLink,但它总是无法创建 ShortDynamic link,总是给出 Bad Request 的错误消息。这是代码:
private void sendInvite(String uid, final String displayName){
String link = "https://appdomain.com/?invitedby=" + uid;
com.google.android.gms.tasks.Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(link))
.setDynamicLinkDomain(Constants.DYNAMIC_LINK_DOMAIN)
.buildShortDynamicLink()
.addOnCompleteListener(mActivity, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull com.google.android.gms.tasks.Task<ShortDynamicLink> task) {
if (task.isSuccessful()){
Uri shortLink = task.getResult().getShortLink();
// String referrerName = SettingsHelper.getHelper(mActivity).getDisplayName();
String subject = String.format("%s wants you to try Awesome App!", displayName);
String invitationLink = shortLink.toString();
String msg = "Enjoy and share your moments with Awesome App! Use my referrer link: "
+ invitationLink;
String msgHtml = String.format("<p>Start having fun with Awesome App's! Use my "
+ "<a href=\"%s\">referrer link</a>!</p>", invitationLink);
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, msg);
intent.putExtra(Intent.EXTRA_HTML_TEXT, msgHtml);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}else {
String errorMessage = task.getException().getMessage();
Log.d(TAG, "Error creating Dynamic link " + errorMessage);
}
}
});
}
Firebase Dynamic link API 在 Google 控制台上启用,如下面的屏幕截图所示:
我可以从控制台创建一个简短的动态 link,但我希望能够从 client.I 以编程方式创建它,我使用的是 Android SDK 版本的 mos 当前版本11.22.1
要检查的几个想法:
1) 确保 Constants.DYNAMIC_LINK_DOMAIN 与您的 Firebase 项目中的域匹配。确保您正在创建 link 的 App 是该 Firebase 项目的一部分。确保 App 具有最新的 GoogleServices.plist(或 json)。
2) 请分享您的长 link 您遇到了要缩短的问题。对于 long link,将 &d=1 附加到 link 的末尾,并在浏览器中导航到这样的 link。确保此调试页面上没有错误,也没有相关警告。
如果没有帮助,请随时打开 Firebase 错误或发送电子邮件至 oleksiyi at google.com。
我建议先创建长link然后排序link,两个步骤,就像下面的问题
我无法使用 Android Firebase Invite SDK 创建 ShortDynamicLink。我可以很好地创建 long DynamicLink,但它总是无法创建 ShortDynamic link,总是给出 Bad Request 的错误消息。这是代码:
private void sendInvite(String uid, final String displayName){
String link = "https://appdomain.com/?invitedby=" + uid;
com.google.android.gms.tasks.Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(link))
.setDynamicLinkDomain(Constants.DYNAMIC_LINK_DOMAIN)
.buildShortDynamicLink()
.addOnCompleteListener(mActivity, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull com.google.android.gms.tasks.Task<ShortDynamicLink> task) {
if (task.isSuccessful()){
Uri shortLink = task.getResult().getShortLink();
// String referrerName = SettingsHelper.getHelper(mActivity).getDisplayName();
String subject = String.format("%s wants you to try Awesome App!", displayName);
String invitationLink = shortLink.toString();
String msg = "Enjoy and share your moments with Awesome App! Use my referrer link: "
+ invitationLink;
String msgHtml = String.format("<p>Start having fun with Awesome App's! Use my "
+ "<a href=\"%s\">referrer link</a>!</p>", invitationLink);
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, msg);
intent.putExtra(Intent.EXTRA_HTML_TEXT, msgHtml);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}else {
String errorMessage = task.getException().getMessage();
Log.d(TAG, "Error creating Dynamic link " + errorMessage);
}
}
});
}
Firebase Dynamic link API 在 Google 控制台上启用,如下面的屏幕截图所示:
我可以从控制台创建一个简短的动态 link,但我希望能够从 client.I 以编程方式创建它,我使用的是 Android SDK 版本的 mos 当前版本11.22.1
要检查的几个想法:
1) 确保 Constants.DYNAMIC_LINK_DOMAIN 与您的 Firebase 项目中的域匹配。确保您正在创建 link 的 App 是该 Firebase 项目的一部分。确保 App 具有最新的 GoogleServices.plist(或 json)。
2) 请分享您的长 link 您遇到了要缩短的问题。对于 long link,将 &d=1 附加到 link 的末尾,并在浏览器中导航到这样的 link。确保此调试页面上没有错误,也没有相关警告。
如果没有帮助,请随时打开 Firebase 错误或发送电子邮件至 oleksiyi at google.com。
我建议先创建长link然后排序link,两个步骤,就像下面的问题