应用请求对话框中的问题(Facebook iOS SDK)

Posted

技术标签:

【中文标题】应用请求对话框中的问题(Facebook iOS SDK)【英文标题】:Problems in App Request Dialog (Facebook iOS SDK) 【发布时间】:2013-11-16 14:43:30 【问题描述】:

我正在尝试使用 Facebook ios SDK 使用内置请求对话框发送 Facebook 应用程序请求。请求发送没有问题,但我得到的对话框中有问题,在下面的屏幕截图中:

如您所见,它与 Facebook 文档部分中显示的请求对话框以及我在其他 iOS 应用中看到的请求对话框有很大不同:

(来源:akamaihd.net)

    取消和发送按钮坏了(它们可以工作,但看起来很奇怪) 除非我设置了 'to' 参数,否则它不会显示请求预览 'title'参数被忽略

这是我用来显示请求对话框的代码:

params[@"data"] = [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:@@"q" : NSInt(question.ID) options:0 error:nil] encoding:NSUTF8StringEncoding];
    [FBWebDialogs presentRequestsDialogModallyWithSession:[FBSession activeSession]
                                                  message:@"THIS IS A MESSAGE"
                                                    title:@"THIS IS A TITLE"
                                               parameters:params
                                                  handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) 
                                                      if (error) 
                                                          // Case A: Error launching the dialog or sending request.
                                                          NSLog(@"Error sending request.");
                                                       else 
                                                          if (result == FBWebDialogResultDialogNotCompleted) 
                                                              // Case B: User clicked the "x" icon
                                                              NSLog(@"User canceled request.");
                                                           else 
                                                              NSLog(@"Request Sent. %@", params);
                                                          
                                                      ];

我正在使用 Facebook iOS SDK 3.9.0。还有其他人经历过这样的事情吗?我做错了吗?

任何帮助表示赞赏,在此先感谢。

【问题讨论】:

我对 Facebook 也有同样的问题。如果你找到答案,不要忘记发布它。谢谢 【参考方案1】:

您看到的是请求对话框的新 UI,因此按钮是新设计的一部分,除非您明确指定“to”参数,否则将不再显示消息。 “to”参数对我有用(刚刚检查),你是如何使用它的?

【讨论】:

正如你所说,'to' 参数现在可以工作了,当对话框中的更改首次出现时它们没有工作。所以你是说每个使用 3.9.0 的人都这样看对话框?我的意思是那些取消和发送按钮在我看来非常有问题。 :/ 我猜这意味着他们删除了“标题”参数? (当我设置 'to' 参数时,'message' 会显示,但仍然没有标题。) UI 变化与您使用的 SDK 版本无关。它们由服务器端控制,并且可以随时更改。 Facebook 一直在用 UI 做实验,所以你不能说你看到的按钮和你的客户看到的按钮/UI 是一样的。仍然接受标题/消息参数,它们是否显示在对话框中取决于 UI。 当你说依赖于 UI 时,你到底是什么意思 - 我无法获得作为标题传递的任何字符串来显示,它总是显示 App Requests? 我的意思是,这取决于服务器决定显示的 UI。它可能会完全忽略您的参数。

以上是关于应用请求对话框中的问题(Facebook iOS SDK)的主要内容,如果未能解决你的问题,请参考以下文章

Fb 请求对话框错误地返回 nil - IOS Facebook

为啥 Facebook iOS 应用程序没有收到应用程序请求的通知?

Facebook iOS 原生应用中的权限对话框

Facebook iOS SDK 3.5.1 好友请求对话框在关闭时崩溃

通过 ios Facebook SDK 中的共享对话框共享时归属应用名称

iOS Facebook api,apprequests发送但没有接收?