firebase 动态链接预览链接不适用于 facebook Messenger

Posted

技术标签:

【中文标题】firebase 动态链接预览链接不适用于 facebook Messenger【英文标题】:firebase dynamic link preview link not working with facebook messenger 【发布时间】:2018-04-03 19:35:17 【问题描述】:

创建的 firebase 动态短链接无法在 facebook Messenger 中正确预览。 它按预期放置消息和链接,并显示带有 url 的预览图像。

消息中包含的 url 有效,但如果我单击预览,则 url 无效。

网址应该是:https://q3zbm.app.goo.gl/8f7b 但是预览链接变成了https://q3zbm.app.goo.gl/s?socialDescription=Welcome&socialImageUrl=http://andreasandersson.nu/images/awesome-photo.jpg&socialTitle=Gooo

我能够在一个非常小的程序中重现这一点

private void generate() 
    DynamicLink.SocialMetaTagParameters.Builder params = new DynamicLink.SocialMetaTagParameters.Builder();
    params.setImageUrl(Uri.parse("http://andreasandersson.nu/images/awesome-photo.jpg"));
    params.setDescription("Welcome");
    params.setTitle("Gooo");

    FirebaseDynamicLinks.getInstance()
        .createDynamicLink()
        .setLink(Uri.parse("http://andreasandersson.nu"))
        .setDynamicLinkDomain("q3zbm.app.goo.gl")
        .setiosParameters(new DynamicLink.IosParameters.Builder("ios.app.example").build())
        .setandroidParameters(new DynamicLink.AndroidParameters.Builder().build())
        //.setSocialMetaTagParameters(params.build())
        .buildShortDynamicLink(SHORT)
        .addOnCompleteListener(new OnCompleteListener<ShortDynamicLink>() 
            @Override
            public void onComplete(@NonNull Task<ShortDynamicLink> task) 
                if (task.isSuccessful()) 
                    Uri shortLink = task.getResult().getShortLink();
                    Uri flowchartLink = task.getResult().getPreviewLink();
                    Intent shareIntent = new Intent();
                    shareIntent.setAction(Intent.ACTION_SEND);
                    shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    shareIntent.putExtra(Intent.EXTRA_TEXT, "check this:" + shortLink.toString());
                    shareIntent.setType("text/plain");
                    startActivity(Intent.createChooser(shareIntent, "share"));
                
            
        );

我知道应用程序的值不正确,但输入正确的值不会改变结果。

这是 firebase 动态链接上的错误还是 facebook Messenger 的问题? 从 ios 执行完全相同的操作时,它按预期工作,这应该意味着这是与共享者有关的 android 问题?

更新:感谢您联系 FIrebase 支持。这是我们已经向他们提出的 Facebook 问题。截至目前,我们尚未收到他们的任何更新,但一旦我们收到,我们会通知您。

【问题讨论】:

更新:感谢您联系 FIrebase 支持。这是我们已经向他们提出的 Facebook 问题。截至目前,我们尚未收到他们的任何更新,但一旦我们收到,我们会通知您。 你好@AndreasAndersson。你有这方面的消息吗? 对不起,我什么都没听到 我在 FB 上的回复:“经过对该问题的大量调查,团队的指导是,不幸的是,这个问题并非特定于 API 平台。相反,它是固有的应用内浏览器行为和应该通过以下方式浮出水面:设置->报告问题->问题的描述和视频。”。我已发送报告...再次等待。 感谢您的更新,我还没有收到来自 firebase 团队的任何消息,非常烦人。也会报告 【参考方案1】:

我认为 Facebook 不会允许这样做,因为这会违反他们的假新闻问题。更改共享链接时使用的图像的功能已被删除,Firebase 元信息将允许您规避这一点。

更新

在玩弄了 URL 之后,我发现我在“?”之前有一个尾随的“/”。这阻止了与 Facebook 的链接。使用 firebase 链接,我们现在可以设置所有元信息并再次提供自定义缩略图。

【讨论】:

【参考方案2】:

我之前曾向 Firebase 支持部门提交过类似的问题。根据他们的支持,这似乎是在 Facebook 方面,他们已经在 Facebook 上提交了一个错误。他们还提供了错误跟踪器 (https://business.facebook.com/direct-support/question/124595778189376/?force_full_site=0&business_id=191383518008569),但我似乎没有必要的访问权限来查看跟踪器,所以我认为这也可能适用于你。

【讨论】:

以上是关于firebase 动态链接预览链接不适用于 facebook Messenger的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 动态链接不适用于发布版本

iOS 应用程序:Firebase 动态链接不适用于最新的 Pod 文件

Flutter Firebase 动态链接不适用于新的 ios 应用安装

Firebase 动态链接不会在社交媒体中预览图片

Firebase 动态链接预览内容

Spotify MP3 预览链接不适用于 AVPlayer