从facebook中的iOS应用程序邀请Facebook用户:邀请未被发送
发布时间:2020-12-14 20:00:33 所属栏目:百科 来源:网络整理
导读:我试图邀请Facebook用户尝试我的iOS应用程序(尚未在商店中,尚未完成). 我使用facebook API来验证用户,然后尝试使用以下代码: - (void)shareWithFriends:(id)sender{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invite Friends" message:@"
我试图邀请Facebook用户尝试我的iOS应用程序(尚未在商店中,尚未完成).
我使用facebook API来验证用户,然后尝试使用以下代码: - (void)shareWithFriends:(id)sender { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invite Friends" message:@"If you enjoy using this app,would you mind taking a moment to invite a few friends that you think will also like it?" delegate:self cancelButtonTitle:@"No Thanks" otherButtonTitles:@"Tell Friends!",nil]; [alert show]; } - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { if (buttonIndex == 0) { // User has clicked on the No Thanks button,do not ask again NSLog(@"Chitty user says he doesn't wanna share"); } else if (buttonIndex == 1) { // User has clicked on the Tell Friends button [self performSelector:@selector(sendRequest) withObject:nil afterDelay:0.5]; } } - (void)sendRequest { // Display the requests dialog NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:nil]; [FBWebDialogs presentRequestsDialogModallyWithSession:nil message:[NSString stringWithFormat:@"Try this app,brah!"] title:nil 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."); } }}]; } 但是,当我选择要向谁发送邀请的用户然后点击发送.什么都没发生.我收到“请求已发送”.通过NSLog,但我的朋友没有收到它. 有任何想法吗? 解决方法
我注意到通知消息只出现在Facebook App App和Android / iOS中,但是网络用户看不到它,我希望它不是来自Facebook的实现?另外,为了确保成功发送您的邀请,您必须解析resultURL查询.
NSDictionary *parameters = @{@"to":@""}; [FBWebDialogs presentRequestsDialogModallyWithSession:nil message:SL_FB_INVITE_DESCRIPTION title:SL_FB_INVITE_TITLE parameters:parameters handler:^(FBWebDialogResult result,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] autorelease]; 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] autorelease]; for (NSString *pair in pairs) { NSArray *kv = [pair componentsSeparatedByString:@"="]; [params setObject:[[kv objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:[[kv objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; } return params; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |