2010-12-15 3 views
7

En mi aplicación de Android, quiero que los usuarios "compartan" mi aplicación en su muro, por lo que quiero que publiquen un estado de contenido predefinido en su muro.Agregar contenido al diálogo de feed de Facebook desde Facebook SDK para Android

¿Cómo puedo personalizar el estado de la pared? (Quiero agregar el ícono de mi aplicación y algunos textos encendidos).

+0

Eso también se puede hacer sin el SDK de Facebook, a través de la URL Share. ¿Definitivamente quieres el SDK? –

+0

Quiero la manera más fácil posible. :) – oriharel

+0

Ok, con la URL del compartidor es la forma más fácil, vea la muestra a continuación. –

Respuesta

2

También puede hacerlo sin el SDK, solo a través de Compartir URL:

public void shareOnFacebook(View v) { 

    Uri uri = Uri.parse("http://m.facebook.com/sharer.php?u=http://yourdomain/page.html&t=YourMessage"); 
    Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
    startActivity(intent); 
} 

Usted sólo tiene que poner una página de contenido/html en algún lugar de su servidor, bajo la url de su proporcionada al partícipe.

Si desea que una determinada imagen aparece en el mensaje común, poner esto en la etiqueta meta de la página html en el servidor que va a compartir:

<link rel="image_src" type="image/jpeg" href="http://yourdomain.com/promo/image.png" /> 

ver una muestra de dicha página de promoción con imagen vinculada: http://www.modelme.co.uk/promo/amandaharrington

+0

¿Qué sucede si no tengo un servidor? solo una simple aplicación nativa? – oriharel

+2

Entonces este enfoque no funciona. Pero puede colocar esto en cualquier lugar, en cualquier espacio de alojamiento libre (es decir, http://sites.google.com/), siempre que esté disponible públicamente a través del navegador. –

5

Descargue el SDK de Facebook e impórtelo en su proyecto. A continuación, utilice el código siguiente para autorizar:

public void sendtoFacebook(){ 
     facebookClient = new Facebook("<Your_APP_ID"); 
     facebookClient.authorize(<Current_class>.this, new AuthorizeListener()); 
    } 

Ahora hay que añadir los siguientes metodos:

class AuthorizeListener implements DialogListener { 
    public void onComplete(Bundle values) { 
     Bundle parameters = new Bundle(); 
      parameters.putString("message", "<Message_you_want_to_send>");// the message to post to the wall 
      facebookClient.dialog(<Current_class>.this, "stream.publish", parameters, this);// "stream.publish" is an API call 
    } 
    @Override 
    public void onFacebookError(FacebookError e) { 
    } 
    @Override 
    public void onError(DialogError e) { 
    } 
    @Override 
    public void onCancel() { 
    } 
} 

Su Nombre de la aplicación y se añadirá automáticamente Icono :)

+0

Gracias, pero esto no es exactamente lo que quiero. este pone texto en el cuadro de texto. Quiero darle al usuario la oportunidad de agregar texto sobre el contenido predefinido. Cuando comparte un video de YouTube, aparece un cuadro de diálogo emergente, un cuadro de texto vacío para agregar el estado y debajo de un contenido de YouTube (en este ejemplo, un video y un texto incrustados). esta es la experiencia que quiero que tengan mis usuarios. – oriharel

+0

El código que publiqué es solo una simple publicación en un muro. Si consulta el SDK en https://github.com/facebook/facebook-android-sdk, verá que hay muchas más opciones, incluidas las que desea. – Galip

+0

En realidad, la documentación en esta página es bastante mínima (es decir, no hay una lista de parámetros opcionales para agregar al paquete). Supongo que se asume Facebook API (el estándar, no Android). – oriharel

3

Después de aprender el Facebook API, me encontré con este page

así que ahora sé todas las opciones para los parámetros del paquete. ¡Gracias a todos por su ayuda!

2

Así es como yo estoy haciendo un paquete para establecer el contenido a través de un diálogo de facebook mediante el Facebook SDK

Bundle parameters = new Bundle(); 
     parameters.putString("app_id", "xxxxxxx"); 
     parameters.putString("link", "https://play.google.com/store/apps/details?id=myappistasty"); 
     parameters.putString("name", "This is the name of the link set in app."); 
     parameters.putString("caption", "This is Text that is specified in bt the aoo"); 
     parameters.putString("picture", "www.urltoimage.com); 
facebook.dialog(MainActivity.this, "feed", parameters, new DialogListener() { 
etc... 

http://developers.facebook.com/docs/reference/dialogs/feed/ este es el enlace que explica todo para mí, aunque ninguno de ellos está en java el mesa te da una buena idea.

Cuestiones relacionadas