|
Flash CS4-Ressourcen |
Installieren und Ausführen von AIR-Anwendungen von WebseitenInhalt [Ausblenden]Mit der nahtlosen Installation können Sie eine SWF-Datei in eine Webseite einbetten und so dem Benutzer die Möglichkeit geben, die AIR-Installation über den Browser auszuführen. Wurde die Laufzeitumgebung noch nicht installiert, tut dies die nahtlose Installation. Mithilfe der nahtlosen Installation können Benutzer die AIR-Anwendung installieren, ohne die AIR-Anwendung auf ihrem Computer speichern zu müssen. Das AIR-SDK enthält eine badge.swf-Datei, mit der die nahtlose Installation einfach verwendet werden kann. Weitere Einzelheiten finden Sie unter Installieren der AIR-Anwendung mit der badge.swf-Datei. Zur Veranschaulichung der Verwendung der nahtlosen Installationsfunktion sehen Sie sich das Kurzanleitungsbeispiel unter Verteilen einer AIR-Anwendung über das Web an (http://www.adobe.com/go/learn_air_qs_seamless_install_de). Anpassen der badge.swf-Datei für die nahtlose InstallationZusätzlich zur mit dem SDK gelieferten badge.swf-Datei können Sie eine eigene SWF-Datei für die Verwendung auf Browserseiten erstellen. Diese benutzerdefinierte SWF-Datei kann wie folgt mit der Laufzeitumgebung interagieren:
Diese Möglichkeiten werden alle durch den Aufruf von APIs in einer SWF-Datei unter adobe.com: air.swf bereitgestellt. In diesem Abschnitt wird beschrieben, wie die badge.swf-Datei verwendet und angepasst wird und wie die air.swf-APIs von Ihrer eigenen SWF-Datei aufgerufen werden können. Eine im Browser ausgeführte SWF-Datei kann außerdem über die LocalConnection-Klasse mit einer laufenden AIR-Anwendung kommunizieren. Weitere Informationen finden Sie unter Kommunikation zwischen Anwendungen. Wichtig: Für die in diesem Abschnitt beschriebenen Funktionen (und die APIs in der air.swf-Datei) muss auf dem Webbrowser unter Windows oder Mac OS Adobe® Flash® Player 9 Update 3 installiert sein. Unter Linux ist für die nahtlose Installationsfunktion Flash Player 10 (Version 10.0.12.36 oder höher) erforderlich. Sie können Code schreiben, um die installierte Version von Flash Player zu überprüfen und eine alternative Oberfläche für die Benutzer bereitzustellen, wenn die erforderliche Flash Player-Version nicht installiert ist. Ist zum Beispiel eine ältere Flash Player-Version installiert, können Sie eine Verknüpfung zur Download-Version der AIR-Datei anbieten (anstelle der badge.swf-Datei oder der air.swf-API für die Installation der Anwendung).
Installieren der AIR-Anwendung mit der badge.swf-DateiDas AIR-SDK enthält eine badge.swf-Datei, mit der die nahtlose Installation einfach verwendet werden kann. Die badge.swf-Datei kann die Laufzeitumgebung und eine AIR-Anwendung von einem Link auf einer Webseite installieren. Die Datei und ihr Quellcode werden Ihnen für die Verteilung über Ihre Website zur Verfügung gestellt. Die Anleitung in diesem Abschnitt enthält Informationen zur Einstellung der Parameter in der von Adobe bereitgestellten badge.swf-Datei. Wir stellen Ihnen außerdem den Quellcode der badge.swf-Datei für Ihre eigenen Anpassungen zur Verfügung. Einbetten der badge.swf-Datei in Webseiten
Sie können die badge.swf-Datei auch bearbeiten und neu kompilieren. Weitere Einzelheiten finden Sie unter Modifizieren der badge.swf-Datei. Installieren von AIR-Anwendungen über nahtlose Installationslinks auf WebseitenWenn Sie auf einer Seite einen Link für die nahtlose Installation hinzugefügt haben, kann der Benutzer die AIR-Anwendung durch Klicken auf den Link in der SWF-Datei installieren.
Modifizieren der badge.swf-DateiDie AIR-SDK stellt die Quelldateien für die badge.swf-Datei zur Verfügung. Diese Dateien sind im samples/badge-Ordner der SDK zu finden:
Mit Flash CS3 oder Flash CS4 können Sie die visuelle Oberfläche der badge.fla-Datei neu entwerfen. Die Konstruktorfunktion AIRBadge(), die in der AIRBadge-Klasse definiert wird, lädt die unter http://airdownload.adobe.com/air/browserapi/air.swf gehostete air.swf-Datei. Die air.swf-Datei enthält den Code für die Verwendung der nahtlosen Installationsfunktion. Die Methode onInit() (in der AIRBadge-Klasse) wird aufgerufen, wenn die air.swf-Datei erfolgreich geladen wurde: 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;
}
}
Der Code setzt die globale Variable _air auf die Hauptklasse der geladenen air.swf-Datei. Diese Klasse umfasst die folgenden öffentlichen Methoden, auf welche die badge.swf-Datei zugreift, um die nahtlose Installationsfunktion aufzurufen:
Die Einstellungen für url und runtimeVersion werden über die FlashVars-Einstellungen in der Container-HTML-Seite an die SWF-Datei übergeben. Wird die Anwendung automatisch nach der Installation gestartet, können Sie die Anwendung beim Aufrufen über die LocalConnection-Kommunikation die badge.swf-Datei kontaktieren lassen. Weitere Einzelheiten finden Sie unter Kommunikation zwischen Anwendungen. Sie können auch die Methode getApplicationVersion() der air.swf-Datei aufrufen, um zu überprüfen, ob eine Anwendung installiert ist. Rufen Sie die Methode vor dem Installationsvorgang oder während der Installation auf. Weitere Informationen finden Sie unter Von Webseiten aus auf installierte AIR-Anwendungen prüfen. Laden von air.swf-DateienSie können eine eigene SWF-Datei erstellen, die die APIs in einer air.swf-Datei verwendet, um mit der Laufzeitumgebung und AIR-Anwendungen einer Webseite in einem Browser zu interagieren. Die air.swf-Datei wird unter http://airdownload.adobe.com/air/browserapi/air.swf gehostet. Um von Ihrer SWF-Datei auf die air.swf-APIs zu verweisen, laden Sie die air.swf-Datei in dieselbe Anwendungsdomäne wie die SWF-Datei. Das folgende Beispiel zeigt einen Code für das Laden der air.swf-Datei in die Anwendungsdomäne der ladenden SWF-Datei: 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;
}
Sobald die air.swf-Datei geladen ist (wenn das contentLoaderInfo-Objekt des Loader-Objekts das Ereignis init auslöst), können Sie die air.swf-APIs aufrufen. Diese APIs werden in den folgenden Abschnitten beschrieben: Hinweis: Die mit dem AIR-SDK gelieferte badge.swf-Datei lädt automatisch die air.swf-Datei. Weitere Einzelheiten finden Sie unter Installieren der AIR-Anwendung mit der badge.swf-Datei. Die Anleitung in diesem Abschnitt bezieht sich auf die Erstellung einer eigenen SWF-Datei, mit der die air.swf-Datei geladen wird.
Auf installierte Laufzeitumgebung prüfenEine SWF-DAtei kann prüfen, ob die Laufzeitumgebung installiert ist, indem sie die Methode getStatus() der von http://airdownload.adobe.com/air/browserapi/air.swf geladenen air.swf-Datei aufruft. Weitere Einzelheiten finden Sie unter Laden von air.swf-Dateien. Nachdem die air.swf-Datei geladen wurde, kann die SWF-Datei die Methode getStatus() der air.swf-Datei wie folgt aufrufen: var status:String = airSWF.getStatus(); Die Methode getStatus() gibt einen der folgenden, auf dem Status der Laufzeitumgebung auf dem Computer basierenden Stringwerte zurück:
Die getStatus()-Methode gibt einen Fehler aus, wenn die erforderliche Version von Flash Player (Version 9 Update 3 oder höher unter Windows und Mac OS bzw. Version 10 unter Linux) nicht im Browser installiert ist. Von Webseiten aus auf installierte AIR-Anwendungen prüfenEine SWF-Datei kann prüfen, ob eine AIR-Anwendung (mit übereinstimmender Anwendungs-ID und Herausgeber-ID) installiert ist, indem sie die Methode getApplicationVersion() der von http://airdownload.adobe.com/air/browserapi/air.swf geladenen air.swf-Datei aufruft. Weitere Einzelheiten finden Sie unter Laden von air.swf-Dateien. Nachdem die air.swf-Datei geladen wurde, kann die SWF-Datei die Methode getApplicationVersion() der air.swf-Datei wie folgt aufrufen: 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.
}
}
Die getApplicationVersion()-Methode verfügt über die folgenden Parameter:
Die getApplicationVersion()-Methode gibt einen Fehler aus, wenn die erforderliche Version von Flash Player (Version 9 Update 3 oder höher unter Windows und Mac OS bzw. Version 10 unter Linux) nicht im Browser installiert ist. Installieren von AIR-Anwendungen aus dem BrowserEine SWF-Datei kann eine AIR-Anwendung installieren, indem sie die Methode installApplication() der von http://airdownload.adobe.com/air/browserapi/air.swf geladenen air.swf-Datei aufruft. Weitere Einzelheiten finden Sie unter Laden von air.swf-Dateien. Nachdem die air.swf-Datei geladen wurde, kann die SWF-Datei die Methode installApplication() der air.swf-Datei wie folgt aufrufen: var url:String = "http://www.example.com/myApplication.air"; var runtimeVersion:String = "1.0"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.installApplication(url, runtimeVersion, arguments); Die Methode installApplication() installiert die angegebene Anwendung auf dem Gerät des Benutzers. Die Methode hat die folgenden Parameter:
Die Methode installApplication() funktioniert nur, wenn sie in einer Ereignisprozedur für ein Benutzerereignis, zum Beispiel einen Mausklick, aufgerufen wurde. Die installApplication()-Methode gibt einen Fehler aus, wenn die erforderliche Version von Flash Player (Version 9 Update 3 oder höher unter Windows und Mac OS bzw. Version 10 unter Linux) nicht im Browser installiert ist. Um unter Mac OS eine aktualisierte Version einer Anwendung zu installieren, muss der Benutzer über die entsprechenden Berechtigungen für die Installation ins Anwendungsverzeichnis verfügen (sowie über Administratorberechtigungen, wenn die Anwendung die Laufzeitumgebung aktualisiert). Unter Windows muss der Benutzer über Administratorberechtigungen verfügen. Sie können auch die Methode getApplicationVersion() der air.swf-Datei aufrufen, um zu überprüfen, ob bereits eine Anwendung installiert ist. Rufen Sie die Methode vor dem Installationsvorgang oder während der Installation auf. Weitere Informationen finden Sie unter Von Webseiten aus auf installierte AIR-Anwendungen prüfen. Sobald die Anwendung läuft, kann sie über die LocalConnection-Klasse mit den SWF-Inhalten im Browser kommunizieren. Weitere Einzelheiten finden Sie unter Kommunikation zwischen Anwendungen. Aufrufen installierter AIR-Anwendungen vom BrowserUm die Browseraufruffunktion zu verwenden (die den Aufruf vom Browser aus ermöglicht), muss die Anwendungsdeskriptordatei der Zielanwendung die folgenden Einstellungen enthalten: <allowBrowserInvocation>true</allowBrowserInvocation> Weitere Informationen zur Anwendungsdeskriptordatei finden Sie unter Festlegen der Eigenschaften von AIR-Anwendungen. Eine SWF-Datei im Browser kann eine AIR-Anwendung aufrufen, indem sie die Methode launchApplication() der von http://airdownload.adobe.com/air/browserapi/air.swf geladenen air.swf-Datei aufruft. Weitere Einzelheiten finden Sie unter Laden von air.swf-Dateien. Nachdem die air.swf-Datei geladen wurde, kann die SWF-Datei die Methode launchApplication() der air.swf-Datei wie folgt aufrufen: var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.launchApplication(appID, pubID, arguments); Die Methode launchApplication() wird auf der obersten Ebene der air.swf-Datei definiert (diese Datei wird in die Anwendungsdomäne der Benutzeroberflächen-SWF-Datei geladen). Beim Aufruf dieser Methode wird die angegebene Anwendung gestartet (wenn diese installiert ist und der Browseraufruf über die Einstellung allowBrowserInvocation in der Anwendungsdeskriptordatei gestattet wurde). Die Methode hat die folgenden Parameter:
Die Methode launchApplication() funktioniert nur, wenn sie in einer Ereignisprozedur für ein Benutzerereignis, zum Beispiel einen Mausklick, aufgerufen wurde. Die launchApplication()-Methode gibt einen Fehler aus, wenn die erforderliche Version von Flash Player (Version 9 Update 3 oder höher unter Windows und Mac OS bzw. Version 10 unter Linux) nicht im Browser installiert ist. Wenn das Element allowBrowserInvocation in der Anwendungsdeskriptordatei auf false gesetzt wurde, bleibt ein Aufruf der Methode launchApplication() wirkungslos. Bevor Sie die Benutzeroberfläche für das Aufrufen der Anwendung einblenden, möchten Sie vielleicht die Methode getApplicationVersion() in der air.swf-Datei aufrufen. Weitere Informationen finden Sie unter Von Webseiten aus auf installierte AIR-Anwendungen prüfen. Wird die Anwendung über die Browseraufruffunktion aufgerufen, löst das Objekt NativeApplication der Anwendung ein BrowserInvokeEvent-Objekt aus. Weitere Einzelheiten finden Sie unter Aufrufen des Browsers. Beachten Sie die unter Aufrufen des Browsers beschriebenen Sicherheitsauswirkungen, wenn Sie die Browseraufruffunktion verwenden. Sobald die Anwendung läuft, kann sie über die LocalConnection-Klasse mit den SWF-Inhalten im Browser kommunizieren. Weitere Einzelheiten finden Sie unter Kommunikation zwischen Anwendungen. |