因此,我实现了这样的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上,它在我创建动态链接时在firebase中指定的网站上指示我。
那么,调用.buildShortDynamicLink()有什么问题,我如何解决呢?
发布于 2018-12-15 17:30:56
我帮你试过这个密码
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()
},它工作得很好,。
如果我没有在动态链接中添加“”,我就会得到您的错误。

所以改变
.setDomainUriPrefix("test.page.link")使用
.setDomainUriPrefix("https://test.page.link")一切都应该正常运作:

https://stackoverflow.com/questions/53104596
复制相似问题