Firebase ShortDynamicLink无法完成任务

时间:2018-09-27 13:10:37

标签: firebase deep-linking firebase-dynamic-links

以下是我创建动态链接的方式

     //Buiid dynamic link
    DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLink(Uri.parse("https://www.chefcookrecipe.com/"))
            .setDynamicLinkDomain("chefcookrecipe.page.link")
            // Open links with this app on Android
            .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
            .buildDynamicLink();

    String dynamicLongUri = dynamicLink.getUri().toString();
    Toast.makeText(Edit_Recipes.this, dynamicLongUri, Toast.LENGTH_SHORT).show();

相同的URL:"https://www.chefcookrecipe.com/"是我在firebase中设置的深层链接URL,而https://chefcook.page.link是我在firebase中的域。

我正确地获得了长链接。但是,当我尝试使用以下代码生成短链接

shortLinkTask.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
        @Override
        public void onComplete(@NonNull Task<ShortDynamicLink> task) {
            if (task.isSuccessful()) {
                // Short link created
                shortLink = task.getResult().getShortLink().toString();
                Uri flowchartLink = task.getResult().getPreviewLink();

                Toast.makeText(Edit_Recipes.this, shortLink, Toast.LENGTH_SHORT).show();
            } else {

                Toast.makeText(Edit_Recipes.this, "null", Toast.LENGTH_SHORT).show();
            }
        }
    });

我总是得到null。请帮忙,我不知道我在想什么。

2 个答案:

答案 0 :(得分:1)

几个月前,我遇到了同样的错误。我整天都在寻找问题所在。

只要到达条件(if-else)语句,您的代码就完全正确,也没有任何错误。

解决方案 通常是印刷错误。

  1. 冷静一下。
  2. 确保深层链接URL和域名都相同。(这通常是错误所在)。复制并粘贴而不是键入。

答案 1 :(得分:-1)

我看到了这个问题,不要使用模拟器,请使用真实设备。