Я разрабатываю поддержку «Войти через Facebook» в своей игре с официальным SDK Unity Facebook. На самом деле я использую бета-версию 6.1 (но эта проблема присутствует и в стабильной версии 6.0).
Пользователь может успешно войти в систему, а затем я могу делать запросы FB API. Проблема в том, что FB SDK не сохраняет сеанс, так как когда вы закрываете приложение и запускаете его снова, значение FB.IsLoggedIn
равно false
.
Он не работает ни на одной платформе: Editor, iOS и Android.
Примечание. Свойство Status
в настройках 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 сохранил действительный сеанс?
Заранее спасибо!
UserCallback
. - person Arol   schedule 12.12.2014