Firebase Dynamic Link社交图像未显示,在某些应用程序(如Instagram)中,链接不可点击

时间:2018-06-21 12:06:01

标签: android firebase firebase-dynamic-links deeplink

我正在尝试使用Firebase动态链接,到目前为止,所有功能都可以使用,但是不能使用具有社交参数的部分。每当我分享我的链接时,它只有实际的可点击链接和通过intent发送的消息,但没有社交标题,图像或描述。我目前正在通过drawable文件夹添加我的图片,该图片小于300kb,至少300x200。例如,当我通过Viber共享链接时,它只会显示Hey, check out my link: <the link here>

WhatsApp上共享确实起作用,图像与社交标题和描述一起显示,但是ViberInstagram没有显示社交元数据。另外,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

0 个答案:

没有答案