Codenameone ShareButton - 分享 URL 和图片内容到 Facebook

Codenameone ShareButton - Sharing URL and Image content to Facebook

我的应用程序中有一个 Codenameone ShareButton,按下时会打开一个对话框,其中包含我设备上的标准社交媒体应用程序列表,例如。脸书、短信、电子邮件、推特。

我试图将文本、图像和 URL 组合到 Facebook 的 ShareButton 对话框中,但失败了。它似乎适用于其他类型的媒体。我在 Whosebug 上搜索了一下,但没有找到这个。

我可以成功分享图片到facebook:

ShareButton sb = new ShareButton();
sb.setImageToShare(imageFile, "image/png");

我可以成功分享一个URL到facebook:

ShareButton sb = new ShareButton();
sb.setTextToShare("www.mywebsite.co.uk");

我的目标是将一段文字、一张 URL 和一张图片分享到 facebook(我可以分享到其他媒体)。我的问题是:

  1. 文本不会显示在 Facebook 应用程序对话框中:

    ShareButton sb = new ShareButton();

    sb.setTextToShare("The text i want to display");

这些年来,关于 FB 对此的支持,我看到了相互矛盾的 post,所以也许我在这方面注定要失败。 我试图欺骗它并为 URL 添加前缀或后缀文本,但这仍然没有显示该文本。

  1. 所以我想在 FB 的 post 中显示一张图片和一张 URL,它看起来真的只是其中之一。所以下面的代码将在 FB 对话框中单独显示 URL 而没有图像(将 URL 换成常规文本,显示图像而不显示文本):

    ShareButton sb = new ShareButton();

    sb.setImageToShare(图像文件, "image/png");

    sb.setTextToShare("www.mywebsite.co.uk");

如果需要,我很乐意只选择选项 2。

需要说明的是,我在我的设备上使用 facebook 应用程序进行共享,而不是直接连接到 facebook 的令牌连接。 如果这对我有帮助,我确实有自己的网站,如果有一种方法可以向它发送内容并动态构建内容以供显示,但这可能是不可能的(我不是网络开发人员)。

据我记得上次我处理 posting 到 facebook 时,他们不允许你 post 图片和文字,或者 URL 和文本一起。如果您想在用户的供稿中显示包含图像和描述的内容,您需要创建一个包含 Facebook 支持的网页 Open Graph markup,这将导致它显示 "nicely" 在用户的提要中。

在我过去参与的项目中,他们使用动态网页,因此很容易创建一个特定于您想要 post 在用户提要中的内容的网页。如有必要,您基本上可以为每个 "share" 生成一个单独的网页。

我们直接使用了feed API。我不确定它是否适用于共享按钮,但如果你能够 post 一个 URL,那么它 可能 有效。