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

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

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

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

【问题讨论】:

    标签: ios url-scheme uidocumentinteraction facebook-messenger


    【解决方案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]

    【讨论】:

    • 感谢您的回答,但我不想选择特定用户。无论如何,我会将您的答案标记为正确,因为我没有具体说明我的需求是什么
    猜你喜欢
    • 2021-03-19
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多