我正在为我的iOS游戏使用Unity Facebook SDK,但FB。源不起作用。使用 Unity 4.2.2 和 Facebook SDK 4.2.4
以下是发生的情况:
-
游戏开始时,FB 初始化被称为
void Awake () { enabled = false; FB.Init(SetInit, OnHideUnity); } private void SetInit() { enabled = true; // "enabled" is a magic global FB.GetAuthResponse(LoginCallback); } private void OnHideUnity(bool isGameShown) { if (!isGameShown) { Time.timeScale = 0; } else { Time.timeScale = 1; } } void LoginCallback(FBResult result) { Debug.Log("call login: " + FB.UserId); FbDebug.Log("call login: " + FB.UserId); Debug.Log("login result: " + result.Text); FbDebug.Log("login result: " + result.Text); if (result.Error != null) { Debug.LogError(result.Error); return; } }
-
当我点击在Facebook上分享的按钮时,调用了以下函数:
public void FBShare() { if(!FB.IsLoggedIn) FB.Login("email,publish_actions", LoginCallback); FB.Feed( linkName: "My Game", linkDescription: "Just played My Game. It's awesome!", linkCaption: "I just smashed 4" + " friends! Can you beat it?", picture: "http://www.friendsmash.com/images/logo_large.jpg", callback: LogCallback ); }
-
如果我没有登录,那么我会在Facebook上收到登录提示(切换到FB应用程序)
- 如果我尚未授权该应用程序,则我也会收到提示。
- 然后出现Facebook共享提要,其中包含我在函数中输入的所有指定信息,所有先前的步骤都可以正常工作。
- 一旦我触摸开机自检按钮,问题就开始了。该应用程序开始上传我的帖子,但随后突然切换回游戏。
过去 3 天把头发扯掉了。找不到任何帮助。来自回调函数的日志是返回空响应。
登录是一个异步函数。 调用它后,它将从您的应用程序中执行多任务并尝试进行身份验证。 调用登录后,您将立即调用源。 Feed 还会尝试在您的应用中同时处理多项任务。 您为此案例创建自定义登录回调,并从其中内部调用源。
我终于想通了。问题是在线Facebook应用程序上的捆绑ID不正确,更改需要一些时间才能传播到所有FB服务器,因此无法立即发现问题所在。