我正在尝试使用Firebase动态链接,到目前为止,所有功能都可以使用,但是不能使用具有社交参数的部分。每当我分享我的链接时,它只有实际的可点击链接和通过intent
发送的消息,但没有社交标题,图像或描述。我目前正在通过drawable
文件夹添加我的图片,该图片小于300kb,至少300x200。例如,当我通过Viber
共享链接时,它只会显示Hey, check out my link: <the link here>
在WhatsApp
上共享确实起作用,图像与社交标题和描述一起显示,但是Viber
和Instagram
没有显示社交元数据。另外,Instagram
上的链接也是不可点击的。我该如何调试?
这是我的代码:
private fun createShareUri(deepId: String): Uri {
val builder = Uri.Builder()
builder.scheme(getString(R.string.config_scheme)) // "http"
.authority(getString(R.string.config_host)) // "deeplink.xyz"
.appendPath(getString(R.string.config_path_deep)) // "deep"
.appendQueryParameter(QUERY_PARAM_DEEP, deepId)
return builder.build()
}
private fun createDynamicUri(myUri: Uri): Uri {
val imgUri = getUriToResource(this, R.drawable.mypic)
val dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(myUri)
.setDynamicLinkDomain(DYNAMIC_LINK_DOMAIN)
.setAndroidParameters(DynamicLink.AndroidParameters.Builder()
.build())
.setSocialMetaTagParameters(DynamicLink.SocialMetaTagParameters.Builder()
.setTitle("Social Meta Title")
.setDescription("Social Meta Description")
.setImageUrl(imgUri)
.build())
.buildDynamicLink()
return dynamicLink.uri
}
private fun shortenLink(linkUri: Uri) {
FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(linkUri)
.buildShortDynamicLink()
.addOnCompleteListener { task ->
if (task.isSuccessful) {
val shortLink = task.result.shortLink
val msg = "Hey, check out my link: $shortLink"
val sendIntent = Intent()
sendIntent.action = Intent.ACTION_SEND
sendIntent.putExtra(Intent.EXTRA_TEXT, msg)
sendIntent.type = "text/plain"
startActivity(Intent.createChooser(sendIntent, "Share via"))
} else {
Timber.e(task.exception)
}
}
}
private fun share(id: String) {
val myUri = createShareUri(id)
Timber.d("Shared Link: $myUri")
val dynamicLinkUri = createDynamicUri(myUri)
Timber.d("Dynamic Link: $dynamicLinkUri")
shortenLink(dynamicLinkUri)
}
编辑:这是我的动态链接:https://deeplinktest.page.link?sd=Social%20Meta%20Description&si=android.resource%3A%2F%2Fcom.example.deeplinktest.deeplinks%2Fdrawable%2Fmypic&st=Social%20Meta%20Title&apn=com.example.deeplinktest.deeplinks&link=https%3A%2F%2Fdeeplink.xyz%2Fdeep%3FdeepId%3D2