C# Unity Android首次尝试后无法登录Facebook

C# Unity Android首次尝试后无法登录Facebook,c#,facebook,unity3d,C#,Facebook,Unity3d,我让facebook与android联合工作,但在我第一次登录之后,它就不再工作了。我想这是因为我没有注销,但我不知道为什么它也没有保持登录状态,所以我可以使用API。这是我的密码: public class FacebookLogin : MonoBehaviour { void Awake() { if (!FB.IsInitialized) { FB.Init(InitCallback, OnHideUnity); } else

我让facebook与android联合工作,但在我第一次登录之后,它就不再工作了。我想这是因为我没有注销,但我不知道为什么它也没有保持登录状态,所以我可以使用API。这是我的密码:

public class FacebookLogin : MonoBehaviour {


void Awake()
{
    if (!FB.IsInitialized)
    {
        FB.Init(InitCallback, OnHideUnity);
    }
    else
    {
        FB.ActivateApp();
    }
}

private void InitCallback()
{
    if (FB.IsInitialized)
    {
        FB.ActivateApp();
    }
    else
    {
        Debug.Log("Failed to Initialize the Facebook SDK");
    }
}

private void OnHideUnity(bool isGameShown)
{
    if (!isGameShown)
    {
        Time.timeScale = 0;
    }
    else
    {
        Time.timeScale = 1;
    }
}

public void FBLogin()
{
    List<string> perms = new List<string>() { "public_profile", "email", "user_friends" };
    FB.LogInWithReadPermissions(perms, AuthCallback);
}

private void AuthCallback(ILoginResult result)
{
    if (FB.IsLoggedIn)
    {
        var aToken = Facebook.Unity.AccessToken.CurrentAccessToken;

        FB.API("/me?fields=first_name", HttpMethod.GET, getName);
        FB.API("/me/picture?type=square&height=128&width=128", HttpMethod.GET, getProfilePic);
        SceneManager.LoadScene("Main_Menu");
    }
    else
    {
        Debug.Log("User cancelled login");
    }
}

private void getName(IResult result)
{
    LocalDataBase.Name = result.ResultDictionary["first_name"].ToString();
}

private void getProfilePic(IGraphResult result)
{
    LocalDataBase.profilePicture = result;
}
}


有人能告诉我如何保存登录令牌还是自动保存吗?

无需保存FB令牌。无论何时您想要使用它,都可以从以下代码行获得:

string token = null;
if (FB.IsLoggedIn)
{
    token = Facebook.Unity.AccessToken.CurrentAccessToken;
}
//... use the token here onwards...

我需要保存FB.IsLoggedIn吗?还是在我关闭应用程序时自动保存,这样我就不需要做任何其他事情了?也不需要保存FB.IsLoggedIn。每次运行应用程序时,调用initialize并在InitCallback上发出登录请求。由于用户之前已经授予了这些登录参数的权限,因此不会显示弹出窗口,并且您可以使用与用户第一次使用时相同的流。因此,实际上我不需要保存访问令牌。是的,不需要跟踪它。当你说我只是使用FB.LogInWithReadPermissionsperms、AuthCallback登录时,Facebook SDK会帮你做到这一点;即使在我授予权限之后?对不起,我太傻了,这是我第一次不得不处理这个问题。上次我尝试再次登录时,它给了我一个错误,说钥匙相位错误