Instalace a spuštění aplikací AIR z webové stránky



Funkce 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é instalace

Vedle 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 AIR

Součá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

  1. Vyhledejte následující soubory umístěné v adresáři samples/badge AIR SDK a přidejte je do svého prohlížeče.

    • badge.swf

    • default_badge.html

    • AC_RunActiveContent.js

  2. Otevřete stránku default_badge.html v textovém editoru.

  3. Na stránce default_badge.html ve funkci jazyka JavaScript AC_FL_RunContent() upravte definice parametru FlashVars pro následující:

    Parametr

    Popis

    appname

    Název aplikace zobrazený souborem SWF, jestliže runtime není nainstalován.

    appurl

    (Vyžadovaný). URL souboru AIR, který má být stažen. Musíte použít absolutní, nikoliv relativní, URL.

    airversion

    (Vyžadovaný). Pro verzi 1.0 runtime jej nastavte na 1.0.

    imageurl

    URL obrazu (volitelné), která se zobrazí v symbolu.

    buttoncolor

    Barva tlačítka stahování (určená jako hexadecimální hodnota, například FFCC00).

    messagecolor

    Barva textové zprávy zobrazené pod tlačítkem, jestliže runtime není nainstalováno (určena jako hexadecimální hodnota, například FFCC00).

  4. Minimální velikost souboru badge.swf je 217 obrazových bodů na šířku a 180 obrazových bodů na výšku. Upravte hodnoty parametrů width a height funkce AC_FL_RunContent()tak, aby vám vyhovovaly.

  5. Přejmenujte soubor default_badge.html a upravte jeho kód (nebo jej zahrňte do jiné HTML stránky) tak, aby vám vyhovoval.

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.

  1. Přejděte na stránku HTML ve webovém prohlížeči, který má nainstalovaný přehrávač Flash Player (verze 9 s aktualizací 3 v systémech Windows a Mac OS, nebo verze 10 v systému Linux).

  2. Na webové stránce klepněte na odkaz na soubor badge.swf.

    • Jestliže jste runtime nainstalovali, přejděte k následujícímu kroku.

    • Jestliže jste runtime nenainstalovali, zobrazí se dialogové okno, kde budete dotázáni, zda si přejete runtime nainstalovat nebo nikoliv. Instalujte runtime (viz Instalace prostředí Adobe AIR) a pokračujte k následujícímu kroku.

  3. V okně instalace ponechte zvolené výchozí nastavení a klepněte na tlačítko Pokračovat.

    V počítači s OS Windows provede AIR automaticky následující:

    • Instaluje aplikaci do umístění c:\Program Files\

    • Vytvoří pro aplikaci odkaz na pracovní ploše

    • Vytvoří odkaz v nabídce Start

    • Přidá záznam pro aplikaci do ovládacího panelu Přidat/Odebrat programy

    V operačním systému Mac OS přidá instalátor aplikaci do adresáře Aplikace (například do adresáře /Aplikace v operačním sytému Mac OS).

    V počítači se systémem Linux provede aplikace AIR následující akce:

    • Nainstaluje aplikaci do složky /opt.

    • Vytvoří pro aplikaci odkaz na pracovní ploše

    • Vytvoří odkaz v nabídce Start

    • Přidá do systémového správce balíčků položku pro aplikaci.

  4. Vyberte požadované možnosti a klepněte na tlačítko Instalovat.

  5. Po dokončení instalace klepněte na možnost Dokončit.

Úprava souboru badge.swf

Sada SDK AIR poskytuje zdrojové soubory pro soubor badge.swf. Tyto soubory jsou zahrnuty ve složce samples/badge sady SDK:

Zdrojové soubory

Popis

badge.fla

Zdrojový soubor Flash použitý pro kompilaci souboru badge.swf. Soubor badge.fla kompiluje do souboru SWF 9 (který lze načíst v přehrávači Flash Player).

AIRBadge.as

Třída ActionScript 3.0, která definuje základní třídu použitou v souboru basdge.fla.

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:

Metoda

Popis

getStatus()

Určuje, zda je runtime na počítači nainstalováno (nebo může být nainstalováno). Podrobnosti naleznete v tématu Kontrola, zda je runtime nainstalováno.

installApplication()

Nainstaluje určenou aplikaci na počítač uživatele. Podrobnosti naleznete v tématu Instalace aplikace AIR z prohlížeče.

  • url—Řetězec definující URL. Musíte použít absolutní, nikoliv relativní, cestu URL.

  • runtimeVersion—Řetězec určující verzi runtime (například "1.0.M6") vyžadovanou aplikací k instalaci.

  • arguments—Argumenty, které budou předané aplikaci, když je po instalaci spuštěna. Aplikace je spuštěna po instalaci, jestliže element allowBrowserInvocation je nastaven na true v souboru deskriptoru aplikace. (Více informací o souboru deskriptoru aplikace naleznete v tématu Nastavení vlastností aplikace AIR.) Jestliže je aplikace spuštěna jako výsledek hladké instalace z prohlížeče (když si uživatel zvolí spuštění aplikace po instalaci), objekt aplikace NativeApplication odešle objekt BrowserInvokeEvent pouze pokud jsou předány argumenty. Vezměte na vědomí důsledky pro zabezpečení dat, která předáte aplikaci. Podrobnosti naleznete v tématu Spuštění nainstalované aplikace AIR z prohlížeče.

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.swf

Můž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áno

Soubor 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:

Hodnota řetězce

Popis

"available"

Runtime lze nainstalovat na tomto počítači, aktuálně ale nainstalován není.

"unavailable"

Runtime nemůže být na tomto počítači nainstalován.

"installed"

Runtime je na tomto počítači nainstalován.

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:

Parametry

Popis

appID

ID aplikace pro danou aplikaci. Podrobnosti naleznete v tématu Definování identity aplikace.

pubID

ID vydavatele pro danou aplikaci. Podrobnosti naleznete v tématu O identifikátorech vydavatele AIR.

callback

Funkce zpětného volání, která slouží jako funkce zpracování. Metoda getApplicationVersion() operuje asynchronně a po zjištění nainstalované verze (nebo nepřítomnosti nainstalované verze), je tato metoda zpětného volání iniciována. Definice metody zpětného volání musí zahrnovat jeden parametr, řetězec, který je nastaven na řetězec verze nainstalované aplikace. Jestliže není aplikace nainstalovaná, bude funkci předána nulová hodnota, viz následující ukázka kódu.

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če

Soubor 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:

Parametr

Popis

url

Řetězec definující URL souboru AIR k instalaci. Musíte použít absolutní, nikoliv relativní, cestu URL.

runtimeVersion

Řetězec určující verzi runtime (například „1.0“) vyžadovanou aplikací k instalaci.

arguments

Pole argumentů, které budou předány aplikaci, když je po instalaci spuštěna. Pro argumenty jsou rozpoznávány pouze alfanumerické znaky. Pokud potřebujete předat jiné hodnoty, doporučujeme použít schéma kódování.

Aplikace je spuštěna po instalaci, jestliže element allowBrowserInvocation je nastaven na true v souboru deskriptoru aplikace. (Více informací o souboru deskriptoru aplikace naleznete v tématu Nastavení vlastností aplikace AIR.) Jestliže je aplikace spuštěna jako výsledek hladké instalace z prohlížeče (když si uživatel zvolí spuštění aplikace po instalaci), objekt aplikace NativeApplication odešle objekt BrowserInvokeEvent pouze pokud byly předány argumenty. Podrobnosti naleznete v tématu Spuštění nainstalované aplikace AIR z prohlížeče.

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če

Pro 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:

Parametr

Popis

appID

ID aplikace pro aplikaci, která má být spuštěna. Podrobnosti naleznete v tématu Definování identity aplikace.

pubID

ID vydavatele pro aplikaci, která má být spuštěna. Podrobnosti naleznete v tématu O identifikátorech vydavatele AIR.

arguments

Pole argumentů, které budou předány aplikaci. Objekt NativeApplication aplikace odešle událost BrowserInvokeEvent, která má vlastnost argumentů nastavenou na toto pole. Pro argumenty jsou rozpoznávány pouze alfanumerické znaky. Pokud potřebujete předat jiné hodnoty, doporučujeme použít schéma kódování.

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.