Facebook应用程序请求通知不会出现

时间:2013-09-20 07:25:19

标签: ios objective-c facebook-graph-api

实际上我需要在我的应用中添加应用请求概念。为此,我使用了以下代码:

     [FBWebDialogs
     presentRequestsDialogModallyWithSession:[FBSession activeSession]
     message:@"Try this app"
     title:nil
     parameters:params
     handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
         if (error) {
             NSLog(@"Error sending request.");
         } else {
             if (result == FBWebDialogResultDialogNotCompleted) {
                 NSLog(@"User canceled request.");
             } else {
                 NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
                 if (![urlParams valueForKey:@"request"]) {
                     NSLog(@"User canceled request.");
                 } else {
                     NSString *requestID = [urlParams valueForKey:@"request"];
                     NSLog(@"Request ID: %@", requestID);
                 }
             }
         }
     }];


  - (NSDictionary*)parseURLParams:(NSString *)query 
    {
 NSArray *pairs = [query componentsSeparatedByString:@"&"];
 NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
  for (NSString *pair in pairs) {
    NSArray *kv = [pair componentsSeparatedByString:@"="];
    NSString *val =
    [kv[1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    params[kv[0]] = val;
  }
  return params;

 }

我还查看了这个facebook文档App requests

但是当我向我的任何朋友发送请求时,我收到了请求ID,但该通知没有出现在我的朋友的Facebook帐户上。上面的代码我做错了什么?

3 个答案:

答案 0 :(得分:1)

请求未显示在通知中。只有用户可以私下查看。将显示在“请求”页面上或作为通知给用户。

答案 1 :(得分:1)

你可以做你想要的但是有点麻烦。 从我所看到的请求代码中没有任何问题。

但您可能没有 - 并且需要在您的应用的设置页面中添加“Facebook上的应用”。

这是您添加“iOS”作为平台的地方。你需要在平台上添加“App on Facebook”作为平台,你需要做两件事。网站网址(您控制的任何网站)和受https保护的网址。

一旦你有了这个并将其放入Facebook设置中的“Canvas URL”和“Secure Canvas URL”,应用程序发送的通知将显示在主屏幕上,用于指向用户。

答案 2 :(得分:0)

在Facebook开发人员中以沙盒模式设置启用

这是访问https://www.facebook.com/login.php?next=https%3A%2F%2Fdevelopers.facebook.com%2Fapps

在您的Facebook中转到游戏 - > apps->应用请求并查看应用通知