|
Ressources Flash CS4 |
Installation et exécution d'applications AIR à partir d'une page WebSommaire [Masquer]
La fonctionnalité d'installation transparente offre la possibilité d'incorporer un fichier SWF dans une page Web, ce qui permet ensuite à l'utilisateur d'installer une application AIR à partir du navigateur. Si le moteur d'exécution n'est pas installé, la fonctionnalité d'installation transparente procède à son installation. Cette fonctionnalité permet aux utilisateurs d'installer l'application AIR sans enregistrer le fichier AIR sur le disque dur de leur ordinateur. Le fichier badge.swf, inclus dans le SDK AIR, est fourni pour vous faciliter l'utilisation de la fonctionnalité d'installation transparente. Pour plus d'informations, consultez la section Utilisation du fichier badge.swf pour installer une application AIR. Une démonstration de l'utilisation de la fonctionnalité d'installation est disponible dans l'article de démarrage rapide Distribution d'une application AIR via le Web (http://www.adobe.com/go/learn_air_qs_seamless_install_fr). A propos de la personnalisation du fichier badge.swf de l'installation transparenteOutre l'utilisation du fichier badge.swf fourni dans le SDK (kit de développement logiciel), vous avez également la possibilité de créer votre propre fichier SWF pour l'utiliser dans une page de navigateur. Le fichier SWF que vous avez personnalisé peut interagir avec le moteur d'exécution de différentes façons :
Ces possibilités sont toutes fournies en appelant des API dans un fichier SWF, nommé air.swf, et hébergé sur adobe.com. air.swf. Cette section explique comment utiliser et personnaliser le fichier badge.swf, et comment appeler les API du fichier air.swf à partir de votre propre fichier SWF. En outre, un fichier SWF s'exécutant dans le navigateur peut communiquer avec une application AIR en cours d'exécution grâce à l'utilisation de la classe LocalConnection. Pour plus d'informations, consultez la section Communication inter-applications. Important : les fonctionnalités décrites dans cette section (et les API dans le fichier air.swf) impliquent l'installation préalable d'Adobe® Flash® Player 9 Mise à jour 3 par l'utilisateur final dans le navigateur Web sous Windows ou Mac OS. Sous Linux, la fonction d'installation transparente requiert Flash Player 10 (version 10,0,12,36 ou ultérieure). Vous pouvez écrire du code pour vérifier la version installée de Flash Player et fournir une autre interface à l'utilisateur si la version requise de Flash Player n'est pas installée. Par exemple, si une ancienne version de Flash Player est installée, vous avez la possibilité de fournir un lien vers la version à télécharger du fichier AIR (plutôt que d'utiliser le fichier badge.swf ou l'API du fichier air.swf pour installer une application).
Utilisation du fichier badge.swf pour installer une application AIRLe fichier badge.swf, inclus dans le SDK AIR, est donné pour vous faciliter l'utilisation de la fonctionnalité d'installation transparente. Ce fichier peut installer le moteur d'exécution et une application AIR à partir d'un lien dans une page Web. Le fichier badge.swf et son code source vous sont fournis pour que vous puissiez assurer la distribution sur vos différentes pages Web. Les instructions contenues dans cette section regroupent des informations sur la définition des paramètres du fichier badge.swf fourni par Adobe. Nous mettons également à votre disposition le code source pour le fichier badge.swf, ce qui vous permet de le personnaliser. Intégration du fichier badge.swf dans une page Web
Vous pouvez également modifier et recompiler le fichier badge.swf. Pour plus d'informations, consultez la section Modification du fichier badge.swf. Installation de l'application AIR à partir d'un lien d'installation transparente proposé dans une page WebUne fois que vous avez ajouté le lien de l'installation transparente à une page, l'utilisateur peut installer l'application AIR en cliquant sur le lien dans le fichier SWF.
Modification du fichier badge.swfLe kit SDK AIR fournit les fichiers source pour le fichier badge.swf. Ces fichiers sont situés dans le dossier samples/badge du kit SDK :
Vous pouvez utiliser Flash CS3 ou CS4 pour modifier la conception de l’interface visuelle du fichier badge.fla. La fonction constructeur AIRBadge(), définie dans la classe AIRBadge, charge le fichier air.swf hébergé à l'adresse suivante http://airdownload.adobe.com/air/browserapi/air.swf. Le fichier air.swf contient le code pour l'utilisation de la fonctionnalité d'installation transparente. La méthode onInit() (dans la classe AIRBadge) est appelée lorsque le chargement du fichier air.swf s'est correctement déroulé : private function onInit(e:Event):void {
_air = e.target.content;
switch (_air.getStatus()) {
case "installed" :
root.statusMessage.text = "";
break;
case "available" :
if (_appName && _appName.length > 0) {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run " + _appName +
", this installer will also set up Adobe® AIR™.</font></p>";
} else {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run this application, "
+ "this installer will also set up Adobe® AIR™.</font></p>";
}
break;
case "unavailable" :
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor
+ "'>Adobe® AIR™ is not available for your system.</font></p>";
root.buttonBg_mc.enabled = false;
break;
}
}
Le code définit la variable _air globale sur la classe principale du fichier air.swf chargé. Cette classe comprend les méthodes publiques suivantes auxquelles le fichier badge.swf accède pour appeler la fonctionnalité d'installation transparente :
Les paramètres pour url et runtimeVersion sont transmis dans le fichier SWF via les paramètres FlashVars dans la page HTML servant de conteneur. Si l'application démarre automatiquement à l'installation, vous pouvez utiliser la communication LocalConnection pour que l'application installée contacte le fichier badge.swf au moment de l'appel. Pour plus d'informations, consultez la section Communication inter-applications. Vous pouvez également appeler la méthode getApplicationVersion() du fichier air.swf pour vérifier qu'une application est déjà installée. Vous avez le choix d'appeler cette méthode avant que la procédure d'installation de l'application débute, ou après le démarrage de l'installation. Pour plus d'informations, consultez la section Vérification à partir d'une page Web de la présence d'une application AIR installée. Chargement du fichier air.swfVous pouvez créer votre propre fichier SWF, il sert à utiliser les API dans le fichier air.swf pour interagir avec le moteur d'exécution et les applications AIR depuis une page Web affichée dans un navigateur. Le fichier air.swf est hébergé à l'adresse suivante http://airdownload.adobe.com/air/browserapi/air.swf. Pour référencer les API du fichier air.swf à partir de votre fichier SWF, chargez le fichier air.swf dans le même domaine d'application que celui de votre fichier SWF. Le code suivant illustre un exemple de chargement du fichier air.swf dans le domaine d'application du fichier SWF chargeant. var airSWF:Object; // This is the reference to the main class of air.swf
var airSWFLoader:Loader = new Loader(); // Used to load the SWF
var loaderContext:LoaderContext = new LoaderContext();
// Used to set the application domain
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),
loaderContext);
function onInit(e:Event):void
{
airSWF = e.target.content;
}
Une fois le fichier air.swf chargé (lorsque l'objet contentLoaderInfo de l'objet chargeur Loader distribue l'événement init), vous pouvez appeler n'importe quelle API du fichier air.swf. Ces API sont décrites dans les sections suivantes :
Remarque : le fichier badge.swf, fourni avec le SDK AIR, charge automatiquement le fichier air.swf. Consultez la section Utilisation du fichier badge.swf pour installer une application AIR. Les instructions détaillées dans cette section se rapportent à la création de votre propre fichier SWF qui charge le fichier air.swf.
Vérification de la présence du moteur d'exécutionUn fichier SWF peut vérifier si le moteur d'exécution est installé en appelant la méthode getStatus() dans le fichier air.swf chargé à partir de http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus d'informations, consultez la section Chargement du fichier air.swf. Une fois le fichier air.swf chargé, le fichier SWF peut appeler la méthode getStatus() du fichier air.swf, comme suit : var status:String = airSWF.getStatus(); La méthode getStatus() renvoie une des valeurs de chaîne suivantes en fonction de l'état du moteur d'exécution sur l'ordinateur :
La méthode getStatus() renvoie une erreur si la version requise de Flash Player (version 9 mise à jour 3 ou ultérieure sous Windows et Mac OS, ou version 10 sous Linux) n'est pas installée dans le navigateur. Vérification à partir d'une page Web de la présence d'une application AIR installéeUn fichier SWF peut vérifier si une application AIR (avec un ID d'application et un ID d'éditeur correspondants) est installée en appelant la méthode getApplicationVersion() dans le fichier air.swf chargé à partir de http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus d'informations, consultez la section Chargement du fichier air.swf. Une fois le fichier air.swf chargé, le fichier SWF peut appeler la méthode getApplicationVersion() du fichier air.swf comme suit : var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
airSWF.getApplicationVersion(appID, pubID, versionDetectCallback);
function versionDetectCallback(version:String):void
{
if (version == null)
{
trace("Not installed.");
// Take appropriate actions. For instance, present the user with
// an option to install the application.
}
else
{
trace("Version", version, "installed.");
// Take appropriate actions. For instance, enable the
// user interface to launch the application.
}
}
La méthode getApplicationVersiom() possède les paramètres suivants :
La méthode getApplicationVersion() renvoie une erreur si la version requise de Flash Player (version 9 mise à jour 3 ou ultérieure sous Windows et Mac OS, ou version 10 sous Linux) n'est pas installée dans le navigateur. Installation d'une application AIR à partir du navigateurUn fichier SWF peut installer une application AIR en appelant la méthode installApplication() dans le fichier air.swf chargé à partir de http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus d'informations, consultez la section Chargement du fichier air.swf. Une fois le fichier air.swf chargé, le fichier SWF peut appeler la méthode installApplication() du fichier air.swf comme suit : var url:String = "http://www.example.com/myApplication.air"; var runtimeVersion:String = "1.0"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.installApplication(url, runtimeVersion, arguments); La méthode installApplication() installe l'application spécifiée sur l'ordinateur de l'utilisateur. Cette méthode est dotée des paramètres suivants :
La méthode installApplication() ne peut fonctionner que lorsqu'elle est appelée dans le gestionnaire d'événement pour un événement utilisateur, tel qu'un clic de souris. La méthode installApplication() renvoie une erreur si la version requise de Flash Player (version 9 mise à jour 3 ou ultérieure sous Windows et Mac OS, ou version 10 sous Linux) n'est pas installée dans le navigateur. Sous Mac OS, l'utilisateur doit détenir les droits système appropriés lui permettant d'installer une version de mise à jour d'une application dans le répertoire de cette application (et de privilèges d'administration si l'application met à jour le moteur d'exécution). S'il utilise Windows, l'utilisateur doit détenir des privilèges d'administration. Vous pouvez également appeler la méthode getApplicationVersion() du fichier air.swf pour vérifier si une application est déjà installée. Vous avez le choix d'appeler cette méthode avant que la procédure d'installation de l'application débute, ou après le démarrage de l'installation. Pour plus d'informations, consultez la section Vérification à partir d'une page Web de la présence d'une application AIR installée. Dès qu'elle est exécutée, l'application peut communiquer avec le contenu SWF dans le navigateur en utilisant la classe LocalConnection. Pour plus d'informations, consultez la section Communication inter-applications. Lancement d'une application AIR installée à partir du navigateurPour utiliser la fonctionnalité d'appel du navigateur (lui permettant d'être lancé à partir du navigateur), le fichier descripteur d'application de l'application cible doit comporter le paramètre suivant : <allowBrowserInvocation>true</allowBrowserInvocation> Pour plus d'informations sur le fichier descripteur de l'application, consultez la section Définition des propriétés d'une application AIR. Un fichier SWF présent dans le navigateur peut lancer une application AIR en appelant la méthode launchApplication() dans le fichier air.swf chargé à partir de http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus d'informations, consultez la section Chargement du fichier air.swf. Une fois le fichier air.swf chargé, le fichier SWF peut appeler la méthode launchApplication() du fichier air.swf comme suit : var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.launchApplication(appID, pubID, arguments); La méthode launchApplication() est définie au niveau supérieur du fichier air.swf (qui est chargé dans le domaine d'application du fichier SWF de l'interface utilisateur). Le fait d'appeler cette méthode déclenche le lancement de l'application spécifiée par AIR (si cette application est installée et si l'appel du navigateur est autorisé, par le biais du paramètre allowBrowserInvocation dans le fichier descripteur de l'application). Cette méthode est dotée des paramètres suivants :
La méthode launchApplication() ne peut fonctionner que lorsqu'elle est appelée dans le gestionnaire d'événement pour un événement utilisateur, tel qu'un clic de souris. La méthode launchApplication() renvoie une erreur si la version requise de Flash Player (version 9 mise à jour 3 ou ultérieure sous Windows et Mac OS, ou version 10 sous Linux) n'est pas installée dans le navigateur. Si l'élément allowBrowserInvocation est défini sur false dans le fichier descripteur de l'application, l'appel de la méthode launchApplication() n'a aucune incidence. Avant de présenter l'interface utilisateur pour lancer l'application, il est peut-être préférable d'appeler la méthode getApplicationVersion() dans le fichier air.swf. Pour plus d'informations, consultez la section Vérification à partir d'une page Web de la présence d'une application AIR installée. Lorsque l'application est invoquée par le biais de la fonctionnalité d'appel du navigateur, l'objet NativeApplication de l'application distribue un objet BrowserInvokeEvent. Pour plus d'informations, consultez la section Appel du navigateur. Si vous utilisez la fonctionnalité d'appel du navigateur, assurez-vous d'avoir envisagé les conséquences au niveau de la sécurité qui sont décrites à la section Appel du navigateur. Dès qu'elle est exécutée, l'application peut communiquer avec le contenu SWF dans le navigateur en utilisant la classe LocalConnection. Pour plus d'informations, consultez la section Communication inter-applications. |