Mettre une application Air à jour Imprimer

Je viens de chercher durant toute une soirée de la doc accessible pour apprendre à mettre à jour une application Air et j'espère pour vous que êtes tombé sur cette page très rapidement et non après 3 ou 4 heures de tentatives de mise en application des différents tutoriaux que j'ai pu rencontrer (tous sont en anglais (de ce côté là, ça va, mais pas pour tout le monde)). Comme d'habitude, dans tous ces tutos, une tartine est faite pour chaque étape, rendant encore plus complexe la compréhension de chaque paragraphe. Voilà c'était mon coup de gueule, bon, maintenant  venons-en aux faits !!!

Voici comment ajouter 5 lignes de code à votre fichier .fla et 2 fichiers XML pour une simple mise à jour

 

I. Préparer le fichier Flash.

Pour commencer,  nous avons besoin d'ajouter dans le SWF que nous allons générer, les fenêtres de mise à jour de la figure 1.1., nous allons donc faire une petite manipulation en 7 étapes de préparation.

 

 Fenêtres de mise à jour d'une application Air
 Figure 1.1 : Fenêtres de mise à jour d'une application Air.

 

  1. Pour commencer, téléchargez ce fichier .zip qui contient deux SWC dont nous allons avoir besoin (Les fichiers contenus dans cette archive se trouvent déjà dans votre ordi, mais cela vous évitera de les chercher).
  2. Décompressez cette archive et placez le dossier obtenu (intitulé updaters) à côté de votre fichier .fla.
  3. Dans Flash, dans le menu Fichier, sélectionnez la commande Paramètres de publication...
  4. Après avoir cliqué sur l'onglet Flash (en haut de la fenêtre), cliquez sur le bouton "Paramètres..." qui se trouve à droite de "Script : ActionScript 3.0".
  5. Cliquez sur l'onglet "Chemin de la bibliothèque puis sur le bouton qui contient une icône de dossier (elle se trouve parmi une série de 6 boutons (+ - Icone rouge,...)
  6. Sélectionnez le dossier updaters qui se trouve à côté de votre fichier .fla (celui que vous avez téléchargé et décompressé).
  7. Validez cette fenêtre par un clic sur le bouton OK, puis par un deuxième clic sur l'autre bouton OK.

 

II. Ajouter le code ActionScript dans le fichier Flash

 Dans la fenêtre Actions de votre animation Flash, saisissez tout simplement le code suivant :

 

import air.update.ApplicationUpdaterUI;
import air.update.ApplicationUpdater;

var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
appUpdater.configurationFile=new File("app:/updateConfig.xml");
appUpdater.initialize();

 

Les deux premières lignes de code servent à informer Flash qu'il va devoir importer les deux classes ApplicationUpdaterUI et ApplicationUpdater. Les 3 dernières lignes servent à :

  • créer une instance de la classe ApplicationUpdaterUI (pour gérer la mise à jour),
  • définir le chemin vers le fichier XML "updateConfig.xml" (que nous allons analyser dans la prochaine étape),
  • exécuter la demande vérification de mise en jour, en fonction des paramètres contenus dans les fichiers XML.

III. Les deux fichiers XML de mise à jour

Pour mettre à jour une application air, on a besoin de deux informations : Le nombre de jours entre deux phases de vérification (on va pas vérifier la disponibilité d'une mise à jour à chaque lancement de l'application) et le nom du fichier à télécharger dans le cas où une mise à jour est disponible. C'est pourquoi nous devons utiliser les deux fichiers ci-dessous :

 

Le fichier updateConfig.xml : Souvenez-vous, c'est ce fichier auquel nous faisons précisément référence dans notre code de la fenêtre Actions. Il contient l'adresse du fichier xml que nous devons aller lire sur le serveur pour effectuer la mise à jour. Il contient les informations suivantes :

  • le chemin vers le fichier XML (update.xml) qui sert de comparaison entre la version de l'application installée et celle à mettre à jour, 
  • le nombre de jours entre deux vérifications (en effet, si vous souhaitez que l'application vérifie la disponibilité d'une mise à jour toutes les semaines, dans ce cas,vous devez spécifier cette valeur (à exprimer en jours). Vous pouvez utiliser un nombre décimal. Ex. 0,001 pour une subdivision dans une journée).

Fichier updateConfig.xml

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
   <url>http://www.ladressedevotresite//update.xml</url>
   <delay>7</delay>
</configuration>

 

Le fichier update.xml : Il se trouve sur le serveur, c'est lui qui est appelé par le processus de mise à jour déclenché dans l'animation. Comme nous venons de le voir, il contient l'adresse du fichier .air à télécharger que nous devons télécharger sur le serveur pour effectuer la mise à jour. Il contient les informations suivantes :

  • Le numéro de version à comparer avec celui de l'application qui se trouve actuellement installé sur la machine. Si le programme constate une différence de version, le processus de mise à jour est enclenché.
  • Le chemin et le nom du fichier à télécharger si le processus de mise à jour est enclenché.

Fichier update.xml

<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
    <version>1.0</version>
    <url>http://www.ladressedevotresite/Appliz.air</url>
    <description>Commentaire qui est visible dans la fenêtre de mise à jour.</description>
</update>

 

Remarque : Pour l'instant, la version 1.0 empêche le déclenchement de la mise à jour car c'est l à même que celle de l'application qui tourne.

Dans la pratique, vous devez donc simplement créer une application Air et opter pour un numéro de version de 1.0

Numéro de version d'une application Air

Ensuite, vous pouvez diffuser votre application. Dès que vous avez besoin de faire une mise à jour, vous changer la valeur 1.0 du fichier update.xml en 1.1, ainsi que celle du nouveau fichier .air que vous allez générer, vous placez sur le serveur la nouvelle version de votre application en .air (Appliz.air dans notre exemple) et la mise à jour se fera automatiquement.

Pour une deuxième mise à jour : Générez à nouveau un .air avec la valeur 1.2 et changez le 1.1 du fichier update.xml en 1.2 également.

 

 Astuce : Si vous souhaitez créer un bouton qui effectue la mise  jour, utilisez l'instruction suivante :

 

 appUpdater.checkNow();