【问题标题】:Unity Facebook SDK FB.Feed not postingUnity Facebook SDK FB.Feed 未发布
【发布时间】:2013-10-23 11:37:01
【问题描述】:

我正在为我的 iOS 游戏使用 Unity Facebook SDK,但 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 分享提要出现,其中包含我在函数中输入的所有指定信息,前面的所有步骤都正常工作。
  • 一旦我点击发布按钮,问题就开始了。该应用开始上传我的帖子,然后突然切换回游戏。

过去 3 天一直在扯头发。找不到任何帮助。回调函数的日志返回空响应。

【问题讨论】:

    标签: ios unity3d facebook-unity-sdk


    【解决方案1】:

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

    【讨论】:

    • benp 是正确的。您的 if(!FB.IsLoggedIn) 应该调用 FB.Login 并以某种方式返回或出错。
    • 我将 FB.Login 和 FB.Feed 移动到单独的函数中,每个函数都有自己的回调并由自己的按钮触发,只是为了检查这是否是问题,但我仍然遇到同样的问题。即使在上面的代码中,如果我登录了,我也不会得到登录和授权提示(FB.Login 没有被调用)但是会出现同样的问题。
    【解决方案2】:

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

    【讨论】:

    • 啊,谢谢你想通了。在 Facebook 在线中,我必须添加一个平台并将捆绑 ID 从 xcode 复制到该字段中。
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多