应用请求对话框中的问题(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 SDK 3.5.1 好友请求对话框在关闭时崩溃