|
Zdroje informací pro Flash CS4 |
Instalace a spuštění aplikací AIR z webové stránkyFunkce hladké instalace vám umožňuje vložit SWF soubor do webové stránky, která umožňuje uživateli instalovat aplikaci AIR z prohlížeče. Jestliže runtime není instalováno, instaluje funkce hladké instalace runtime. Funkce hladké instalace umožňuje uživateli instalovat aplikaci AIR bez uložení souborů AIR do počítače. Součástí sady AIR SDK je soubor badge.swf, který vám umožňuje snadno použít funkci hladké instalace. Podrobnosti naleznete v tématu Použití souboru badge.swf k nainstalování aplikace AIR. Ukázku způsobu využití funkce hladké instalace naleznete v ukázkovém článku rychlého startu Distributing an AIR Application via the Web (Distribuce aplikace AIR prostřednictvím webu) (http://www.adobe.com/go/learn_air_qs_seamless_install_cz). O uživatelském nastavení souboru badge.swf hladké instalaceVedle použití souboru badge.swf poskytnutého se sadou SDK můžete vytvořit svůj vlastní soubor, který použijete na stránce prohlížeče. Váš vlastní soubor SWF může vzájemně reagovat s runtime následujícími způsoby:
Tyto možnosti jsou poskytnuty voláním rozhraní API v souboru SWF hostovaném na adobe.com: air.swf. Tato část popisuje způsob použití a uživatelského nastavení souboru badge.swf a způsob volání rozhraní API air.swf z vašeho vlastního souboru SWF. Dále může soubor SWF spuštěný v prohlížeči komunikovat se spuštěnou aplikací AIR pomocí třídy LocalConnection. Více informací naleznete v tématu Komunikace mezi aplikacemi. Důležité: Funkce popsané v této části (a rozhraní API v souboru air.swf) vyžadují, aby měl koncový uživatel ve webovém prohlížeči v systému Windows nebo Mac OS nainstalovanou aktualizaci 3 přehrávače Adobe® Flash® Player 9. V systému Linux vyžaduje funkce hladké instalace přehrávač Flash Player 10 (verze 10.0.12.36 nebo novější). Můžete zapsat kód tak, abyste zkontrolovali nainstalovanou verzi přehrávače Flash Player a poskytnuli uživateli alternativní rozhraní, jestliže není požadovaná verze přehrávače Flash Player nainstalovaná. Jestliže je například nainstalována starší verze přehrávače Flash Player, můžete poskytnout obsah na verzi souboru AIR ke stažení (namísto použití rozhraní API souboru air.swf k nainstalování aplikace).
Použití souboru badge.swf k nainstalování aplikace AIRSoučástí sady AIR SDK je soubor badge.swf, který vám umožňuje snadno použít funkci hladké instalace. Soubor badge.swf může nainstalovat runtime a aplikaci AIR z odkazu na webové stránce. Soubor badge.swf a jeho zdrojový kód jsou vám k distribuci poskytnuty na vaší webové stránce. Pokyny v této části nabízejí informace o nastavení parametrů souboru badge.swf poskytnutém společností Adobe. Máte také k dispozici zdrojový kód pro soubor badge.swf file, který si můžete libovolně nastavit. Vložení souboru badge.swf do webové stránky
Soubor badge.swf můžete také upravit a znovu kompilovat. Podrobnosti naleznete v tématu Úprava souboru badge.swf. Instalace aplikace AIR z odkazu hladké instalace na webové stránce.Jakmile jste na stránku přidali odkaz hladké instalace, může uživatel instalovat aplikaci AIR klepnutím na odkaz v souboru SWF.
Úprava souboru badge.swfSada SDK AIR poskytuje zdrojové soubory pro soubor badge.swf. Tyto soubory jsou zahrnuty ve složce samples/badge sady SDK:
Aplikaci Flash CS3 nebo Flash CS4 lze použít k novému navržení vizuálního rozhraní souboru badge.fla. Funkce konstruktoru AIRBadge() definovaná ve třídě AIRBadge načte soubor air.swf hostovaný na http://airdownload.adobe.com/air/browserapi/air.swf. Soubor air.swf obsahuje kód pro používání funkce hladké instalace. Metoda onInit()(ve třídě AIRBadge) je volána, když je soubor air.swf úspěšně načten: 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;
}
}
Kód nastaví globální proměnnou _air na hlavní třídu načteného souboru air.swf. Tato třída obsahuje následující veřejné metody, ke kterým soubor badge.swf získává přístup pro volání funkce hladké instalace:
Nastavení pro url a runtimeVersion jsou předána do souboru SWF prostřednictvím nastavení FlashVars na HTML stránce kontejneru. Jestliže se aplikace po instalaci spustí automaticky, může nainstalovaná aplikace díky komunikaci LocalConnection po iniciaci kontaktovat soubor badge.swf. Podrobnosti naleznete v tématu Komunikace mezi aplikacemi. Můžete také volat metodu getApplicationVersion() souboru air.swf a zkontrolovat, jestli je aplikace nainstalována. Tuto metodu můžete volat buď před procesem instalace aplikace nebo po zahájení instalace. Podrobnosti naleznete v tématu Kontrola z webové stránky, zda je aplikace AIR nainstalována.. Načtení souboru air.swfMůžete vytvořit svůj vlastní soubor SWF, který používá rozhraní API v souboru air.swf, pro interakci s runtime a aplikacemi AIR z webové stránky v prohlížeči. Soubor air.swf je hostován na http://airdownload.adobe.com/air/browserapi/air.swf. Pro odkazování rozhraní API souboru air.swf z vašeho souboru SWF načtěte soubor air.swf do stejné domény aplikace jako svůj soubor SWF. Následující kód ukazuje příklad načtení souboru air.swf do domény aplikace načítaného souboru SWF: 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;
}
Jakmile je soubor air.swf načten (když objekt contentLoaderInfo objektu Loader odešle událost init), můžete volat libovolné z rozhraní API souboru air.swf. Tato rozhraní API jsou popsána v následujících částech: Poznámka: Soubor badge.swf dodaný se sadou SDK AIR automaticky načte soubor air.swf. Viz Použití souboru badge.swf k nainstalování aplikace AIR. Pokyny v této části se vztahují k vytváření vlastního souboru SWF, který načte soubor air.swf.
Kontrola, zda je runtime nainstalovánoSoubor SWF může zkontrolovat, zda je runtime nainstalováno voláním metody getStatus() v souboru air.swf načteném z http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu Načtení souboru air.swf. Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf getStatus(), viz. následující: var status:String = airSWF.getStatus(); Metoda getStatus() vrátí jednu z následujících hodnot řetězce, na základě statutu runtime na počítači:
Metoda getStatus() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux). Kontrola z webové stránky, zda je aplikace AIR nainstalována.Soubor SWF může zkontrolovat, zda je aplikace AIR (s odpovídajícím ID aplikace a ID vydavatele) nainstalovaná voláním metody getApplicationVersion() v souboru air.swf načteném z http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu Načtení souboru air.swf. Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf getApplicationVersion(), viz. následující: 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.
}
}
Metoda getApplicationVersion() má následující parametry:
Metoda getApplicationVersion() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux). Instalace aplikace AIR z prohlížečeSoubor SWF může nainstalovat aplikaci AIR voláním metody installApplication() v souboru air.swf načteném z http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu Načtení souboru air.swf. Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf installApplication(), viz. následující: var url:String = "http://www.example.com/myApplication.air"; var runtimeVersion:String = "1.0"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.installApplication(url, runtimeVersion, arguments); Metoda installApplication() nainstaluje určenou aplikaci na počítač uživatele. Tato metoda má následující parametry:
Metoda installApplication() může operovat pouze je-li volána v objektu pro zpracování události pro událost uživatele, například klepnutí myší. Metoda installApplication() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux). Pro instalaci aktualizované verze aplikace v OS Mac musí mít uživatel příslušná oprávnění pro nainstalování do adresáře aplikace (a oprávnění správce, jestliže aplikace aktualizuje runtime). V OS Windows potřebuje uživatel oprávnění správce. Můžete také volat metodu getApplicationVersion() souboru air.swf a zkontrolovat, zda je aplikace již nainstalována. Tuto metodu můžete volat buď před zahájením procesu instalace aplikace nebo po zahájení instalace. Podrobnosti naleznete v tématu Kontrola z webové stránky, zda je aplikace AIR nainstalována.. Jakmile aplikace běží, může komunikovat s obsahem SWF v prohlížeči pomocí třídy LocalConnection. Podrobnosti naleznete v tématu Komunikace mezi aplikacemi. Spuštění nainstalované aplikace AIR z prohlížečePro použití funkce vyvolání prohlížeče (povolení, aby byla spuštěna z prohlížeče) musí soubor deskriptoru aplikace cílové aplikace zahrnovat následující nastavení: <allowBrowserInvocation>true</allowBrowserInvocation> Více informací o souboru deskriptoru aplikace naleznete v tématu Nastavení vlastností aplikace AIR. Soubor SWF v prohlížeči může spustit aplikaci AIR voláním metody launchApplication() v souboru air.swf načteném z http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu Načtení souboru air.swf. Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf launchApplication(), viz. následující kód: var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.launchApplication(appID, pubID, arguments); Metoda launchApplication() je definovaná na nejvyšší úrovni souboru air.swf (který je načten v doméně aplikace souboru SWF uživatelského rozhraní). Volání této metody způsobí, že aplikace AIR spustí určenou aplikaci (je-li instalována a je-li povolena inicializace prohlížeče prostřednictvím nastavení allowBrowserInvocation v souboru deskriptoru aplikace). Tato metoda má následující parametry:
Metoda launchApplication() může operovat pouze tehdy, je-li volána v objektu pro zpracování události pro událost uživatele, například klepnutí myší. Metoda launchApplication() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux). Jestliže je element allowBrowserInvocation nastaven v souboru deskriptoru aplikace na false, volání metody launchApplication() nepřinese žádné výsledky. Před poskytnutím uživateli rozhraní pro spuštění aplikace si můžete přát volat metodu getApplicationVersion() v souboru air.swf. Podrobnosti naleznete v tématu Kontrola z webové stránky, zda je aplikace AIR nainstalována.. Je-li aplikace iniciována prostřednictvím funkce iniciace prohlížeče, objekt aplikace NativeApplication odešle objekt BrowserInvokeEvent. Podrobnosti naleznete v tématu Vyvolání z prohlížeče. Jestliže používáte funkci iniciace prohlížeče, ujistěte se, že zohledníte implikace zabezpečení popsané v tématu Vyvolání z prohlížeče. Jakmile aplikace běží, může komunikovat s obsahem SWF v prohlížeči pomocí třídy LocalConnection. Podrobnosti naleznete v tématu Komunikace mezi aplikacemi. |