Я использую Unity 2019.3.0f3 и Facebook SDK Unity версии 7.19.1
Я успешно интегрировал его на iOS и Android. Я установил FB init в Start (), но у меня также есть механизм автоматического входа в Start (). При бесплатной sh установке приложения в iOS, когда я нажимаю кнопку Facebook, появляется сообщение о том, что Facebook хочет войти в систему и может выбрать «Отмена» или «Продолжить». Оба варианта хорошо работают в первый раз.
После входа в систему и использования приложений, скажем, приложение перезапускается, где работает механизм автоматического входа. Если приложение перезапускается и если строка в PlayerPrefs (заданная в первый раз, это «Facebook») совпадает, то оно должно войти в систему, но FBSDK на iOS покажет то же самое приглашение, что и в первый раз, и даже если нажать кнопку «Отмена», оно автоматически входит в систему. Он не должен входить в систему при нажатии кнопки Отмена. Почему это происходит и как я могу это исправить?
мой старт и логин на Facebook:
public void Start()
{
if (!FB.IsInitialized)
{
Debug.Log("FB not initialized. Initializing now.");
// Initialize the Facebook SDK
FB.Init(InitCallback, OnHideUnity);
}
else
{
// Already initialized, signal an app activation App Event
Debug.Log("activate app on start if fb initialized.");
FB.ActivateApp();
}
if (PlayerPrefs.GetString("email") != "" && PlayerPrefs.GetString("password") != "")
{
string login_useremail = PlayerPrefs.GetString("email");
string login_password = PlayerPrefs.GetString("password");
LoadingPage.SetActive(true);
loggingIn = true;
if (PlayerPrefs.GetString("SocialPlatform", "Facebook") == "Facebook")
{
//StartCoroutine(LoginUserViaFacebook(login_useremail, login_password));
StartCoroutine(LogIntoFacebook());
}
}
}
IEnumerator LogIntoFacebook()
{
while(fbactivated == false)
{
yield return new WaitForSecondsRealtime(0.2f);
Debug.Log("Facebook cannot login becae its not activated yet.");
}
if(fbactivated == true)
{
Debug.Log("Facebook is activated");
FacebookLogin();
}
}
public void FacebookLogin()
{
var perms = new List<string>() { "public_profile", "email" };
FB.LogInWithReadPermissions(perms, AuthCallback);
}
Я предполагаю, что это контролирует Отмена или Продолжить? Но игнорирует Отмена при автоматическом входе.
FB.LogInWithReadPermissions (perms, AuthCallback);