Práctica recomendada para la autorización / acción de Facebook en dispositivos móviles sin complementos

Estoy escribiendo una aplicación con Phonegap.

Me gustaría dar algunas ventajas al usuario para publicar acerca de la aplicación en su pared (o algo así) si lo desean.

Hay un bonito plugin de Cordova que cubre la funcionalidad de Facebook bastante a fondo y lo más importante es que lo hace tan nativamente como se puede manejar.

Sin embargo, si un complemento como este no está disponible, ¿qué es una vista general de alto nivel para tener un usuario:

  1. Autorizar con FB
  2. Publicar algo enlatado en FB
  3. Comprobar que de hecho han publicado lo que les fue dado

Creo que hay una manera de hacer estas cosas usando el SDK de JavaScript de Facebook, pero nunca he visto una aplicación que me pregunte mi nombre de usuario y contraseña (que no era la aplicación de Facebook real) y no imagino que Facebook estaría feliz con Que, así que cuál es la mejor manera de ir sobre eso?

Además, si quiero que un usuario ingrese usando Facebook en mi aplicación, (piensa Tinder) ¿cuáles son los datos que debería guardar? Token de inicio de sesión de Facebook y ID de dispositivo? ¿Cuáles son las mejores prácticas a la hora de usar los datos de facebook y teléfono para identificar y almacenar la información de la cuenta de usuario del lado del servidor?

Facebook Login for Android –

El SDK de Facebook para Android proporciona métodos para implementar el inicio de sesión de Facebook para tu aplicación. El SDK proporciona soporte de inicio de sesión de Facebook para estos escenarios comunes:

  • Tu aplicación utiliza sólo Facebook Login para autorizar a las personas que usan tu aplicación.
  • Su aplicación ofrece dos opciones de inicio de sesión: Inicio de sesión en Facebook y su propio mecanismo de inicio de sesión.
  • Su aplicación utiliza su propio inicio de sesión inicialmente y Facebook Login es una opción para activar determinadas funciones sociales.

Para más – login-with-facebook .

Crear manualmente un flujo de inicio de sesión –

La forma más fácil y rápida de implementar Facebook Login es con nuestros SDK oficiales para JavaScript , iOS y Android y le recomendamos que siga nuestras guías separadas para estas plataformas.

Sin embargo, si necesita implementar un inicio de sesión basado en navegador para una aplicación sin utilizar nuestros SDK, como en una vista web para una aplicación de escritorio nativa (por ejemplo, Windows 8) o un flujo de inicio de sesión utilizando código totalmente del servidor, Un flujo de inicio de sesión para usted mismo mediante el uso de redireccionamientos de navegador.

Esta guía le llevará a través de cada paso del flujo de inicio de sesión y le mostrará cómo implementar cada uno sin usar nuestros SDK:

  • Comprobación del estado de inicio de sesión
  • Registrar personas en
  • Confirmación de identidad
  • Almacenamiento de tokens de acceso y estado de inicio de sesión
  • Desconectando a la gente
  • Realice peticiones HTTP directas a los extremos API de gráficos para recuperar y contabilizar datos.

Para más verificación: manual-build-a-login-flow .

Pros:

  • No hay dependencia de plugins y no hay incertidumbre cuando se lanzan nuevas versiones de Cordova o el SDK de Facebook.
  • Funciona para todas las plataformas, incluidas las plataformas para las que no existe una versión del complemento.
  • Funciona tanto para aplicaciones basadas en navegador como para aplicaciones de Cordova.

Contras:

  • No es un producto completo, menos características de la caja.
  • La integración no es tan estrecha. Por ejemplo, no hay diálogos nativos, etc.

La lógica está integrada en conjunto y está disponible en github como OpenFB .

Ejemplo Ejemplo –

Ingresar usando Facebook:

openFB.login(scope, successHandler, errorHandler); 

Obtener la lista de amigos del usuario:

 openFB.api({path: '/me/friends', success: successHandler, error: errorHandler}); 

Publicar en el feed del usuario:

 openFB.api( { method: 'POST', path: '/me/feed', params: { message: 'Testing the Facebook Graph API' }, success: successHandler, error: errorHandler }); 

O tienes que usar Facebook conectar plugin para publicar algo de cordova aplicación, o la otra manera que utilizo para publicar algo sobre la revisión de mi aplicación está utilizando la forma de URL. Facebook tiene feed dialog / share url system para publicar en facebook. Basta con llamar con el navegador nativo y los parámetros correctos hace el trabajo, facebook se encarga de la autorización y la publicación, no es necesario para manejar eso.

 https://www.facebook.com/dialog/share? app_id=145634995501895 &display=popup &href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F &redirect_uri=https://developers.facebook.com/tools/explorer 

Encontrado aquí No sé si funcionará en inAppBrowser o no, simplemente llamo al navegador nativo.

Y AFAIK para publicar desde dentro de la aplicación, tiene que ser el complemento.

OpenFB es incluso mejor que el Apache Cordova Plugin. El complemento no está bien mantenido. A veces se tarda meses en actualizarse a la última versión de Facebook OpenGraph. OpenFB se actualiza constantemente.

Simplemente utilice el SDK de JavaScript para hacer esto. Consulte https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.0

Usted tiene la opción de usar componentes estándar o hacer sus propios botones. También puede permitir que los usuarios autenticen automáticamente después de conceder permisos inicialmente o siempre presionen el botón, etc. Los documentos FB son fáciles de seguir.

  • Superposición azul de OnClick
  • PhoneGap + API de Google Maps v3: no se muestra (en absoluto) en Android
  • -webkit-tap-highlight-color no se aplica a la etiqueta de área
  • Detectar si el navegador tiene teclado / teclas de flecha en la página web
  • Problema de rotación de imagen de PhoneGap después de la transformación
  • Descifrado Java y encriptación compatible con SJCL?
  • Cómo cargar JS y CSS desde SDCARD con el método loadDataWithBaseURL ()
  • API de Google Map para aplicaciones Ionic
  • Phonegap plugin androide nativo
  • Renderizar imagen como flujo de datos en el navegador de Android
  • Uso de LogCat para la depuración USB android del navegador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.