Firebase动态链接支持自定义参数?

Den*_*ang 21 firebase firebase-dynamic-links

我正在为开源会议撰写应用程序.

最初每位与会者将通过电子邮件或短信等方式收到不同的链接

https://example.com/?token=fccfc8bfa07643a1ca8015cbe74f5f17

然后使用此链接打开应用程序,我们可以通过令牌知道用户是哪个与会者.

Firebase在I/O 2016中发布了一项新功能动态链接,它为用户提供了更好的体验.

我试过了,但我找不到任何方法来传递动态链接中的自定义参数(令牌),如何使用不同参数的相同链接给我的用户?

谢谢.

dii*_*idu 28

我不认为你可以使用短网址: https://<my app>.app.goo.gl/Gk3m 除非你为每个用户创建一个,但你可以使用长网址: https://<my app>.app.goo.gl/?link=https://example.com/?token=fccfc8bfa07643a1ca8015cbe74f5f17 ...(add other parameters as needed) 并为每个用户设置新的标记.

我假设您自动生成令牌.在这种情况下,您可以使用来缩短链接.


Seh*_*eed 12

  1. 创建动态链接

    在此输入图像描述

  2. 转到链接详细信息

    在此输入图像描述

  3. 复制动态链接并在 URL 的链接参数中添加您的参数,例如 PARAMETER=132323

    https://link.projectname.com/?link=https://link.projectname.com/LINK?PARAMETER=132323&apn=com.projectname.app&afl=https://link.projectname.com/LINK

  • 这对我来说是正确的答案(2022 年),你必须注意整个长链接,并将你的自定义参数放在上面 URL 上的 PARAMETER 位置 (2认同)

Eug*_* P. 8

1)来自https://console.firebase.google.com/(这里不需要自定义参数。)

在此处输入图片说明

2)在某个地方创建链接,fe 在你的 confluence 页面上(这里我们添加我们的参数):

https://PROJECTNAME.page.link/?link=https://PROJECTNAME.page.link/LINKNAME?PARAMETER=1&ofl=https://www.PROJECTNAME.com/
Run Code Online (Sandbox Code Playgroud)

PARAMETER是您的自定义参数。

ofl是从其他平台(PC、Mac)单击链接时转到的链接。

3)从android项目Kotlin代码中获取链接数据:

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener { pendingDynamicLinkData ->
            val parameter: String =
                pendingDynamicLinkData?.link?.getQueryParameter("PARAMETER").orEmpty()
        }
Run Code Online (Sandbox Code Playgroud)

  • 这在 2021 年对我有用。确保在内部链接之后添加自定义参数,而不是在主链接的末尾:https://&lt;domain&gt;/&lt;path&gt;/?link=https://&lt;domain&gt; /&lt;path&gt;?PARAMETER=VALUE&amp;apn=&lt;appId&gt; 我是在 apn 之后添加的,但是 apn 是外部 URL 的参数,PARAMETER 应该在“link”下的内部 URL 的查询中 (2认同)

Jul*_*Coo 7

如果您想在 REST 中使用带有自定义参数的动态链接,这里是一个负载示例:

{
  "dynamicLinkInfo": {
        "dynamicLinkDomain": "example.app.goo.gl",
        "link": "http://someurl.com?my_first_param=test&my_second_param=test2"
  },
  "suffix": {
     "option":"UNGUESSABLE"
    }
}
Run Code Online (Sandbox Code Playgroud)

确保从 dynamicLinkDomain 中删除“https://”

于连

  • 解码短网址后,params afrer &amp; symbol 不来 (3认同)

Ted*_*Ted 6

情况A、如果希望短链接扩展为多参数链接:

在设置动态链接的部分中,附加到深层链接 URL 的任何参数都将适用于所有平台(Web、iOS、Android) 在此输入图像描述

情况B.如果要使用动态参数,应该使用api创建短链接

查看文档

  • 但是,在传递给应用程序时,customParam1 将始终为“abc”。这怎么可能是动态的呢? (16认同)

Shi*_*e85 5

现在,您可以使用Firebase SDK创建短链接FirebaseDynamicLinks.getInstance().createDynamicLink():https: //firebase.google.com/docs/dynamic-links/android/create

示例代码:

Task shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
    .setLink(Uri.parse("https://example.com/"))
    .setDynamicLinkDomain("abc123.app.goo.gl")
    // Set parameters
    // ...
    .buildShortDynamicLink()
    .addOnCompleteListener(this, new OnCompleteListener() {
        @Override
        public void onComplete(@NonNull Task task) {
            if (task.isSuccessful()) {
                // Short link created
                Uri shortLink = task.getResult().getShortLink();
                Uri flowchartLink = task.getResult().getPreviewLink();
            } else {
                // Error
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)