Unity Facebook SDK FB.Feed没有发布

时间:2013-10-23 11:37:01

标签: ios unity3d facebook-unity-sdk

我正在使用Unity Facebook SDK进行iOS游戏,但FB.Feed无效。使用Unity 4.2.2和Facebook SDK 4.2.4

以下是发生的事情:

  • 在游戏开始时,FB init被称为

    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 Share Feed,其中包含我在该功能中输入的所有指定信息,所有前面的步骤都正常工作。
  • 触摸发布按钮后问题就开始了。该应用程序开始上传我的帖子,但然后突然切换回游戏。

过去3天撕掉我的头发。找不到任何帮助。回调函数的日志是返回空响应。

2 个答案:

答案 0 :(得分:2)

Login是一个异步函数。一旦你调用它,它将从你的应用程序多任务并尝试进行身份验证。您在呼叫登录后立即呼叫Feed。 Feed还会尝试从您的应用中进行多任务处理。您为此案例进行自定义登录回调,并从其内部调用Feed。

答案 1 :(得分:2)

我终于明白了。问题是Facebook在线应用程序上的捆绑ID不正确,这些更改需要花费一些时间传播到所有FB服务器,因此不能立即明白问题是什么。