Facebook SDK 与文本共享图像
Posted
技术标签:
【中文标题】Facebook SDK 与文本共享图像【英文标题】:Facebook SDK Share Image with Text 【发布时间】:2018-03-19 18:24:32 【问题描述】:在使用 Facebook SDK 之前,我们通过 UIActivityViewController 共享,因为 Facebook 不允许我们预先填写有关用户共享的信息,我们的解决方案是使用共享图像的用户描述信息UIPasteboard.general.string
。所以应用程序将切换到信使,用户可以粘贴。在我们开始使用 Facebook SDK 之前,这一切正常。
现在UIPasteboard.general.string
似乎在打开 Messenger 时被重置,我们无法再将图像描述复制到剪贴板。
这就是我与 Messenger 分享的方式:
let sharePhoto = FBSDKSharePhoto()
sharePhoto.image = image
let content = FBSDKSharePhotoContent()
content.photos = [sharePhoto]
FBSDKMessageDialog.show(with: content, delegate: delegate)
【问题讨论】:
所以你已经把它放到用户的剪贴板中了吗?这甚至是不允许的,请参阅developers.facebook.com/docs/apps/review/prefill“您的应用可以推荐内容,但使用您的应用的人应该选择手动复制和粘贴或自己键入该内容。” 是的,我把它放在用户剪贴板上,但首先通知用户,如果他们想把它复制到剪贴板。但即使用户从 UITextView 复制了一些内容,它也会在 Facebook SDK 打开 Messenger 时被删除。 听起来像是 Facebook 故意实施的。 检查这个,它会改变它的 api - developers.facebook.com/docs/sharing/ios 【参考方案1】:是的,在 FB 库更新后,我也很重视那位员工。至于我 - 我想出了图片上的网络链接,如下所示。结果 - 您不需要要求用户粘贴一些东西。您可以自己完成并将其粘贴到标题或描述中。
let content = LinkShareContent(url: url,
title: title,
description: description,
quote: nil,
imageURL: imageURL)
let dialog = ShareDialog(content: content)
dialog.presentingViewController = parentVC
dialog.mode = .automatic
dialog.completion = result in
...
try? dialog.show()
【讨论】:
title 和 description 现在是只读属性。因此,我们无法为标题或描述属性提供文本【参考方案2】:Facebook 不支持 UI 共享图像和文本。如果您想同时共享图像和文本,您可以从应用程序的设置中创建自定义故事,并将其作为开放式图表故事进行共享。这是documentation。
【讨论】:
开发者帐户中的 Facebook 应用似乎无法使用 OpenGraph 设置。那么,我们如何配置开放图形设置以利用这些功能?以上是关于Facebook SDK 与文本共享图像的主要内容,如果未能解决你的问题,请参考以下文章
Ios Facebook SDK 我如何共享图像、链接、文本?
在Facebook上通过Intent分享文本而不使用Facebook sdk
我可以使用 [FBDialogs presentOSIntegratedShareDialogModallyFrom] 通过 SDK 3.5 将图像发布到 facebook 吗?