2017-05-15 10 views
0

AndroidでUnityで動作するようにFacebookを手に入れましたが、初めてログインするともう動作しません。私はそれが私がログアウトしないためだと思うが、なぜ私はどちらかにログインしていないので、私はAPIを使用することはできません。ここに私のコードは次のとおりです。Unity Android最初に試した後にFacebookにログインできない

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; 
} 

}

誰かが私はトークンのログインを保存するか、または、それが自動的に保存しない方法を私に説明していただけますか?

答えて

1

FBトークンを保存する必要はありません。

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

FB.IsLoggedInを保存する必要がありますか、またはアプリケーションを終了するときに自動的に保存するので、不要にする必要はありません他に何か? –

+0

FB.IsLoggedInを保持する必要はありません。アプリケーションを実行するたびに、initializeを呼び出し、InitCallbackでログイン要求を行います。ユーザは以前にこれらのログインパラメータにすでに許可を与えていたので、ポップアップは表示されず、ユーザが初めてそれを使用していたときと同じフローを使用することができます。 – Farhan

+0

実際、私はアクセストークンを保存する必要はありませんでした。 –

関連する問題