Наш проект
У нас есть один отзывчивый веб-сайт (на основе Meteor.js) для нашего продукта. Аутентификация пользователя будет выполнена с помощью логинов Facebook. Чтобы иметь подарки в магазине, мы создали приложения Phonegap для IOS и Android. Эти приложения в основном загружают наш веб-сайт (удаленный). Кроме того, мы пытаемся использовать некоторые плагины для улучшения пользовательского интерфейса (например, встроенный Facebook с одним знаком).
- > Центральная точка этого подхода: у нас есть только один общий сайт для всех платформ (веб, Android и IOS). Веб-сайт способен различать между клиентами и нагрузками все необходимое (например, Phonegap.js).
Проблема Facebook Login
Для входа в Facebook у нас есть разные сценарии для мобильных пользователей:
- Пользователь открывает веб-сайт с помощью обычного браузера и регистрируется в Facebook
- У пользователя установлено приложение App and Facebook (встроенный подписчик на Facebook)
- Пользователь имеет наше приложение, а приложение для Facebook не установлено (войдите в программу cordovaWebView).
Szenario 1 не проблема. Но мы боремся со сценариями 2 и 3.
Попробуйте использовать плагин Phonegap Facebook
Мы попытались использовать официальный плагин Phonegap (https://github.com/Phonegap/Phonegap-Facebook-plugin). Мы проводим дни, если не недели с этим плагином. Короче говоря, это беспорядок и нестабильный для Android и IOS. С некоторыми версиями и хаками мы можем запустить наше приложение Phonegap, получить доступ к популярному приложению Facebook и войти в систему очень легко.
Но если у кого-то не установлено приложение Facebook, установленный в Кордове WebView (плагин InAppBrowser) открывает всплывающее окно для обычного входа в браузер, и у нас заканчивается пустой/белый экран. Существует несколько обходных решений, описанных для этого в Stackoverflow - от собственных хаков в WebView до JavaScript-хаков:-).
Из-за нестабильного/беспорядочного плагина и неработающего веб-входа в WebView мы отказались от этого подхода.
Текущий подход
Простым обходным решением является подключаемый модуль PhoneGap Facebook InAppBrowser (вкратце FIAB, https://github.com/caiovaccaro/Phonegap.Facebook.inappbrowser). С помощью этого плагина FIAB сценарий 3 работает нормально. На данный момент мы не поддерживаем сценарий 2 с собственным подписчиком на Facebook.
Поиск советов, справок или других отзывов
Есть ли кто-то там с подобными проблемами или с другими подходами? Есть ли у кого-нибудь советы или решения? Есть ли что-то, что я не вижу? Не должно быть так сложно, правда?:-) Кто-то уже пытался использовать плагин Phonegap Facebook в сочетании с плагином FIAB?
Im действительно с нетерпением ждет обмена ноу-хау в этой теме.
Большое спасибо томас