Facebook SDK для Android - первый вход очень медленный/занимает очень много времени

Мое приложение для Android интегрируется с Facebook с помощью SDK v 3.01. Войдите в систему, используя следующую строку: Session.openActiveSession(m_activity, true, callback);

В первый раз, когда пользователь пытается войти в Facebook через приложение, требуется очень долгое время, чтобы добраться до точки, когда пользователь должен ввести вход (имя пользователя/пароль). Я измерял случаи более минуты, но ~ 30 секунд - "нормальный".

99% этого времени просто ждут, когда Facebook SDK откроет страницу входа в Facebook. Пользователь видит пустой экран с заголовком с моим именем приложения на нем, а в центре отображается индикатор выполнения и поворот...

Воспроизведение:

  • Очистить данные для моего приложения.
  • Очистить данные для приложения Facebook
  • Запустите мое приложение и выполните строку кода выше.

Кстати, процесс входа в систему (если вы можете сэкономить время) в конечном итоге работает, а будущие логины очень быстрые. Но большинство пользователей просто не получают белый экран с индикатором выполнения и ударяют "назад", поэтому никогда не вступают в систему с Facebook.

Я подумал о следующих вариантах и ​​исключил их:  - Внедрить мой собственный логин, используя OAuth: исключено, потому что я думаю, что FB собирается удалить поддержку для входа не через их API  - Выполняйте этот процесс в фоновом режиме и только всплывайте активность входа, когда он "читает": исключено, потому что я не думаю, что это возможно...  - Измените код: исключено, потому что я не смог найти "лучший" способ входа в систему...

Я предполагаю, что либо я делаю что-то неправильно, либо там, по крайней мере, один умный человек, который выяснил, как это сделать.

Цените свою помощь и плодотворное обсуждение.

Ответ 1

Самый простой способ добавить Facebook для входа в приложение - добавить LoginButton из Facebook sdk