share on twitter

nach meinem share on facebook beitrag erweitere ich die social network sharer liste um eins: ‘Twitter’.

ein share-auf-twitter-knopf generiert einen eintrag auf der twitter timeline, ein sogenannter tweet (aehnlich wie eintraege auf die eigene wall bei facebook) des aktuellen website betrachters; bzw. die person welche den knopf drueckt muss einen twitter account haben, ansonsten kommt nur twitters anmeldeseite fuer neue benutzer.

twitter bietet einen sehr aehnlichen sharer mechanismus an wie facebook:
man bindet ein javascript file ein und ein <a> tag mit einer gegebenen class und setzt ein paar GET parameter auf den href request.

der twitter knopf hat noch ein paar moeglichkeiten mehr als der facebook sharer (und ein paar weniger), indem er noch einen ‘count’ darstellen kann, welcher anzeigt wie oft die meldung bereits getweetet und retweetet wurde. dafuer hat twitter die bekannte einschraenkung auf 140 zeichen, es geht also darum den text so kurz wie moeglich zu halten, und bilder sind nicht drin, es gibt auch nur einen text, keinen titel und auch sonst keinerlei formatierungen, aehnlich wie SMS. wenn man also eigene URLs in den text einbinden will, sollte man einen shortener service benutzen, wie z.b. den gratisservice bit.ly. allerdings wird die haupt URL automatisch gekuerzt mit twitter’s eigenem shortener t.co, also – wer keine URL listen tweeten moechte braucht wahrscheinlich keinen URL shortener.

wie funktioniert’s?

die technische implementation ist also denkbar einfach, wie gesagt ein javascript file reinsourcen und ein <a> tag:

ich zeige es hier anhand einer implementation fuer mein GPSRace projekt, die seite wird mit php erstellt, der relevante code sieht so aus:
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<a href="http://twitter.com/share?<?php echo $twitter_string;?>" class="twitter-share-button">Tweet</a>

der $twitter_string beinhaltet die noetigen GET parameter fuer den twitter.com/share request, welche sind:

url: urlencode(‘http://irgendwas’)
wobei irgendwas kann auch GET parameter enthalten.

via: twitterapi
konstante.

text: urlencode(max 140chars text)
dies ist also der text, falls er URLs zu fremdseiten enthaelt welche nicht identisch mit dem url parameter sind, dann sollten die gekuerzt werden mit einem url shortener.

count: none|horizontal|vertical
dies ist die anweisung fuer die zaehlbox, welche angibt wie oft der tweet bereits getweetet wurde.

also, das komplette a-tag sieht dann in etwa so aus:

<a href="http://twitter.com/share?url=http:%2F%2Fwww.gpsrace.ch%2F2010%2F09%2F08%2Fgps-trip-from-greifensee-switzerland-5/&via=twitterapi&text=admin+published+a+15.79+km+running+trip+on+GPSRace+in+Greifensee%2C+Switzerland.+http%3A%2F%2Fbit.ly%2FaHJ2gB&count=none" class="twitter-share-button">Tweet</a>

dieser code rendert dann den knopf wie er auf dieser GPSRace seite steht.

gedanken

interessanterweise generiert das eingebundene twitter javascript ein iframe anstelle des <a> tags der klasse twitter-share-button. ich nehme an das ist wegen dem optional einblendbaren zaehlerfeld welches inhalt von twitter braucht…. ansonsten, let me know, wenn einer weiss warum twitter ein iframe generiert, waere interessant… bei facebook geht’s auch ohne iframe.

es waere auch schoen wenn twitter die neuen location parameter zuliesse auf dem sharer knopf, dem ist leider nicht so. die locations funktionieren meines wissen momentan nur in den USA und sind browser gesteuert.

und zu guter letzt: macht nicht zu viel eigenwerbung auf twitter, vor allem nicht wenn ihr viele followers habt, werbung wird nicht besonders geschaetzt dort. und wenn – dann sollte subtil versteckt sein, so dass es auch interessant toent fuer werbung allergiker, was wir ja mitlerweile fast alle sind, sonst habt ihr dann vielleicht ploetzlich nicht mehr viele followers.

Share this page

Discussion...