AIR Applikationen Updaten

/ Autor: Jürgen, 13 Jun 2008

Das Szenario ist bekannt, eine Anwendung wurde fertiggestellt, natürlich wurde alles ausreichend getestet und doch stellt sich nach einem erfolgreichen Launch heraus, es gibt doch noch den ein oder anderen Bug. Oder ein bestimmtes Feature wird noch nachgeschoben. Das ist bei einer Webapplikation kein Problem, die entsprechenden Files werden geändert und auf dem Server erneuert. Doch eine AIR Applikation ist auf den Systemen der Benutzer installiert und kann nicht von einem zentralen Ort upgedatet werden. Außer man hat beim Entwickeln daran gedacht eine Updatefunktion einzubauen. Genau für diesen Zweck gibt es in Adobe AIR eine spezielle Updater Klasse. Mithilfe dieser Klasse können AIR Anwendungen einfach und unkompliziert upgedatet werden.

Update Klasse
Die Updater Klasse enthält folgende Funktion update
public function update(airFile:File, version:String):void

Wird diese Funktion aufgerufen, wird die laufende Applikation beendet (wie wenn NativeApplication.exit() aufgerufen würde), die Applikation auf die die Variable airFile verweist wird installiert und gestartet. Aus Sicherheitsgründen muss die Variable version die korrekte Version der zu installierenden Anwendung enthalten.
Diese Versionsnummer kann aber nicht fest in die Applikation codiert werden, ansonsten wäre immer nur ein Update von einer bestimmten zu einer bestimmten Version möglich. Eine Möglichkeit ist nun eine XML-Datei auf einen Update-Server zu legen in der die Versionsnummer der aktuellen Version und der Pfad zum .air File gespeichert wird. Diese wird dann heruntergeladen, geparst und die Version wird mit der aktuell installierten Version verglichen. Ist die Version auf in der XML-Datei neuer als die aktuell installierte Software wird der Benutzer benachrichtigt und das Update kann durchgeführt werden.

AIRRemoteUpdater
Mit dem AIRRemotUpdater von “cotedazur brazil” wird das Updaten erheblich vereinfacht. Das erstellen, updaten und parsen der XML-Datei fällt hier komplett weg, denn Der AIRRemoteUpdater vergleicht die momentan installierte Version der Anwendung mit der neusten verfügbaren Version auf einem Webserver (ohne das .air File herunterzuladen). Handelt es ich um eine andere Version kann die neue Version heruntergeladen und über die Updater.update Funktion (siehe oben) installiert werden.

Dieser ganze Prozess kann nun automatisiert werden, so dass zum Beispiel bei jedem Start der Anwendung abgefragt wird ob eine neue Version verfügbar ist. Somit bleiben die Benutzer der Anwendung immer auf dem neusten Stand. Wichtig ist jedoch die Update Funktionalität von Anfang an einzubauen, ansonsten können die Benutzer der ersten Stunde nicht über Updates informiert werden.

Leave a Reply