我正在使用官方的Unity Facebook SDK在我的游戏中开发“使用Facebook登录”支持。其实我使用的是beta版本6.1(但这个问题也在稳定版本6.0中)。Unity Facebook SDK不保存以前的登录会话
用户可以成功登录,然后我可以制作FB api请求。问题是FB SDK没有保存会话,因为当您关闭应用程序并再次启动时,FB.IsLoggedIn
的值为false
。
它不适用于任何平台:编辑器,iOS & Android。
注意: Facebook设置中的Status
属性已被选中。
这里是我是如何实现它:
FacebookController.cs
void Awake()
{
if (instance == null)
{
DontDestroyOnLoad(gameObject);
instance = this;
FB.Init(OnFacebookInit);
} else if (instance != this)
{
Destroy(gameObject);
}
}
void OnFacebookInit()
{
if (FB.IsLoggedIn)
{
FBIsLoggedIn();
}
}
public void LoginWithFacebook(OnUserAuthenticated _userAuthCallback)
{
userAuthCallback = _userAuthCallback;
FB.Login("email, user_friends", AuthCallback);
}
void AuthCallback(FBResult result)
{
if (FB.IsLoggedIn)
{
FBIsLoggedIn();
} else
{
Debug.Log("User cancelled login");
}
}
void FBIsLoggedIn()
{
FB.API("me", Facebook.HttpMethod.GET, UserCallBack);
FB.API("me/friends", Facebook.HttpMethod.GET, FriendsCallback);
}
我是否需要添加一些代码,使FB保存有效的会话?
提前致谢!
在这方面的成功吗?我有同样的问题。 – 2014-12-11 01:10:28
嗨,瑞恩,是的!我的问题是,我希望Facebook将会话保存在编辑器中,否则不会。 尝试在特定平台上进行测试,并确保您在用户登录时收到视觉反馈。在我之前的示例中,即尝试在'UserCallback'方法中禁用fb登录按钮。 – Arol 2014-12-12 08:54:02
谢谢Arol。我部署到iPad,并按预期工作。太糟糕了,它在编辑器中也不起作用。 – 2014-12-13 16:02:58