AIR Autoupdater en 10 pasos

Ale, aquí os dejo cómo configurar un autoupdater para AIR en diez pasos.

1. Bajar el SDK de AIR.
2. Copiar el archivo applicationupdater_ui.swc a nuestra carpeta de proyecto.
3. Linkarlo en configuración de publicación.

advanced_settings_as3.jpg

4. Crear un updateConfig.xml con los siguientes parámetros:

XML:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
    <url>http://www.robot04.com/reforest/update.xml</url>
   <delay>1</delay>
    <defaultUI>
           <dialog name="checkForUpdate" visible="false" />
           <dialog name="downloadUpdate" visible="true" />
           <dialog name="downloadProgress" visible="true" />
           <dialog name="installUpdate" visible="true" />
           <dialog name="fileUpdate" visible="false" />
           <dialog name="unexpectedError" visible="true" />
    </defaultUI>
</configuration>

5. En el Main o donde iniciéis la app (esto es solo una muestra, a partir de aquí se pueden jugar con todos los parámetros del ApplicationUpdater y configurarlo a vuestro gusto):

Actionscript:
package
{
    import air.update.events.UpdateEvent;   
    import air.update.events.StatusUpdateErrorEvent;   
    import flash.events.ErrorEvent;  
    import air.update.events.StatusUpdateEvent
    import air.update.ApplicationUpdaterUI;
   
    public class Main
    {
        public function Main()
        {
            initUpdater();
        }
        public function initUpdater():void
        {
            appUpdater = new ApplicationUpdaterUI();                appUpdater.addEventListener(StatusUpdateErrorEvent.UPDATE_ERROR, updateError);
            appUpdater.addEventListener(UpdateEvent.INITIALIZED, updateInitialized);
            appUpdater.addEventListener(StatusUpdateEvent.UPDATE_STATUS, updateStatus);
            appUpdater.configurationFile = new File("app:/updateConfig.xml");
            appUpdater.initialize();
        }      
        private function updateInitialized(event:UpdateEvent):void
        {
            checkForUpdates();
        }
        private function checkForUpdates():void
        {
            appUpdater.checkNow();
        }

        private function updateError(event:ErrorEvent):void
        {
            trace("Error");
        }

        private function updateStatus(event:StatusUpdateEvent):void
        {
            trace("update status: " + event.version);
            trace("update available: " + event.available);
            trace("update details: " + event.details);
        }
    }
}

6. Añadir el updateConfig.xml en los settings de AIR: File --> AIR Settings --> Included Files + updateConfig.xml.
7. Compilar versión dejando, por ejemplo, en los AIR Settings en el campo de versión 0.90, la instalamos y compilamos otra versión cambiando el valor de la versión a la 0.91.
8. Crear un update.xml con:

XML:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
 <version>0.91</version>
 <url>http://www.robot04.com/reforest/reforest.air</url>
 <description><![CDATA[
Versión 0.91
 * Añadida actualización automática
 ]]>
</description>
</update>

9. Subir la versión nueva y el update.xml al servidor.
10. Añadir un nuevo tipo MIME ".air" al server

Abrimos la aplicación instalada y veremos que nos aparece la ventana de Update para descargar la nueva versión.
Nota: joder que mal se ven los estilos de syntax hiliter para los xml. Ya lo cambiaré.

Deja tu opinión