C# Unity Android首次尝试后无法登录Facebook
我让facebook与android联合工作,但在我第一次登录之后,它就不再工作了。我想这是因为我没有注销,但我不知道为什么它也没有保持登录状态,所以我可以使用API。这是我的密码: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
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会帮你做到这一点;即使在我授予权限之后?对不起,我太傻了,这是我第一次不得不处理这个问题。上次我尝试再次登录时,它给了我一个错误,说钥匙相位错误