邀请朋友通过Facebook使用我的ios应用程序

时间:2014-05-08 16:20:40

标签: ios facebook facebook-graph-api

我刚刚开始处理现有项目,我应该添加一些功能来邀请您的Facebook好友使用该应用。它使用Parse的PFFacebookUtils进行连接,我尝试使用Facebook API获取您的整个朋友列表,以便您可以选择它们并邀请他们下载和使用该应用程序。

既然V2 API是可能的呢?据我所知,你只能得到已经使用该应用程序(没用)的朋友列表,或者你可以得到一个" Invitable Friends"但只有它是Facebook Canvas游戏,这个应用程序不是。我认为邀请人们通过Facebook使用你的应用程序是一个非常常见的功能,但Facebook已经弃用了这种能力?我希望有人知道我不知道的事情,并且有办法实现这一目标。

提前致谢!

2 个答案:

答案 0 :(得分:0)

您仍然可以在不需要特殊权限的情况下使用“请求”对话框(允许用户选择向其发送请求的对象)

只有在您构建自己的界面并且需要枚举用户可以向其发送请求的用户时,才应该使用可邀请的朋友API,请求对话框本身应该仍然无法使用

使用“请求”对话框的文档位于https://developers.facebook.com/docs/games/requests/v2.0 iOS特定教程有一个用法示例,其中包含一些用例:https://developers.facebook.com/docs/games/mobile/ios-tutorial#requests 更多参考文档:https://developers.facebook.com/docs/ios/ui-controls#requestdialog

答案 1 :(得分:0)

您应该使用Facebook GameRequest。 它完全由Facebook控制,您无需执行任何操作。您可以指定一些属性(例如请求的消息,标题,过滤器,受邀用户安装您的应用程序时可以在以后使用的其他数据等)。您还可以实现委托类,并获取有关成功或失败,邀请了多少朋友等信息。

例如一些基本的iOS用法:

FBSDKGameRequestContent *gameRequestContent = [[FBSDKGameRequestContent alloc] init];
    gameRequestContent.message = @"Please come play <you_game> with me!";
    gameRequestContent.title = @"INVITE FRIENDS TO PLAY <your_game>";
    gameRequestContent.data = "some_extra_data_on_this_request"
    gameRequestContent.filters = FBSDKGameRequestFilterAppNonUsers; // filter says that only Non-App users will appear in the list

// implement delegate as well:
    MyGameRequestDialogDelegate* myGameRequestDialogDelegate = [[ MyGameRequestDialogDelegate alloc] init];

// show the game request dialog
    [FBSDKGameRequestDialog showWithContent:gameRequestContent delegate:myGameRequestDialogDelegate];

委托类:

@interface MyGameRequestDialogDelegate : NSObject < FBSDKGameRequestDialogDelegate >    

@end

@implementation MyGameRequestDialogDelegate

 - (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didCompleteWithResults:(NSDictionary *)results
 {
    NSLog(@"FBSDKGameRequest Success");

    NSArray* arr = [results objectForKey:@"to"];
    if (arr)
    {
       // get number of invited friends
       unsigned long count = [arr count];
    }
}

- (void)gameRequestDialogDidCancel:(FBSDKGameRequestDialog *)gameRequestDialog
{
    NSLog(@"FBSDKGameRequest User Cancelled");
}

- (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog
         didFailWithError:(NSError *)error
{
    NSLog(@"FBSDKGameRequest Error: %@", error);
}

有关完整文档,请参阅: https://developers.facebook.com/docs/games/services/gamerequests/