tiny little gizmos

Webseiten für Handies

Wer schon einmal Webseiten für Handies (WAP 2.0) gebaut hat, kommt schnell darauf, daß man die Ausgabe automatisch an das Endgerät anpassen sollte. Wenn man zum Beispiel Bilder anzeigen möchte, macht es einen erheblichen Unterschied, ob das Handy eine Displaygröße von 128×128 (z.B. ältere Nokia Series 40), 176×208 (ältere Nokia Series 60, viele SonyEricsson) oder 240×320 Pixel hat. Dazu benötigt man eine Geräteerkennung.

Hallo Handy, was kannst Du denn?

Eine gute Möglichkeit zur automatischen Geräterekennung bietet WURFL (Wireless Universal Resource File). Das funktioniert recht gut, aber der Server benötigt zum Parsen de riesigen XML-Datei viel Speicher. Mehr als mein Provider mir zubilligt. Aber es geht auch anders: Per UAProf.

Neuere Handies schicken im Request Header einen Link auf eine XML-Profildatei, in der die wichtigsten technischen Daten stehen. Heute möchte ich dem geneigten Leser und Softwarebastler eine PHP-Klasse zur Verfügung stellen, mit dem sich die wichtigsten Parameter aus diesen UAProf-Dateien auslesen lassen. Die Klasse ist PHP4 Kompatibel, da leider noch immer viele Hoster nicht auf PHP5 umgestellt haben. Man kann die Klasse leicht auf der Kommandozeile ausprobieren. Dazu den Inhalt der ZIP Archives in einen Ordner entpacken und die XML Dateien für die Handymodelle dazulegen. Den Pfad zur lokalen PHP-Installation in der ‘test.bat’ anpassen und starten.

uaprof.zip (1,8 Kb)

Wo bekomme ich nun Profildateien zum Testen her?

Das Beispiel enthält keine Profildateien. Diese muss man sich aus dem Internet laden. Das ist erlaubt, denn dafür sind sie ja da. SonyEricsson hat z.B. in dem PDF-Dokument ‘WAP User Agent strings and profiles’ ein Verzeichnisen aller Handymodelle mit den URL’S. Das Dokument liegt hier. Ansonsten ist Google gerne bei der Suche behilflich ;-). Bei der Suche nach “e61 uaprof” ist beispielsweise gleich der erste Treffer die entsprechende Profildatei für das Nokia E61.