Firebase 动态 link:无法创建短 link

Firebase dynamic link: can`t create short link

所以,我已经实现了 FirebaseDynamicLinks 这样的:

val link = "https://test/?promo=$uId"
    FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLink(Uri.parse(link))
            .setDomainUriPrefix("test.page.link")
            .setAndroidParameters(
                    DynamicLink.AndroidParameters.Builder("test")
                            .setMinimumVersion(1)
                            .build())
            .buildShortDynamicLink()
            .addOnSuccessListener { shortDynamicLink ->
                val mInvitationUrl = shortDynamicLink.shortLink.toString()
                log("test1 success $mInvitationUrl")
                //shareIntent(mInvitationUrl)
            }
            .addOnFailureListener {
                log("test1 fail")
                it.printStackTrace()
            }

但是调用 .buildShortDynamicLink() 抛出异常:

W: com.google.android.gms.common.api.ApiException: 400: Long link is not parsable: test.page.link/generatedLongLink [https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]

有趣的是:在浏览器中插入 test.page.link/generatedLongLink 按预期工作 - 在 android 上它引导我进入 google 播放页面,在 PC 上它引导我进入我指定的网站在我创建动态 link

时在 firebase consile 中

调用 .buildShortDynamicLink() 有什么问题,我该如何解决?

我为你试过这段代码

    val uId = 1234241

    val link = "https://www.test.com/$uId"
    FirebaseDynamicLinks.getInstance().createDynamicLink()
        .setLink(Uri.parse(link))
        .setDomainUriPrefix("https://example.page.link")
        .setAndroidParameters(
            DynamicLink.AndroidParameters.Builder("test")
                .setMinimumVersion(1)
                .build())
        .buildShortDynamicLink()
        .addOnSuccessListener { shortDynamicLink ->
            val mInvitationUrl = shortDynamicLink.shortLink.toString()
            Log.d("AAA","test1 success $mInvitationUrl")
            //shareIntent(mInvitationUrl)
        }
        .addOnFailureListener {
            Log.d("AAA", "test1 fail")
            it.printStackTrace()
        }

工作正常

如果我没有将 "https://" 放在我的动态 link 上,我会得到你的错误。

所以改变

.setDomainUriPrefix("test.page.link")

.setDomainUriPrefix("https://test.page.link")

一切正常: