2011-08-25 10 views
17

Esiste un URL speciale per la condivisione su Facebook e Twitter per cellulari? Oppure sono uguali a quelli dei siti Web?Condividi su Facebook e Twitter per il Web mobile

Utilizzando

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> 
<a href="javascript:return false;" rel="nofollow" onclick="window.open('https://twitter.com/share?text=sometext&url=someurl', 'Twitter', 'toolbar=0,status=0,width=626,height=436')">Twitter</a> 

per Twitter e

<script> 
    function fbs_click() 
    { 
     u='www.something'; 
     t='title'; 
     window.open('http://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436'); 
     return false; 
    } 
</script> 

<a rel="nofollow" href="http://www.facebook.com/sharer/sharer.php?u=someurl" onclick="return fbs_click()" target="_blank" class="">Facebook</a> 

per Facebook.

risposta

26

L'implementazione della condivisione deve essere la stessa e dovrebbe funzionare a condizione che gli utenti mobili dispongano di dispositivi in ​​grado o che visualizzino JavaScript. Altrimenti puoi usare l'url dell'API di ogni piattaforma per condividere all'interno di un link, l'unico problema è che la richiamata li reindirizza su Twitter o Facebook e dovranno tornare manualmente al tuo sito. I collegamenti sono le seguenti:

Condivisione su Facebook:

http://m.facebook.com/sharer.php?u=<urlencoded url>t=<urlencoded title> 

Ad esempio:

http://m.facebook.com/sharer.php?u=http://www.google.com 

stato Aggiornamento su Twitter:

http://mobile.twitter.com/home?status=<urlencoded status> 
+0

questo è raffreddare. non ho nemmeno bisogno dei javascript per farlo funzionare? – resting

+0

No. In questo modo è migliore in quanto consente anche l'accesso a tutti i non-smartphone. – Simpleton

+0

Quali parametri sono necessari per "immagine" e "riassunto"? – Mateng

11

Un paio di note per quanto riguarda la risposta di Simpleton .

  1. L'URL http://m.facebook.com/sharer.php potrebbe non essere quello che desideri. Il sito che fornisci nel parametro di ricerca u deve avere alcuni tag nella pagina affinché la pagina di condivisione sia interessante. Prova a mettere un altro URL lì dentro oltre a Google per vedere cosa intendo. Non sono mai stato in grado di capire cosa stia cercando nella pagina del sito per mostrare qualcosa di utile nella tua pagina di condivisione. Non ho visto alcun modo per fornire informazioni aggiuntive sul sito che stai condividendo.

  2. Il parametro di query t non viene letto da Facebook per quanto ho potuto dire

  3. ho scoperto che la finestra di dialogo di avanzamento di Facebook è stata una migliore condivisione alternativa (https://developers.facebook.com/docs/riferimento/finestre/alimentazione /). Vedere l'esempio in fondo a quella pagina per le informazioni che è possibile condividere. Incolla l'URL di esempio nel tuo browser per vedere come appare. Puoi giocare con i parametri per vedere cosa controlla ciascun parametro nel post. Ad esempio, se non si fornisce il parametro caption, sembra che l'URL di base del parametro di collegamento sia utilizzato nella sua posizione. Per utilizzare l'approccio della finestra di dialogo del feed, è necessario registrare l'app in Facebook per ottenere un'id_app che sarà necessario includere nell'URL della finestra di dialogo del feed. Inoltre, associ la tua app a un URL del sito web, che puoi utilizzare anche nell'URL della finestra di dialogo del feed. Se vuoi che Facebook ti serva una pagina ottimizzata per i dispositivi mobili, aggiungi & display = tocca fino alla fine dell'URL della finestra di dialogo del feed. Infine, devi fornire il parametro redirect_uri dove l'utente verrà reindirizzato (con l'ID post incluso come parametro di query), quindi devi avere qualcosa a quell'URL per gestire la risposta.

  4. Per quanto riguarda l'URL http://mobile.twitter.com/home?status, ho appreso un paio di cose: in primo luogo, qualsiasi URL incluso nello stato non verrà abbreviato (bummer); in secondo luogo, se il tuo stato include delle virgolette singole, saranno codificate come & # 39 (codice HTML dell'entità) ma non verranno decodificate quando pubblichi il tweet. Tuttavia, ciò non si verifica se stai pubblicando tramite desktop, utilizzando lo stesso URL.Si può vedere che cosa intendo per cercare il seguente URL sia dal vostro iPhone (stavo usando Safari su iPhone) e poi dal desktop (ero con Safari):

http://mobile.twitter.com/home?status=Wayne's%20World

nota, ho fare un encodeURI javascript sullo stato, ma le virgolette singole non sono generalmente caratteri codificabili dalla maggior parte degli encoder URL/I. Ce ne sono alcuni che sostituiranno la citazione singola con un% 27, ma ho provato a inserirla manualmente e ancora non sono stata decodificata nel testo di stato.

Spero che questa informazione aiuti qualcuno a venire qui in cerca di semplici opzioni di condivisione di Facebook e Twitter.

+0

Seguendo il link http://m.facebook.com/sharer.php dall'interno del browser di Facebook si aprirà la finestra di dialogo di condivisione delle app invece della versione html. Questo non sembra essere il caso con l'SDK. –

3

L'url è ok, ma è necessario fare un po 'di lavoro sul proprio server per far sì che Facebook lo renda davvero decente. Facebook ora usa "Open Graph", che ti consente di aggiungere tag speciali alla tua pagina web che Facebook comprende. Puoi definire quali tipi di media sono presenti sulla pagina, anche aggiungere i tuoi oggetti con le definizioni che crei all'interno della tua app di Facebook. Il collegamento alla pagina degli oggetti Open Graph dello sviluppatore è .

Un campione di Open Graph su una pagina di dettaglio potrebbe assomigliare a questo:

<meta property="fb:app_id"   content="YOUR FACEBOOK_APP_ID }}" /> 
<meta property="og:url"    content="The URL that this page is on" /> 
<meta property="og:site_name"   content="Your domain" /> 
<meta property="og:title"    content="Title of your page" /> 
<meta property="og:type"    content="This is very important - it is how 
    Facebook refers to your post. Image, video, text, etc. Even custom stuff is 
    possible" /> 
<meta property="og:image"    content="image url for facebook to display on 
the user's wall" /> 
<meta property="og:determiner"  content="auto" /> 
<meta property="og:description"  content="A description you want with this 
content" /> 

E così via. Tutto questo va a <head> della pagina dell'URL reale che stai fornendo a Facebook. Allora Facebook tradurrà questo nel post appropriato. Inoltre, devi impostare l'Open Graph sulla tua pagina degli sviluppatori di app, in modo che Facebook sappia cercare i tag og:. È complicato, ma funziona.

Buona fortuna!

5

Twitter - Ecco come ho risolto il tweet di URL per tutti i dispositivi/browsers problema:

http://twitter.com/intent/tweet?text= + encodeURIComponent(tweet); 

encodeURIComponent - è una costruito nel funzione javascript, ha spiegato here.

"http://mobile.twitter.com/home?status=" non è supportato e si verificheranno problemi di codifica quando twitter richiede un accesso.

Facebook - Per la condivisione facebook ho usato Facebook API example

+0

nice, questo formato è ciò che twitter reindirizza dall'altra (sto indovinando le chiamate API deprecate) – Larry

+0

Grazie. per me funziona. – Kabkee