我正在使用官方Unity Facebook SDK,开发我游戏中的“使用Facebook登录”功能。实际上,我正在使用beta版本6.1(但这个问题也存在于稳定版本6.0中)。
用户可以成功登录,然后我可以进行FB API请求。问题在于FB SDK没有保存会话,因此当您关闭应用程序并再次启动时,
它在任何平台上都不起作用:编辑器、iOS和Android。
注意:Facebook设置中的
下面是我的实现方式:
FacebookController.cs
用户可以成功登录,然后我可以进行FB API请求。问题在于FB SDK没有保存会话,因此当您关闭应用程序并再次启动时,
FB.IsLoggedIn
值为false
。它在任何平台上都不起作用:编辑器、iOS和Android。
注意:Facebook设置中的
状态
属性已经被选中了。下面是我的实现方式:
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保存有效的会话吗?
提前感谢!