允许用户发布邀请以在朋友的Facebook墙上播放iOS应用?

时间:2012-06-11 15:13:48

标签: php objective-c ios facebook

我的iOS应用程序允许人们使用Facebook登录,并自动检查您的哪些朋友当前注册为使用该应用程序。您当前没有使用该应用的所有朋友都在“邀请”列表中,就像DrawSomething有“播放”和“邀请”朋友列表一样。

无论您是邀请还是游戏,只要您的朋友登录,挑战就会存储在数据库中。

我被困在哪里试图弄清楚如何允许用户发布到他们的朋友墙上。我的PHP代码已经确定它们是否已经注册,所以从那里我只需要发布到'朋友B的墙。我没有特别长时间地使用php,而且我发现我在其他地方处理的Facebook代码并不像其他sdk那样不言自明。

我不确定从哪里开始,因为所有Facebook“信息收集”即朋友用户ID都是在应用程序本身完成的。我可以很容易地将它传递给php代码,但后来我不知道如何使用它来发布到他们的墙上。我会假设,由于服务器没有登录到用户A的Facebook帐户,它需要在允许发布到他们朋友的墙上之前以某种方式执行此操作,但我不希望用户必须再次按顺序登录去做这个。鉴于DrawSomething允许您通过Facebook邀请我知道这是可能的,但我不知道该怎么做。

总结一下:

这是一个iOS应用程序,我希望用户能够通过发布到朋友的Facebook墙上邀请他们的朋友。

如果有人能指出我正确的方向,我将非常感激。

1 个答案:

答案 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类中,当我点击我的邀请按钮时调用它 - 完成工作!

有一点需要注意的是,这确实会产生一个弹出式对话框,允许用户添加自己的消息,我认为这是一件好事。