在 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 才能通过 Facebook Messenger 分享开放图故事?
如何在 iOS(Objective-C)中分享到 Facebook Messenger 应用程序的链接?