Unity Facebook SDK FB.Feed 未发布
Posted
技术标签:
【中文标题】Unity Facebook SDK FB.Feed 未发布【英文标题】:Unity Facebook SDK FB.Feed not posting 【发布时间】: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 天一直在扯头发。找不到任何帮助。回调函数的日志返回空响应。
【问题讨论】:
【参考方案1】:登录是一个异步函数。一旦你调用它,它就会从你的应用程序中执行多任务并尝试进行身份验证。您在调用登录后立即调用 Feed。 Feed 还将尝试在您的应用程序中执行多任务处理。您为此案例创建了一个自定义登录回调,并从其中调用 feed。
【讨论】:
benp 是正确的。您的 if(!FB.IsLoggedIn) 应该调用 FB.Login 并以某种方式返回或出错。 我将 FB.Login 和 FB.Feed 移动到单独的函数中,每个函数都有自己的回调并由自己的按钮触发,只是为了检查这是否是问题,但我仍然遇到同样的问题。即使在上面的代码中,如果我登录了,我也不会得到登录和授权提示(FB.Login 没有被调用)但是会出现同样的问题。【参考方案2】:我终于明白了。问题是在线 Facebook 应用程序上的捆绑 ID 不正确,更改需要一些时间才能传播到所有 FB 服务器,因此问题所在并不立即明显。
【讨论】:
啊,谢谢你想通了。在 Facebook 在线中,我必须添加一个平台并将捆绑 ID 从 xcode 复制到该字段中。以上是关于Unity Facebook SDK FB.Feed 未发布的主要内容,如果未能解决你的问题,请参考以下文章
Android上的Unity Facebook SDK登录错误
Facebook Unity SDK Invitable_friends API 问题
Facebook SDK Unity 插件 - 移动应用广告跟踪