【发布时间】:2017-08-26 18:20:03
【问题描述】:
我正在开发一个 android 应用程序,我希望用户能够在其中使用 DynamicLinks Firebase 通过社交网络或电子邮件发布帖子(如果应用程序已安装在设备中,则帖子活动将直接打开,如果不是 le 链接将打开应用程序的 Play 商店页面)。我按照以下步骤操作: 1/我在 firebaseConsole 中创建了一个动态链接,我使用“https://rc4vd.app.goo.gl/XktS”作为短链接 2/一个按钮发送动态链接,这是代码
btnShare.setOnClickListener(new View.OnClickListener() {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "I invite you to my challenge\n\n" + "https://rc4vd.app.goo.gl/XktS?d=" + databaseReference.getKey());
sendIntent.setType("text/plain");
startActivity(sendIntent);
}
3/接收动态链接时
FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent()).addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
@Override
public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
Uri shortLink = null;
if (task.getResult() != null) {
// --> shortLink = task.getResult().getShortLink();
String postId = (shortLink.toString()).substring(shortLink.toString().indexOf("=")+1);
//[declare the intent]
Intent intent = new Intent(Home.this,MyPostPage.class);
//[Set intent extras]
intent.putExtra("ref", PostId);
//[start the activity with extras]
startActivity(intent);
}
}
}).addOnFailureListener(Home.this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "getDynamicLink:onFailure", e);
}
});
问题是“shortLink = task.getResult().getShortLink();”不存在,我只能拥有 deepLink。我想知道是否有办法获得短链接,谢谢
【问题讨论】:
标签: android firebase firebase-dynamic-links