0

我正在尝试打开 Facebook Messenger 以从我的 iOS 应用程序发送消息。我目前正在运行 Facebook SDK 版本 4.37.0。根据iOS - Sharing,这应该是可能的。它说

人们还可以使用 Messenger Expression Platform 或从 iOS SDK 中的共享消息对话框将内容从您的应用程序共享到 Facebook Messenger。

如果您单击Message Dialog的链接,它会为您提供以下示例:

        FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
        content.contentURL = [NSURL URLWithString:myFacebookURL];
        content.quote = @"My message";
        [FBSDKMessageDialog showWithContent:content delegate:self];

我已经实现了这个以及 FBSDKSharingDelegate 委托方法:

- (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results
{
    NSLog(@"complete");
}

- (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error
{
    NSLog(@"Sharer Error");
}

- (void)sharerDidCancel:(id<FBSDKSharing>)sharer
{
    NSLog(@"Cancelled");
}

委托方法永远不会被调用。我所期望的是会打开一个 Facebook Messenger 对话框,允许我选择要发送消息的朋友。但是什么都没有打开。并且没有记录错误。

我确实知道 facebook 收到了一些东西,因为我得到了以下信息:

FBSDKLog: param { 

"advertiser_id" = "xxxxxxxxx";
"advertiser_tracking_enabled" = 1;
"anon_id" = "xxxxxxxx";
"application_
tracking_enabled" = 1;
"custom_events" = "[{\"_eventName\":\"fb_mobile_content_view\",\"_logTime\":1541721304,\"fb_description\":\"MY FEATURE Sent\",\"_ui\":\"no_ui\"},{\"_ui\":\"no_ui\",\"_eventName\":\"fb_messenger_dialog_share_show\",\"_logTime\":1541721310,\"_implicitlyLogged\":\"1\",\"fb_dialog_share_content_type\":\"Status\"}]";
event = "CUSTOM_APP_EVENTS";
extinfo = "[\"i2\",\"com.myApp\",\"1\",\"8.3.6\",\"12.0.1\",\"iPhone10,6\",\"en_US\",\"CST\",\"AT&T\",375,812,\"3.00\",6,60,8,\"America\\/Chicago\"]";
"url_schemes" = "[\"myappID\",\"myscheme1\",\"myscheme2\",\"myscheme3\"]";
}

任何帮助或指示将不胜感激。

4

1 回答 1

0
FBSDKMessageDialog.show(with: FBSDKShareLinkContent(), delegate: nil)

我有同样的问题,但在实验上我只通过 FBSDKShareLinkContent() 作为内容参数和信使应用程序启动

您还应该在 LSApplicationQueriesSchemes 下的 Info.plist 中添加 fb-messenger-share-api 键

于 2018-12-11T14:22:53.033 回答