Archivo

Entradas Etiquetadas ‘facebook’

Crea tu avatar en 3D

Viernes, 29 de Enero de 2010 admin 2 comentarios

Nacen cientos de servicios web al mes, pero hoy, vía rm -rf /, he descubierto uno que me ha sorprendido!

En principio, parece la típica página para crear avatares, pero con un detalle añadido, son en 3D, queda bien, queda gracioso, pero es que además están animados (son animaciones de unos 5 segundos, no es mucho, y a lo mejor cuando las veas 5 veces ya cansan, pero mira)…

Pero al entrar en la página, hay una opción que me agrada: Your own photo; y sí, te permite subir tu foto y crearte un carácter en 3D, como tú, no es instantáneo, pero en unos 10 minutos (siguiendo unas instrucciones) tienes un muñecajo en 3D personalizado… y todo gratis (no sé qué tratamiento harán con la imagen, pero para poner una foto en Facebook está muy bien).

La web es: www.avatara.com

Yo tuve que subir la foto 3 veces porque me falló, supongo que será un poco la saturación del servidor, ya que crear los avatares 3D no tiene que ser una tarea muy ligera, y si además hay muchas peticiones de lo mismo, llegará un momento que no se pueden atender todas.

Os dejo aquí el mío:

yo_wink

Obtener el sexo en Facebook

Sábado, 5 de Diciembre de 2009 admin Sin comentarios

Probablemente cuando hacemos nuestra aplicación para Facebook queremos personalizar el mensaje hacia el usuario; es decir, escribir estimado o estimada, ya sea hombre o mujer nuestro usuario; en lugar de estimad@ (que quedaba muy bien hace una década, pero ahora deja que desear).

Facebook, desde su plataforma nos da opciones para conseguir esa información, pero hay un problema: están localizadas (es decir, que para español devolverá masculino o femenino; en inglés, male o female y en otros idiomas ya ni os cuento. Pero hay una forma para obtener siempre la información en el mismo idioma (ejemplo en PHP):

1
2
$camposfql = "uid, name, first_name, last_name, pic, sex";
      $userinfo = $facebook->api_client->call_method('facebook.users.getInfo', array('uids' =>$user_id, 'fields' => $camposfql, 'locale' => "en_US"));

Con esto en $userinfo tendremos la información de uid, nombre, avatar y sexo del usuario con id $user_id y si un campo permite localización (como sex), lo dará en inglés de EEUU. Podemos estar seguros de que sex tendrá como valor male o female (o ninguno, si el usuario ha puesto como privado ese dato).
Podemos ver el resultado en esta aplicación: Qué Malo es Pensar:

http://apps.facebook.com/quemaloespensar

http://apps.facebook.com/quemaloespensar

Categories: Interneteando, PHP, facebook Tags: , , ,

Andanzas en Facebook: Publicar en el muro personal fácilmente

Martes, 11 de Agosto de 2009 admin 25 comentarios

Desde el 20/12/2009 este método de publicación no está permitido por Facebook, para ver el nuevo método, ver este artículo.

Una de las cosas más comunes cuando se hace una aplicación para Facebook es la publicación de contenidos en el muro de la persona que ha ejecutado la aplicación. Esto al final es como un resultado de la ejecución de dicha aplicación (de hecho el objetivo de muchas de ellas es la publicación de un mensaje en el perfil), y de paso nos sirve como promoción para que más gente nos conozca.

La API de Facebook nos proporciona las herramientas para poder utilizar esta característica, que por ejemplo podemos llamar desde FBJS de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
var template_id = xxxxxxxxx; // Es el identificador de nuestra plantilla de publicación, más adelante se explica cómo se obtiene este ID. (Sustituir las xxxxxxxxx con ese número).
// En la ventana de publicación, el texto que saldrá para pedirle a los usuarios que publiquen el resultado.
var user_message_prompt = "Comenta algo... si quieres";
// El texto de muestra que saldrá a la hora de publicar.
var user_message = {value: ""};

// La información que introducimos en la plantilla, por ejemplo imágenes y textos fijos que acompañarán nuestro mensaje
var template_data={"cuantagente":"0.04", "images":[{"src":"archivo.jpg", "href":"enlace"}]}
var body_general="Mensaje que aparecerá en el perfil junto a las fotos";

var continuation = function() {
// Podemos dejarlo en blanco si lo deseamos
};

Facebook.showFeedDialog( template_id, template_data, body_general, '', continuation, user_message_prompt, user_message );
</script>

Con este código, ya se mostraría la pantalla de publicación, podemos introducirlo dentro de otros scripts para que se dispare en el momento que nosotros queramos.

En la imagen vienen explicados algunos elementos:
Elementos en la publicación

El elemento template_data, incluirá la información de las palabras clave que hemos incluído en nuestra plantilla, como por ejemplo cuantagente, más adelante se hablará de ello; y además, las imágenes que se incluyen así como un enlace en cada una, todo esto en notación JSON. Básicamente, para no leer mucho, es un formato para intercambio de datos, pero usado también para declarar objetos en Javascript y se utiliza de la siguiente manera:

1
var objeto={"clave1":"valor1", [{"clave2-1":"valor2-1"},{"clave2-2":"valor2-2"}], "clave3":"valor3"};

La función continuation, se llamará una vez se cierre el diálogo de publicación, ya sea tras publicar el contenido como al cerrar la ventana sin publicar. No es posible determinar si se ha publicado o no, al menos Facebook no nos va a dar esa información.

Como hemos visto, es necesaria una plantilla de publicación (feed template), y ésta tendrá un código identificador (template bundle id), para conseguirlo, tenemos que entrar en la zona de administración de nuestras aplicaciones de Facebook (www.facebook.com/developers/apps.php).
Crear plantilla de publicación
A continuación, seleccionamos la aplicación.
Antes de continuar, tenemos que tener en cuenta que, dado que son plantillas, se establecerán palabras clave, que a la hora de la publicación serán sustituidas por lo que realmente significan, y en Facebook estas palabras claves tienen la siguiente forma: {*palabraclave*}. Por ejemplo, la palabra clave {*actor*}, a la hora de publicar un mensaje en el muro, se traducirá por el nombre del usuario que ha realizado la acción, en este caso, el nombre del usuario que acaba de ejecutar nuestra aplicación.

Dicho esto, primero tenemos que crear plantillas de una línea (one line templates), éstas se utilizarán en los resúmenes de los perfiles y, como nos indican en la ayuda del sistema suelen empezar por la palabra {*actor*}, serán las pequeñas historias que se publican en una línea, podemos poner enlaces (a la aplicación por ejemplo), en incluso más palabras clave.

En la siguiente pantalla, configuraremos el mensaje que aparecerá en los muros (el grande, con fotos y todo; aunque por ahora no nos preocupemos de la foto):
Configurando la plantilla
En esta plantilla hemos creado la palabra clave {*cuantagente*}, y más abajo, donde pone plantilla de datos simple, tenemos que escribir la correspondencia en notación JSON.

Tras ello, podemos incluir un enlace de acción o action link, lo más común es utilizarlo como un enlace a nuestra aplicación, será el que aparezca aquí:
Action Link
Debemos configurar el texto del enlace (podemos utilizar también palabras clave) y el enlace en cuestión, y ya sólo publicarlo. Tras ello, aparecerá en el centro de la pantalla una ventana de diálogo con el ID de la plantilla, y ese dato es el que debemos copiar en el código de arriba.
También podemos acceder más adelante a ese número y ver las plantillas que tenemos registradas, si accedemos a Registered Templates Console.

Podemos ver cómo algunas aplicaciones tienen más de un Action Link, para poder hacerlo nosotros, tenemos que hacerlo por código, registrando la plantilla desde la API, para más información, podéis visitar la wiki de desarrolladores de Facebook.

Para la inclusión de imágenes en la publicación, siguiente el ejemplo, tenemos que manipular template_data, añadiendo el elemento “images”, con el siguiente valor:

1
2
3
4
5
6
7
var template_data={"dato1":"valor1", "<strong>images</strong>":[
{"src":"archivo.jpg", "href":"http://www.miweb.com"},   // Imagen 1
{"src":"archivo2.jpg", "href":"http://apps.facebook.com/mi_aplicacion/"},   // Imagen 2
{"src":"archivo3.jpg", "href":"http://www.totaki.com/poesiabinaria"},   // Imagen 3
......
]
}

Google Adsense en Facebook

Viernes, 17 de Julio de 2009 blakeyed 9 comentarios

Debido a la conversión de Javascript a FBJS y algún que otro filtro que supongo que ponen los de Facebook, porque creo que no les hace mucha gracia que los desarrolladores publiquen publicidad y ésta les quite público a la publicidad propia; los banners de Google Adsense no se verán (es más, además de que el propio código Javascript no creo que se ejecute bien, al mirar la página por dentro no hay rastro de los banners.

Pero es cierto que Adsense es una de las mejores formas para rentabilizar un sitio web, y son pagadores serios, por tanto, nosotros como desarrolladores de Facebook queremos ganar algo de dinero con las aplicaciones aunque sólo sea para rentabilizar un poco el hosting.

Es cierto que los motores de Google no pueden entrar en las aplicaciones ya que requieren login dentro de Facebook, lo que sí podemos hacer es incluirlo en iframes; es un tema algo delicado ya que los términos y condiciones de Google Adsense no son muy claros con el tema de los frames, por lo que depende de las interpretaciones, pero por ahora es la única forma que conozco para introducir la publicidad. Aunque también es cierto que hay vida más allá de Adsense.

Para incluir el iframe desde FBML debemos hacer lo siguiente:

1
<fb:iframe src="http://dominio/directorio/adsense.php" width="728" height="90" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"></fb:iframe>

Y es muy recomendable incluir dentro de adsense.php (que puede ser (x)html plano) un título, keywords, y algún que otro metadato para que la publicidad que salga sea más adecuada con nuestra aplicación.

Desarrollando aplicaciones para Facebook

Jueves, 16 de Julio de 2009 blakeyed 1 comentario

Hace un tiempo me animé a crear mi primera facebook app, la llamé Campo de Minas, porque pretendía utilizar esa app para hacer pruebas.

Para empezar el desarrollo, lo primero que hay que hacer es entrar en la aplicación para desarrolladores. Por una parte me gusta lo bien montado que está todo, la forma de introducir la información; aunque por otra parte es un sistema lento. Se tarda mucho tiempo en introducir la información navegando por todas la páginas.

Una vez dentro, dispuesto a ponerme a programar, y tras leerme un poco de la documentación, podemos observar la gran API que existe, y las posibilidades para embeber aplicaciones dentro de Facebook. Tenemos lenguajes como FBML, FBJS, FQL, que intentan reemplazar a HTML, Javascript y SQL, para utilizar la API de Facebook. Como punto positivo podemos destacar la seguridad con respecto a Facebook, se han cubierto bien las espaldas, ya que las consultas a las bases de datos de Facebook están filtradas (no estoy diciendo que sea un sistema invulnerable); por otra parte el Javascript está filtrado, los nombres de nuestras funciones, estilos, etc, son filtrados, por lo que evitan errores en el caso de que hagamos algo con un nombre repetido. Por otra parte, tendremos un acceso fácil a las ventanas que Facebook nos aporta como son la de invitar gente, publicar en el perfil, etc.

El hecho de tener tantas posibilidades, y de la sustitución de los lenguajes, nos impide algo importante: la posibilidad de probar nuestra aplicación offline, lo que es muy útil cuando estamos en el proceso de desarrollo, al menos para ejecutar la aplicación desde nuestro servidor local; es normal, si utilizamos recursos que no están en nuestro ordenador. De todas formas, siempre podremos dividir la aplicación en dos: el conector con Facebook, y nuestra propia aplicación; poco a poco quiero desarrollar algunas cosas más y con esto, incluiré algunos ejemplos en el blog.

El alojamiento de la aplicación corre de nuestra cuenta, por lo que Facebook sólo almacena los logotipos de nuestra aplicación y los enlaces.

Easy AdSense by Unreal