我需要在iOS應用程序(已經有一個可用的Facebook登錄系統)上實現遊戲邀請(即邀請不是應用程序用戶的朋友嘗試應用程序)。似乎有幾種可能的方式來做到這一點,每種方式都有自己的不同要求。 FBSDKGameRequestDialog似乎是一個很好的方法。 https://developers.facebook.com/docs/games/services/gamerequests的教程說:FBSDKGameRequestDialog與FBSDKGameRequestFilterAppNonUsers錯誤
「或者,通過指定app_non_users,發件人只會看到以前未驗證過該應用的朋友,在使用請求邀請新用戶進入遊戲時應該使用此功能。
這似乎正是我要找的。因此,我想這:
FBSDKGameRequestContent* content = [[FBSDKGameRequestContent new] autorelease];
content.actionType = FBSDKGameRequestActionTypeSend;
content.filters = FBSDKGameRequestFilterAppNonUsers;
content.message = @"something";
content.title = @"something";
content.objectID = @"1"; // No idea what to put here
FBSDKGameRequestDialog* dialog = [[FBSDKGameRequestDialog new] autorelease];
dialog.content = content;
dialog.delegate = self;
NSError* error = nil;
if(![dialog validateWithError: &error])
NSLog(@"%@", error);
else
[dialog show];
對話框啓動,但要求有一個錯誤,即委託:
錯誤域= com.facebook.sdk.share代碼= 100 「(空)」 的UserInfo = {com.facebook.sdk:FBSDKErrorDeveloperMessageKey =無效的fbid。}
該錯誤消息不是非常有用,我也不能找到任何地方爲什麼發生,或者確切的要求是什麼,這是可能的。 (是的,我已成功登錄到Facebook,其他所有工作都很順利,我不知道「Invalid fbid」來自哪裏)
相同的教程頁面提供了一個替代方案,明確邀請朋友列表,並使用您自己的GUI。然而,它說:
「此功能只提供給遊戲在Facebook上桌面存在」
顯然它不打擾告訴這意味着什麼,或者給一個鏈接到更多信息。當然,請求不起作用。 (錯誤說「請在你的應用程序的設置中設置一個Canvas URL」,即使在瀏覽Facebook自己的文檔和使用Google搜索之後,我也不知道它是什麼意思或者怎麼做。)
無論哪種方式,我寧願這是SDK自己的對話框,因爲它的工作量少得多。