如果使用 4.29.0 或以上版本的 iOS 或 Android 版 Facebook SDK 开发应用,您可以让用户将应用中的链接和媒体分享到 Messenger。用户向 Messenger 分享内容时,您可通过来源链接触发聊天功能插件。您的聊天功能插件将显示在分享界面的更多部分。
如需了解详情,请参阅以下各部分:
若要实现分享到网页版 Messenger 的功能,请参阅分享到网页版 Messenger。
Facebook SDK 提供以下几种分享类型:
pageID
,因此可以知晓其来源)下表列出了“分享到 Messenger”支持的所有分享类型以及是否需要提供公共主页或应用编号。
分享类型 | 是否需要提供公共主页编号? | 应用方式 |
---|---|---|
链接分享 | 可选 |
|
照片 | 不支持 |
|
开发者可在分享流程中指明公共主页编号,这样当人们通过分享 SDK 将应用内容分享到 Messenger 时,系统即会将此公共主页视为内容的来源。而公共主页管理员可控制哪些应用可以将其公共主页作为分享来源,以防出现伪造来源的情况。要授权某个应用将其公共主页作为分享来源,管理员需要先关联应用编号和公共主页编号。
如要关联应用编号和公共主页编号:
主页管理员也可以移除相关权限,不让应用使用分享来源。
如要移除某个具体应用的“分享来源”身份:
如果在分享 SDK 中使用了网址按钮,并且希望在 Messenger 中打开网址时能启用 Messenger 功能插件,则必须先注册对应的网址网域,才能顺利实现分享。
要注册网域,请执行以下操作:
有关详细信息,请参阅 Messenger 功能插件 SDK — 必须将网域加入白名单。
向应用添加“分享到 Messenger”功能前,请先完成下述步骤:
.plist
文件中。请注意,该理由必须能让人轻松看懂。FBSDKShareKit.framework
与您的项目。此外,也请确保您的应用在 MessageDialog
实例上调用了 canShow
或 validate
,以确定用户是否在其设备上安装了兼容版本的 Messenger。
不支持 quote 属性。
guard let url = URL(string: "https://newsroom.fb.com/") else { preconditionFailure("URL is invalid") } let content = ShareLinkContent() content.contentURL = url let dialog = MessageDialog(content: content, delegate: self) do { try dialog.validate() } catch { print(error) } dialog.show()
// Assumes your assets contain an image named "puppy" guard let image = UIImage(named: "puppy") else { return } let photo = SharePhoto(image: image, userGenerated: true) let content = SharePhotoContent() content.photos = [photo] let dialog = MessageDialog(content: content, delegate: self) // Recommended to validate before trying to display the dialog do { try dialog.validate() } catch { print(error) } dialog.show()
// Assuming you have a URL for a PHAsset let video = ShareVideo(videoURL: assetURL) let content = ShareVideoContent() content.video = video let dialog = MessageDialog(content: content, delegate: self) // Recommended to validate before trying to display the dialog do { try dialog.validate() } catch { print(error) } dialog.show()
按照在 Android 平台分享中的说明进行操作,摘要如下:
此外,也请确保您的应用调用 MessageDialog.canshow({template})
,以了解用户是否在其设备上安装了兼容版本的 Messenger。