【问题标题】:iOS Facebook sdk Invite to friend Reqest Sent but not getting Notificaton on friendsiOS Facebook sdk 邀请好友请求已发送但未收到好友通知
【发布时间】:2023-10-15 21:07:01
【问题描述】:

我正在尝试使用以下方法使用 Facebook SDK 从我的 iOS 原生应用向 Facebook 朋友发送应用邀请。

-(IBAction)ShowFiendDialog:(id)sender
{

    NSDictionary *parameters = @{@"to":@""};

    [FBWebDialogs presentRequestsDialogModallyWithSession:FBSession.activeSession
                                                  message:@"my message"
                                                    title:@"my title"
                                               parameters:parameters
                                                  handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
     {
         if(error)
         {
             NSLog(@"Some errorr: %@", [error description]);
             UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Invitiation Sending Failed" message:@"Unable to send inviation at this Moment, please make sure your are connected with internet" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
             [alrt show];
             //[alrt release];
         }
         else
         {
             if (![resultURL query])
             {
                 return;
             }

             NSDictionary *params = [self parseURLParams:[resultURL query]];
             NSMutableArray *recipientIDs = [[NSMutableArray alloc] init];
             for (NSString *paramKey in params)
             {
                 if ([paramKey hasPrefix:@"to["])
                 {
                     [recipientIDs addObject:[params objectForKey:paramKey]];
                 }
             }
             if ([params objectForKey:@"request"])
             {
                 NSLog(@"Request ID: %@", [params objectForKey:@"request"]);
             }
             if ([recipientIDs count] > 0)
             {
                 //[self showMessage:@"Sent request successfully."];
                 //NSLog(@"Recipient ID(s): %@", recipientIDs);
                 UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Success!" message:@"Invitation(s) sent successfuly!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
                 [alrt show];
                 //[alrt release];
             }

         }
     }friendCache:nil];

}

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

        [params setObject:[[kv objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
                   forKey:[[kv objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    }

    return params;
}

使用上面的代码,我得到了提示我所有朋友的列表,在检查了多个或单个朋友之后,该请求已成功发送。但是当我的朋友在网络或 facebook 原生应用程序中打开 facebook 时,不会收到任何通知或消息。我找不到代码错误在哪里。

请帮助我。我的错误在哪里,我该如何解决?

【问题讨论】:

标签: ios facebook facebook-sharer facebook-invite


【解决方案1】:

您必须通过传递一些虚拟 url 在 facebook 上配置您的应用程序,我也面临同样的问题,这样做对我有用。 转到 developer.facebook.com,选择您的应用程序,选择设置,AddPlatform---> addApplication,在那里传递任何虚拟 url,还为您的应用程序添加图像,该图像将显示在应用程序详细信息屏幕的通知中。

【讨论】:

  • 需要先提交才能提交吗?
  • @GấuUni 不,您不需要提交您的应用来执行此操作。请记住让您的应用上线(默认情况下,它处于沙盒模式,不允许使用除注册的 fb 帐户之外的其他 fb 帐户测试应用)
  • 我已经公开了。每个人都可以授权。我成功发送请求。但是我的朋友在网络或移动设备上没有收到任何通知。请帮我。你能给我一些我可以联系你的东西吗
  • 我可以在哪里添加 url 和图片我没有任何选项请让我知道我也面临同样的问题@nitin