简体   繁体   English

如何从Firebase中的短动态链接中提取参数值?

[英]how to extract parameters value from short dynamic link in firebase?

My apps sending a short dynamic link as email like: 我的应用程序通过电子邮件发送了一条简短的动态链接,例如:

https://jEVV7.app.goo.gl/YyHEf?userId=KERJdner4554_aemrnmJe2_WKrmsaf&session=LKE8eEehjr_erjlek34JHFDZcxfberejEJredfMDFnm https://jEVV7.app.goo.gl/YyHEf?userId=KERJdner4554_aemrnmJe2_WKrmsaf&session=LKE8eEehjr_erjlek34JHFDZcxfberejEJredfMDFnm

where i have added the deep link https://www.example.com/cart with dynamic link with as short dynamic link. 我在其中添加了具有动态链接的深层链接https://www.example.com/cart ,具有短动态链接。

on Clicking the email it opens linked activity but it cannot retrieve paramters value (here value of userId and session) by deepLinkUri.getQueryParameter("userId"). 单击电子邮件后,它会打开链接的活动,但是无法通过deepLinkUri.getQueryParameter(“ userId”)检索参数值(此处为userId和会话的值)。 What am i doing wrong here?? 我在这里做错了什么? please help me. 请帮我。

The parameters should be part of the deep link and not the dynamic link. 参数应该是深层链接的一部分,而不是动态链接。

When you are creating the dynamic link, use https://jEVV7.app.goo.gl/YyHEf as dynamic url and https://www.example.com/cart?userId=KERJdner4554_aemrnmJe2_WKrmsaf&session=LKE8eEehjr_erjlek34JHFDZcxfberejEJredfMDFnm as deep link. 当你正在创建的动态链接,使用https://jEVV7.app.goo.gl/YyHEf动态URL和https://www.example.com/cart?userId=KERJdner4554_aemrnmJe2_WKrmsaf&session=LKE8eEehjr_erjlek34JHFDZcxfberejEJredfMDFnm为深层链接。

Now you will be able to retrieve parameter values. 现在,您将能够检索参数值。

Android code to create a dynamic link Android代码创建动态链接

Task<ShortDynamicLink> shortLinkTask = 
FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLink(Uri.parse("https://www.example.com/cart?userId=KERJdner4554_aemrnmJe2_WKrmsaf&session=LKE8eEehjr_erjlek34JHFDZcxfberejEJredfMDFnm"))
            .setDynamicLinkDomain("jEVV7.app.goo.gl")
            .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();
                    }
                }


            }).addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    //handle failure
                }
            });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM