我是唯一可以登录我的Unity3d游戏的人

时间:2014-04-08 23:19:08

标签: facebook-unity-sdk

我在Facebook Unity SDK 5.0.3中使用Unity3d 4.3.4f1。 (我无法使用5.1工作......导入该软件包时出错,但以前的软件包没有。)

我遇到的问题也出现在Facebook Unity SDK 4.3中。我认为升级可能会解决它......也许它只是一个愚蠢的设置?

无论如何,我能够登录我的游戏并玩游戏,但是没有其他人可以......如果有朋友试试,我的妻子,我制作了一个虚假的Facebook帐户......如果我标记它们并不重要作为测试人员与否...我已尝试将应用程序提供给公众或不公开......似乎没什么关系......我是唯一可以登录的人...

我非常简单,一个GUI.Button:

if (!FB.IsLoggedIn) {
            //START
            if (GUI.Button(new Rect(Screen.width * 0.55f, Screen.height * 0.7f, Screen.height * 0.2f * (float)1920/700, Screen.height * 0.2f), "", "Enter"))
            {
                if (!FB.IsLoggedIn) {
                    Init.Start();
                }
            }
            return;
        }

我是唯一一个可以点击该按钮并实际发生的事情......对于其他所有人来说,点击按钮根本就没有...它只是坐在那里......我可以添加一个调试器,它会告诉我当用户点击确认他们正在点击它的按钮时,我只是坐在那里......就像," Init.Start()"是以某种方式失败,永远不会得到他们的" FB.IsLoggedIn"被标记为真......

此时任何想法都会受到青睐!我有6个月的发展,NOBODY可以测试它,但我...我基本上没有游戏! :(

2 个答案:

答案 0 :(得分:1)

您的应用可能尚未向公众分享:https://developers.facebook.com/apps/ [APP-ID] / review-status /

如果是这样,那就意味着其他人无法登录,因为从技术上来说他们还不能访问它。

你还遇到了什么问题?

答案 1 :(得分:0)

感谢@Brian Jew,答案就在他的回答中。我正在移动到这里,以便其他人更容易找到:

答案很简单...... Init.Start正在调用FB.Init而不是FB.Login。这是更新的代码:

在任何启动游戏的脚本中,您都可以使用" start"按钮:

if (!FB.IsLoggedIn) {
        //START
        if (GUI.Button(new Rect(Screen.width * 0.55f, Screen.height * 0.7f, Screen.height * 0.2f * (float)1920/700, Screen.height * 0.2f), "", "Enter"))
            Init.Start();
        return;
    }

}

然后" Init"是我自己的自定义脚本,只运行一些初始启动的东西。里面是这个:

public static void Start(){
    FB.Init(OnInitComplete, OnHideUnity);
}

private static void OnInitComplete()
{
    dMsg += "FB.Init completed: Is user logged in? " + FB.IsLoggedIn;
    if (!FB.IsLoggedIn) FB.Login();   //<--- Magic login code! :P
    isInit = true;
}

private static void OnHideUnity(bool isGameShown)
{
    dMsg += "Is game showing? " + isGameShown;
}