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")
一切正常:
所以,我已经实现了 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
调用 .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")
一切正常: