从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;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
