2011-08-25 6 views
17

Existe-t-il une URL spéciale pour le partage sur Facebook et Twitter pour mobile? Ou sont-ils les mêmes que ceux des sites Web?Facebook et twitter partager pour mobile web

En utilisant

<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> 

pour Twitter et

<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> 

pour Facebook.

Répondre

26

Votre implémentation de partage doit être la même et doit fonctionner tant que vos utilisateurs mobiles disposent de périphériques capables de rendre JavaScript. Sinon, vous pouvez utiliser l'URL de l'API de chaque plateforme pour partager à l'intérieur d'un lien, le seul problème est que le rappel les redirige vers Twitter ou Facebook et qu'ils devront retourner manuellement sur votre site. Les liens sont comme ci-dessous:

partage sur Facebook:

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

Par exemple:

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

état de mise à jour sur Twitter:

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

des thats refroidissent. Je n'ai même pas besoin des javascripts pour que ça marche? – resting

+0

Non. De cette façon, c'est mieux car il vous donne également accès à tous les non-smartphones. – Simpleton

+0

Quels sont les paramètres nécessaires pour "image" et "résumé"? – Mateng

11

Quelques notes sur la réponse de Simplet .

  1. L'URL http://m.facebook.com/sharer.php peut ne pas correspondre à vos besoins. Le site que vous fournissez dans le paramètre de requête doit avoir des balises dans la page pour que la page de partage soit intéressante. Essayez simplement d'ajouter une URL autre que Google pour voir ce que je veux dire. Je n'ai jamais vraiment été capable de comprendre ce qu'il recherche dans la page du site afin de montrer quelque chose d'utile dans votre page de partage. Je n'ai trouvé aucun moyen de fournir des informations supplémentaires sur le site que vous partagez.

  2. Le paramètre de requête t n'est plus lu par facebook pour autant que je pouvais dire

  3. Je trouve que la boîte de dialogue d'alimentation Facebook était un meilleur partage de remplacement (https://developers.facebook.com/docs/reference/dialogs/feed /). Voir l'exemple au bas de cette page pour les informations que vous pouvez partager. Collez cet exemple d'URL dans votre navigateur pour voir à quoi il ressemble. Vous pouvez jouer avec les paramètres pour voir ce que chaque paramètre contrôle dans la publication. Par exemple, si vous ne fournissez pas le paramètre de légende, il semble que l'URL de base du paramètre de lien soit utilisée à sa place. Pour utiliser l'approche du dialogue de flux, vous devez enregistrer votre application sur Facebook pour obtenir un ID d'application que vous devrez inclure dans l'URL de la boîte de dialogue de flux. Vous associez également votre application à une URL de site Web, que vous utilisez également dans l'URL de la boîte de dialogue de flux. Si vous souhaitez que Facebook vous serve une page adaptée aux mobiles, ajoutez & display = touchez à la fin de l'URL de la boîte de dialogue. Enfin, vous devez fournir le paramètre redirect_uri où l'utilisateur sera redirigé (avec l'ID de poste inclus en tant que paramètre de requête), vous devez donc avoir quelque chose à cette URL pour gérer la réponse.

  4. En ce qui concerne l'URL http://mobile.twitter.com/home?status, j'ai appris quelques choses: d'abord, toutes les URL incluses dans le statut ne seront pas raccourcies (bummer); Deuxièmement, si votre statut inclut des guillemets simples, ils seront encodés en & # 39 (code d'entité HTML) mais ne seront pas décodés lorsque vous posterez le tweet. Cependant, cela ne se produit pas si vous publiez via le bureau, en utilisant la même URL.Vous pouvez voir ce que je veux dire en essayant l'URL suivante à la fois votre iPhone (j'utilisais Safari sur iPhone), puis à partir de votre bureau (j'utilisais Safari):

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

Remarque, je faire un javascript encodeURI sur le statut, mais les guillemets simples ne sont généralement pas des caractères encodables par la plupart des encodeurs URL/I. Il y en a qui remplaceront le guillemet simple par un% 27, mais j'ai essayé de l'insérer manuellement et il n'a toujours pas été décodé dans le texte d'état.

J'espère que cette information aidera quelqu'un à venir ici à la recherche d'options de partage simples sur Facebook et Twitter.

+0

Suite à un lien http://m.facebook.com/sharer.php depuis l'intérieur du navigateur de Facebook, la boîte de dialogue de partage d'applications s'ouvre à la place de la version html. Cela ne semble pas être le cas avec le SDK. –

3

L'URL est correcte, mais vous devez travailler sur votre serveur pour que Facebook soit vraiment décent. Facebook utilise maintenant "Open Graph", ce qui vous permet d'ajouter des balises spéciales à votre page Web que Facebook comprend. Vous pouvez définir quels types de médias sont sur la page, et même ajouter vos propres objets avec les définitions que vous créez dans votre application Facebook. Le lien vers la page des objets Open Graph du développeur est .

Un échantillon de Open Graph sur une page de détail pourrait ressembler à ceci:

<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" /> 

Et ainsi de suite. Tout cela va dans le <head> de la page de l'URL que vous fournissez à Facebook. Ensuite, Facebook traduira cela dans le message approprié. En outre, vous devez configurer le graphique ouvert sur la page de développement de votre application, afin que Facebook sache chercher les tags og:. C'est compliqué, mais ça marche.

Bonne chance!

5

Twitter - Voilà comment je résolu le tweet par url pour tous les périphériques/fureteurs numéro:

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

encodeURIComponent - est construit en fonction javascript, a expliqué here.

Le 'http://mobile.twitter.com/home?status=' n'est pas supporté, et vous obtiendrez des problèmes d'encodage lorsque twitter demande un login.

Facebook - Pour le partage facebook I utilisé Facebook API example

+0

bien, ce format est ce que Twitter redirige vers l'autre (je suppose devins obsolète) appels API – Larry

+0

Merci. ça marche pour moi. – Kabkee

Questions connexes