接收DynamicLink firebase Android

时间:2017-08-26 18:20:04

标签: android firebase firebase-dynamic-links

我正在开发一个Android应用程序,我希望用户能够使用DynamicLinks Firebase发布带有社交网络或电子邮件的帖子(如果应用程序已安装在设备中,则会直接打开帖子活动,如果不le链接将打开应用程序的Play商店页面。。我按照以下步骤操作: 1 /我在firebaseConsole中创建了一个dynamilink,我使用了“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。我想知道是否有办法获得短链接,谢谢

1 个答案:

答案 0 :(得分:0)

您应该在应用中创建一个包含目标(长)URL中的参数的动态链接,而不是在控制台中生成链接,然后附加参数。

https://firebase.google.com/docs/dynamic-links/android/create是Android API的文档页面。