无法从短动态链接 - Firebase检索数据

时间:2018-05-20 18:56:47

标签: firebase firebase-dynamic-links firebase-invites

当我创建包含UTM参数并共享它的动态链接时,我能够从链接中检索数据和编码查询。但是当我尝试使用firebase推荐的方法创建动态链接的短链接时,我只能检索路径,而不能检索编码的查询。我该如何解决?

创建动态链接的方法:

public void buildReferral() {
    DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLink(Uri.parse("sample link"))
            .setDynamicLinkDomain("sample domain")
            .setAndroidParameters(
                    new DynamicLink.AndroidParameters.Builder("com.package.my")
                            .build())
            .setGoogleAnalyticsParameters(
                    new DynamicLink.GoogleAnalyticsParameters.Builder()
                            .setSource("referral")
                            .setContent("content")
                            .setMedium("Android")
                            .build())
            .buildDynamicLink();
    buildShortUrl(dynamicLink);
}

创建短链接的方法:

 public void buildShortUrl(DynamicLink dynamicLink) {
    Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLongLink(Uri.parse(dynamicLink.getUri().toString()))
            .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();
                    } else {
                        // Error
                        // ...
                    }
                }
            });
}

1 个答案:

答案 0 :(得分:0)

您可以使用appendQueryParameter()向链接添加多个参数,使用getQueryParameter()可以从链接中检索参数。你可以看到this回答你如何实现它。