簡體   English   中英

Unity Android無法在首次嘗試后登錄Facebook

[英]Unity Android Unable to login into Facebook after first try

我讓facebook在Android的Unity中工作,但是第一次登錄后,它不再起作用。 我認為這是因為我沒有注銷,但是我不知道為什么它也不會保持登錄狀態,所以我可以使用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...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM