Android Firebase动态链接:无法创建短链接

Android Firebase动态链接:无法创建短链接,android,firebase,firebase-dynamic-links,Android,Firebase,Firebase Dynamic Links,因此,我实现了FirebaseDynamicLinks如下: val link = "https://test/?promo=$uId" FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse(link)) .setDomainUriPrefix("test.page.link") .setAndroidParameters(

因此,我实现了
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:长链接不可解析:test.page.link/generatedLongLink[https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]

有趣的是:在浏览器中插入
test.page.link/generatedLongLink
可以按预期工作-在android上,它在google play页面上引导我,在pc上,它在我创建动态链接时在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://“,我会得到你的错误

所以改变

.setDomainUriPrefix("test.page.link")

所有这些都应该运作良好:


正如我一直建议的那样,使用
的“Divide et Impera”
方法,尝试使用更少的代码,然后再添加更多。因此,只需尝试基本参数即可创建短链接,如
链接
域名前缀
(带https://),等等。然后添加
Android参数
iOS参数
,只在最后添加
监听器
。此外,错误告诉您长链接是不可解析的。。。因此,请尝试使用一个简单的
https://test
然后为我添加查询字符串paramsWorked!!谢谢
.setDomainUriPrefix("https://test.page.link")