如何使用createDynamicLink()创建Firebase动态链接?

时间:2019-02-13 23:42:14

标签: android firebase firebase-dynamic-links

我正在尝试动态缩短 URL ,例如bitly之类的服务所提供的URL。但是我从执行所需实现的以下代码片段中不断收到错误:-

       FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLink(Uri.parse("http://testtt.com/"))
            .setDynamicLinkDomain("mytest.page.link")
            .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
            .buildShortDynamicLink()
            .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
                @Override
                public void onComplete(@NonNull Task<ShortDynamicLink> task) {
                    if (task.isSuccessful()) {
                        // Short link created
                        Uri shortLink = task.getResult().getShortLink();
                        Uri flowchartLink = task.getResult().getPreviewLink();

                        String s = shortLink.toString();
                        Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();


                    } else {

                        Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show();

                        // Error
                        // ...
                    }
                }
            })

            .addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "getDynamicLink:onFailure", e);
                }
            });

每次执行onFailure方法时,都会指示产生了异常并产生了以下错误消息

    com.google.android.gms.common.api.ApiException: 8: 
    at com.google.android.gms.common.api.internal.zzde.zza(Unknown Source:12)
    at com.google.android.gms.internal.zzemf.zza(Unknown Source:2)
    at com.google.android.gms.internal.zzemk.onTransact(Unknown Source:29)
    at android.os.Binder.execTransact(Binder.java:681)

有人可以给我一些解决方法的提示吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

在以编程方式生成短链接之前,您可能需要首先检查是否已在Firebase控制台中创建了URL路径前缀(即“ mytest.page.link”)。