Невозможно войти / Facebook Unity SDK и Android

Facebook Unity SDK: бета-версия 5.0.3

Когда я пытаюсь войти в систему, установив приложение Facebook, оно спрашивает меня, разрешаю ли я этому приложению доступ к моему профилю (тогда я вижу в facebook на странице приложений моего профиля, что доступ действительно предоставляется), но после этого ничего не происходит. Интерактивная консоль (пример, который поставляется с Unity SDK) по-прежнему не показывает никаких признаков того, что я был зарегистрирован.

Вот что происходит в logcat, когда я нажимаю кнопку входа:

D/FBUnitySDK(21729): KeyHash: BR6n1yxjFrxzrkkeDey3fzy7Mb0=
V/FBUnitySDK(21729): sending to Unity OnLoginComplete({"cancelled":true,"key_hash":"BR6n1yxjFrxzrkkeDey3fzy7Mb0=\n"})

Если я удалю приложение facebook, оно покажет мне небольшой веб-просмотр, где я должен ввести свои учетные данные. После ввода он просто снова появится снова с пустыми обоими полями ввода, и этому повторному появлению нет конца (если я не сдамся и не нажму Cancel/X).

Вот что происходит в logcat, когда я пытаюсь войти в веб-просмотр:

D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/dialog/oauth?display=touch&e2e=%7B%22init%22%3A1391609676100%7D&client_id=620142358054713&scope=email&type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/dialog/oauth?display=touch&e2e=%7B%22init%22%3A1391609676538%7D&client_id=620142358054713&scope=email&type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess
D/FacebookSDK.WebDialog(21729): Redirect URL: https://m.facebook.com/login.php?skip_api_login=1&api_key=620142358054713&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26e2e%3D%257B%2522init%2522%253A1391609676538%257D&display=touch&_rdr
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/login.php?skip_api_login=1&api_key=620142358054713&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26e2e%3D%257B%2522init%2522%253A1391609676538%257D&display=touch&_rdr
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/login.php?skip_api_login=1&api_key=620142358054713&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26e2e%3D%257B%2522init%2522%253A1391609676538%257D&display=touch&_rdr
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/login.php?skip_api_login=1&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&refsrc=https%3A%2F%2Fm.facebook.com%2Flogin.php&refid=9
D/FacebookSDK.WebDialog(21729): Redirect URL: https://m.facebook.com/dialog/oauth?redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&scope=email&type=user_agent&client_id=620142358054713&ret=login&ext=1391613294&hash=Aea6t5pfgOeXQyOH&refsrc=https%3A%2F%2Fm.facebook.com%2Flogin.php&refid=9&m_sess=c2VzczoxMDAwMDU2MzQ0ODY4ODI6Mjk6Uk5FLWFfTXV5RE9ZeHc6MjoxMzkxNjA5Njk0OjE0MDMx&_rdr#_=_
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/dialog/oauth?redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&scope=email&type=user_agent&client_id=620142358054713&ret=login&ext=1391613294&hash=Aea6t5pfgOeXQyOH&refsrc=https%3A%2F%2Fm.facebook.com%2Flogin.php&refid=9&m_sess=c2VzczoxMDAwMDU2MzQ0ODY4ODI6Mjk6Uk5FLWFfTXV5RE9ZeHc6MjoxMzkxNjA5Njk0OjE0MDMx&_rdr#_=_
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/dialog/oauth/confirm
D/FacebookSDK.WebDialog(21729): Redirect URL: fbconnect://success#access_token=xxx&expires_in=5179467
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/dialog/oauth?display=touch&e2e=%7B%22init%22%3A1391609698785%7D&client_id=620142358054713&scope=email&type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess
D/FacebookSDK.WebDialog(21729): Redirect URL: https://m.facebook.com/login.php?skip_api_login=1&api_key=620142358054713&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26e2e%3D%257B%2522init%2522%253A1391609698785%257D&display=touch&_rdr
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/login.php?skip_api_login=1&api_key=620142358054713&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26e2e%3D%257B%2522init%2522%253A1391609698785%257D&display=touch&_rdr
D/FacebookSDK.WebDialog(21729): Webview loading URL: https://m.facebook.com/login.php?skip_api_login=1&api_key=620142358054713&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display%3Dtouch%26scope%3Demail%26type%3Duser_agent%26client_id%3D620142358054713%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26e2e%3D%257B%2522init%2522%253A1391609698785%257D&display=touch&_rdr

Вход в IOS работает нормально, но что не так с Android?

ОБНОВЛЕНИЕ: все работает как надо в версии SDK 4.3.6.


person bobby    schedule 05.02.2014    source источник


Ответы (3)


Вы входите в систему без каких-либо разрешений? Существует известная ошибка, из-за которой FB.Login() не работает, если не указаны разрешения. Попробуйте FB.Login("basic_info", <your_callback>)

см.: Unity Beta SDK 5.0.3 – Проблемы со входом в систему на Android-устройстве

person Brian Jew    schedule 05.02.2014
comment
Я вхожу в систему с указанными разрешениями basic_info и электронной почты - person bobby; 06.02.2014

Вход работает только тогда, когда я начинаю входить в портретный режим экрана. Если я запускаю его в альбомной ориентации - он принудительно меняется на портрет и обратно, но кроме этого ничего не происходит. Проверено несколько раз без пересборки - подтвердилось. Я считаю, что это ошибка.

person bobby    schedule 06.02.2014
comment
Спасибо за сообщение об ошибке. Мы изучаем это. - person Brian Jew; 12.02.2014
comment
А пока есть исправление, которое вы можете сделать самостоятельно: when-trying-to-login-andro/21368820#21368820" title="facebook unity sdk v5 0 3 аварийно завершает работу в ландшафтном режиме при попытке войти в систему andro"> stackoverflow.com/questions/21354281/ - person Brian Jew; 12.02.2014

В SDK есть серьезная проблема.

SDK использует фантомную активность FBunityLoginActivity, которая вызывает FB.LoginUsingActivity() из onCreate(), но активность не имеет android:configChanges , и Android перезапускает его, потому что он переключается с горизонтального на портретный. Это приводит ко второму вызову FB.LoginUsingActivity(), который отменяет предыдущий асинхронный вход.

Решение состоит в том, чтобы указать правильные android:configChanges и android:screenOrientation для всех действий.

Я думаю, что команда Facebook должна использовать runOnUiThread() вместо фантомной активности.

person user3318768    schedule 17.02.2014