我的iOS应用程序允许人们使用Facebook登录,并自动检查您的哪些朋友当前注册为使用该应用程序。您当前没有使用该应用的所有朋友都在“邀请”列表中,就像DrawSomething有“播放”和“邀请”朋友列表一样。
无论您是邀请还是游戏,只要您的朋友登录,挑战就会存储在数据库中。
我被困在哪里试图弄清楚如何允许用户发布到他们的朋友墙上。我的PHP代码已经确定它们是否已经注册,所以从那里我只需要发布到'朋友B的墙。我没有特别长时间地使用php,而且我发现我在其他地方处理的Facebook代码并不像其他sdk那样不言自明。
我不确定从哪里开始,因为所有Facebook“信息收集”即朋友用户ID都是在应用程序本身完成的。我可以很容易地将它传递给php代码,但后来我不知道如何使用它来发布到他们的墙上。我会假设,由于服务器没有登录到用户A的Facebook帐户,它需要在允许发布到他们朋友的墙上之前以某种方式执行此操作,但我不希望用户必须再次按顺序登录去做这个。鉴于DrawSomething允许您通过Facebook邀请我知道这是可能的,但我不知道该怎么做。
总结一下:
这是一个iOS应用程序,我希望用户能够通过发布到朋友的Facebook墙上邀请他们的朋友。
如果有人能指出我正确的方向,我将非常感激。
答案 0 :(得分:2)
好的,所以经过一段时间的斗争,看起来又高又低,没有运气,我今天偶然发现了如何做到这一点。
我会在这里更新,所以任何正在挣扎的人都可以看到:
//using long longs to make sure the really long facebook ID's
//don't exceed integer limits
- (void)inviteUsingFacebook:(long long)facebookID
{
NSString *numStr = [NSString stringWithFormat:@"%llu", facebookID];
NSString *desc = @"Download the app NOW from the App Store to play with ";
desc = [desc stringByAppendingString:facebookNameStore];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"_YOUR_APP_ID_GOES_HERE", @"app_id",
@"YOUR_LINK", @"link",//most likely you will put itunes link here
@"FRIENDS_ID", @"target_id",//facebook id number of person you want to send to
@"http://URL_TO_IMAGE_YOU_WANT_TO_APPEAR_IN_WALL_POST.jpeg", @"picture",
@"YOUR APP NAME", @"name",
@"THIS IS AN INVITE EXAMPLE!", @"description",
nil];
[facebook dialog:@"stream.publish" andParams:params andDelegate:self];
}
就是这样!
我把它放到我的AppDelegate类中,当我点击我的邀请按钮时调用它 - 完成工作!
有一点需要注意的是,这确实会产生一个弹出式对话框,允许用户添加自己的消息,我认为这是一件好事。