En este ejemplo vamos a explicar como instalar y configurar el plugin de Facebook en nuestra aplicación para dispositivos móviles creada con PhoneGap y para iOS, la configuración para los otros dispositivos es muy similar y más adelante indicamos donde hacerlo.
Primero debemos instalar PhoneGap en nuestra computadora, aquí están los pasos a seguir, donde se encuentran los pasos para instalarlo en OS X o Windows.
Antes de integrar el plugin en nuestra aplicación móvil debemos tener una aplicación creada en Facebook, debes entrar al area de desarrollo https://developers.facebook.com/ y crear la aplicación correspondiente https://developers.facebook.com/apps/ después de estos pasos necesitas apuntar el APP ID, que lo vas a necesitar en los pasos siguientes.
Después de tener instalado PhoneGap en la terminaly la aplicación en Facebook ejecutamos los siguientes comandos:
# Creamos la aplicación $ cordova create PruebaFacebook com.dotnetcr.pruebaFacebook "PruebaFacebook" # Ingresamos al folder creado $ cd pruebafacebook # Agregamos la plataforma deseada # Pueden ser ios, amazon-fireos, android, blackberry10, browser, firefoxos $ cordova platform add ios $ cordova build # Clonamos el plugin en la computadora $ git clone https://github.com/Wizcorp/phonegap-facebook-plugin.git # Instalamos el plugin en la aplicación, # APP_ID es el número de aplicación de Facebook # APP_NAME es el nombre de la aplicación $ cordova -d plugin add phonegap-facebook-plugin --variable APP_ID="12345678912345" --variable APP_NAME="NombreAppEnFacebook"
En este punto la aplicación está lista para funcionar, todos los parámetros quedaron configurados en el archivo config.xml y en Info de la aplicación.
Aquí puede consultar los manuales de instalación para los distintos dispositivos: Android, iOS, otros.
Una vez que hemos seguidos los pasos de instalación y configuración modificamos index.html para hacer las pruebas e interactuar con Facebook. Entre las etiquetas de <body> agregamos el siguiente código:
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready 2</p>
</div>
<div class="event listening button" onclick="login();">Login with Facebook</div>
<div class="event listening button" onclick="showDialog();">Show Dialog with Facebook</div>
<div class="event listening button" onclick="apiTest();">Test API with Facebook</div>
<div class="event listening button" onclick="getAccessToken();">Get access token with Facebook</div>
<div class="event listening button" onclick="getStatus();">Get login status with Facebook</div>
<div class="event listening button" onclick="logout();">Logout with Facebook</div>
</div>
<div id="fb-root"></div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/facebookConnectPlugin.js"></script>
<script type="text/javascript">
var fbLoginSuccess = function (userData) {
alert("UserInfo 2: " + JSON.stringify(userData));
}
var login = function () {
if (!window.cordova) {
var appId = prompt("Enter FB Application ID", "12345678912345");
facebookConnectPlugin.browserInit(appId);
}
facebookConnectPlugin.login(["email"],
fbLoginSuccess,
function (error) { alert("" + error) }
);
//facebookConnectPlugin.login( ["email"],
// function (response) { alert(JSON.stringify(response)) },
// function (response) { alert(JSON.stringify(response)) });
}
var showDialog = function () {
facebookConnectPlugin.showDialog( { method: "feed", link: 'http://www.dotnetcr.com',
caption: 'DotNetcr.com - Programación en español'},
function (response) { alert(JSON.stringify(response)) },
function (response) { alert(JSON.stringify(response)) });
}
var apiTest = function () {
facebookConnectPlugin.api( "me/?fields=id,email,last_name",
function (response) { alert(JSON.stringify(response)) },
function (response) { alert(JSON.stringify(response)) });
}
var getAccessToken = function () {
facebookConnectPlugin.getAccessToken(
function (response) { alert(JSON.stringify(response)) },
function (response) { alert(JSON.stringify(response)) });
}
var getStatus = function () {
facebookConnectPlugin.getLoginStatus(
function (response) { alert(JSON.stringify(response)) },
function (response) { alert(JSON.stringify(response)) });
}
var logout = function () {
facebookConnectPlugin.logout(
function (response) { alert(JSON.stringify(response)) },
function (response) { alert(JSON.stringify(response)) });
}
function correcta(){
alert("conectado");
}
</script>
En este momento ya podemos compilar la aplicación y debe de estar funcional e integrada con nuestra aplicación de Facebook.
No funciona :/
Hola Hector, este artículo se escribió hace dos años por lo que es probable que se tengan que actualizar algunos parámetros, incluso que todo el post sea totalmente distinto.