在 Facebook Messenger 上分享

Posted

技术标签:

【中文标题】在 Facebook Messenger 上分享【英文标题】:share on facebook messenger 【发布时间】:2013-10-30 13:07:37 【问题描述】:

对于我正在开发的应用程序,我正在集成不同的社交服务,用户可以选择共享使用该应用程序创建的内容。

我想了解的是,facebook-messenger 应用程序是否公开了可用于执行某些操作(基本上是给他/她的朋友之一发短信)的 URL 方案,或者是否存在特定的 UTI与 UIDocumentInteractionController 结合使用。

提前感谢任何帮助/提示/建议

【问题讨论】:

【参考方案1】:

您无法撰写消息,但可以通过 Messenger 发送链接、照片或视频。 Facebook 为此提供了 API。

导入 FBSDKShareKit

#import <FBSDKShareKit.h>

创建内容并分享

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"http://www.url.com"];
content.contentTitle = @"My link!";
content.contentDescription = @"Check out my link!";

[FBSDKMessageDialog showWithContent:content delegate:self];

您还需要使您的控制器符合 FBSDKSharingDelegate

#pragma mark - FBSDKSharingDelegate

- (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results 



- (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error 



- (void)sharerDidCancel:(id<FBSDKSharing>)sharer 


可用的内容是:

FBSDKShareLink内容 FBSDKSharePhotoContent FBSDKShareVideoContent

【讨论】:

分享的时候好像有必要给一个contentURL,但是如果我想通过Messenger发送纯文本消息,我还能用FBSDKMessageDialog吗? 不,这是不可能的。唯一可用的内容是链接、照片和视频。如果你跳过链接内容中的 url,整个分享内容将不会出现。 小心:使用 facebooks SDK 意味着他们将从您的用户那里挖掘数据。每一个【参考方案2】:

ios 上的 Facebook Messenger URL scheme 是 fb-messenger://,我不知道是否可以打开一个作曲家,让你选择联系人或预填充消息。

如果您知道 Facebook 用户 ID,则可以打开对话:fb-messenger://user-thread/[facebook-user-id]

【讨论】:

感谢您的回答,但我不想选择特定用户。无论如何,我会将您的答案标记为正确,因为我没有具体说明我的需求是什么

以上是关于在 Facebook Messenger 上分享的主要内容,如果未能解决你的问题,请参考以下文章

与 Facebook Messenger 分享文本

用户是不是需要登录 Facebook 才能通过 Facebook Messenger 分享开放图故事?

如何在 iOS(Objective-C)中分享到 Facebook Messenger 应用程序的链接?

Facebook Messenger 飞书信私密对话功能

如何在按钮单击时将用户发送到 Facebook 页面(Facebook Messenger)

网站上的 Facebook Messenger,每个页面都有不同的问候信息