|
Resurser för Flash CS4 |
Installera och köra AIR-program från en webbsidaMed funktionen för sömlös installation kan du bädda in en SWF-fil på en webbsida som gör att användaren kan installera ett AIR-program från webbläsaren. Om körningsversionen inte installeras, installeras den med funktionen för sömlös installation. Med funktionen för sömlös installation kan användarna installera AIR-programmet utan att spara AIR-filen på datorn. I AIR SDK ingår filen badge.swf som gör att det blir enkelt att använda funktionen för sömlös installation. Mer information finns i Installera ett AIR-program med filen badge.swf. En demonstration av hur du använder funktionen för sömlös installation finns i exempelartikeln Distribuera ett AIR-program via webben (http://www.adobe.com/go/learn_air_qs_seamless_install_se). Om att anpassa badge.swf för sömlös installationFörutom att använda filen badge.swf som ingår i SDK kan du skapa en egen SWF-fil och använda den i en webbläsare. Den egna SWF-filen kan samverka med körningsversionen på följande sätt:
Du får tillgång till dessa funktioner genom att anropa API:er i en SWF-fil som finns på adobe.com: air.swf. I det här avsnittet beskrivs hur du använder och anpassar filen badge.swf och hur du anropar API:erna för air.swf från din egen SWF-fil. En SWF-fil som körs i webbläsaren kan dessutom kommunicera med ett AIR-program som körs genom att använda klassen LocalConnection. Mer information finns i Kommunikation mellan program. Viktigt! Funktionerna som beskrivs i det här avsnittet (och API:erna i filen air.swf) kräver att Adobe® Flash® Player 9 uppdatering 3 är installerat i slutanvändarens webbläsare i Windows eller Mac OS. I Linux krävs Flash Player 10 (version 10.0.12.36 eller senare) för sömlös installation. Du kan skriva kod om du vill kontrollera den installerade versionen av Flash Player och skapa ett alternativt gränssnitt till användaren om den version av Flash Player som krävs inte är installerad. Om till exempel en äldre version av Flash Player är installerad, kan du skapa en länk till hämtningsversionen av AIR-filen (i stället för att använda filen badge.swf eller API:n för air.swf för att installera ett program).
Installera ett AIR-program med filen badge.swfI AIR SDK ingår filen badge.swf som gör att det blir enkelt att använda funktionen för sömlös installation. Filen badge.swf kan installera körningsversionen och ett AIR-program från en länk på en webbsida. Du kan distribuera filen badge.swf och dess källkod på din webbplats. Instruktionerna i det här avsnittet innehåller information om hur du ställer in parametrar för filen badge.swf från Adobe. Vi tillhandahåller också källkoden för filen badge.swf så att du kan anpassa den. Bädda in filen badge.swf på en webbsida
Du kan också redigera och kompilera om filen badge.swf. Mer information finns i Redigera filen badge.swf. Installera AIR-programmet från en sömlös installationslänk på en webbsidaNär du har lagt till den sömlösa installationslänken på en sida, kan användaren installera AIR-programmet genom att klicka på länken i SWF-filen.
Redigera filen badge.swfI AIR SDK finns källfilerna för filen badge.swf. Dessa filer finns i mappen samples/badge i SDK-paketet:
Du kan använda Flash CS3 eller Flash CS4 för att designa om det synliga gränssnittet i en badge.fla-fil. Konstruktorfunktionen AIRBadge(), som definieras i klassen AIRBadge, läser in filen air.swf som finns på http://airdownload.adobe.com/air/browserapi/air.swf. Filen air.swf innehåller kod för funktionen för sömlös installation. Metoden onInit() (i klassen AIRBadge) anropas när filen air.swf har lästs in: 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;
}
}
Koden ställer in den globala _air-variabeln på huvudklassen för den inlästa air.swf-filen. Den här klassen omfattar följande offentliga metoder, som badge.swf använder för att anropa funktionen för sömlös installation
Inställningarna för url och runtimeVersion skickas till SWF-filen via FlashVars-inställningarna i HTML-sidan som fungerar som behållare. Om programmet startar automatiskt vid installationen kan du använda LocalConnection-kommunikation så att det installerade programmet kontaktar filen badge.swf vid ett anrop. Mer information finns i Kommunikation mellan program. Du kan också anropa metoden getApplicationVersion() för filen air.swf om du vill kontrollera om ett program är installerat. Du kan anropa den här metoden innan programmet installeras eller efter att installationen har startat. Mer information finns i Kontrollera från en webbsida om ett AIR-program är installerat. Läsa in filen air.swfDu kan skapa en egen SWF-fil som använder API:erna i filen air.swf om du vill samverka med körnings- och AIR-programmen från en webbsida i en webbläsare. Filen air.swf finns på http://airdownload.adobe.com/air/browserapi/air.swf. Om du vill referera till API:erna för air.swf från SWF-filen läser du in air.swf till samma programdomän som SWF-filen. I följande kod visas ett exempel på hur filen air.swf läses in i programdomänen när SWF-filen läses in: 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;
}
När filen air.swf läses in (när Loader-objektets contentLoaderInfo-objekt skickar händelsen init), kan du anropa någon av API:erna för air.swf. Dessa API:er beskrivs i följande avsnitt: Obs! Filen badge.swf, som finns i AIR SDK, läser in filen air.swf automatiskt. Se Installera ett AIR-program med filen badge.swf. Instruktionerna i det här avsnittet gäller bara när du skapar en egen SWF-fil som läser in filen air.swf.
Kontrollera om körningsversionen är installeradEn SWF-fil kan kontrollera om körningsversionen är installerad genom att anropa metoden getStatus() i filen air.swf som läses in från http://airdownload.adobe.com/air/browserapi/air.swf. Mer information finns i Läsa in filen air.swf. När filen air.swf har lästs in kan SWF-filen anropa air.swf-filens getStatus()-metod så här: var status:String = airSWF.getStatus(); Metoden getStatus() returnerar ett av följande strängvärden, baserat på statusen för körningsversionen på datorn:
getStatus()-metoden returnerar ett fel om den obligatoriska versionen av Flash Player (version 9 uppdatering 3 eller senare i Windows och Mac OS, eller version 10 i Linux) inte är installerad i webbläsaren. Kontrollera från en webbsida om ett AIR-program är installeratEn SWF-fil kan kontrollera om ett AIR-program (med matchande program-ID och utgivar-ID) är installerat genom att anropa metoden getApplicationVersion() i filen air.swf som läses in från http://airdownload.adobe.com/air/browserapi/air.swf. Mer information finns i Läsa in filen air.swf. När filen air.swf har lästs in kan SWF-filen anropa air.swf-filens getApplicationVersion()-metod så här: 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.
}
}
Metoden getApplicationVersion() har följande parametrar:
getApplicationVersion()-metoden returnerar ett fel om den obligatoriska versionen av Flash Player (version 9 uppdatering 3 eller senare i Windows och Mac OS, eller version 10 i Linux) inte är installerad i webbläsaren. Installera ett AIR-program från webbläsarenEn SWF-fil kan installera ett AIR-program genom att anropa metoden installApplication() i filen air.swf som läses in från http://airdownload.adobe.com/air/browserapi/air.swf. Mer information finns i Läsa in filen air.swf. När filen air.swf har lästs in kan SWF-filen anropa air.swf-filens installApplication()-metod så här: var url:String = "http://www.example.com/myApplication.air"; var runtimeVersion:String = "1.0"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.installApplication(url, runtimeVersion, arguments); Metoden installApplication() installerar angivet program på användarens dator. Den här metoden har följande parametrar:
Metoden installApplication() fungerar bara när den anropas i händelsehanteraren för en användarhändelse, till exempel ett musklick. installApplication()-metoden returnerar ett fel om den obligatoriska versionen av Flash Player (version 9 uppdatering 3 eller senare i Windows och Mac OS, eller version 10 i Linux) inte är installerad i webbläsaren. För att installera en uppdaterad version av ett program i Mac OS måste användaren ha tillräcklig behörighet för att installera i programkatalogen (och administrativa behörigheter om programmet uppdaterar körningsversionen). I Windows måste en användare ha administrativ behörighet. Du kan också anropa metoden getApplicationVersion() för filen air.swf om du vill kontrollera om ett program redan är installerat. Du kan anropa den här metoden innan programmet börjar installeras eller efter att installationen har startat. Mer information finns i Kontrollera från en webbsida om ett AIR-program är installerat. När programmet körs kan det kommunicera med SWF-innehållet i webbläsaren genom att använda klassen LocalConnection. Mer information finns i Kommunikation mellan program. Starta ett installerat AIR-program från webbläsarenOm du vill använda funktionen för webbläsaranrop (så att programmet kan startas från webbläsaren) måste programbeskrivningsfilen för målprogrammet innehålla följande sträng: <allowBrowserInvocation>true</allowBrowserInvocation> Mer information om programbeskrivningsfilen finns i Ange egenskaper i AIR-program. En SWF-fil i webbläsaren kan starta ett AIR-program genom att anropa metoden launchApplication() i filen air.swf som läses in från http://airdownload.adobe.com/air/browserapi/air.swf. Mer information finns i Läsa in filen air.swf. När filen air.swf har lästs in kan SWF-filen anropa air.swf-filens launchApplication()-metod så här: var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.launchApplication(appID, pubID, arguments); Metoden launchApplication() definieras på den översta nivån i filen air.swf (som läses in i programdomänen för användargränssnittets SWF-fil). När den här metoden anropas startar AIR angivet program (om det är installerat och webbläsaranrop tillåts, via inställningen allowBrowserInvocation i programbeskrivningsfilen). Den här metoden har följande parametrar:
Metoden launchApplication() fungerar bara när den anropas i händelsehanteraren för en användarhändelse, till exempel ett musklick. launchApplication()-metoden returnerar ett fel om den obligatoriska versionen av Flash Player (version 9 uppdatering 3 eller senare i Windows och Mac OS, eller version 10 i Linux) inte är installerad i webbläsaren. Om elementet allowBrowserInvocation ställs in på false i programbeskrivningsfilen har ett anrop till metoden launchApplication() ingen effekt. Innan användargränssnittet som startar programmet visas, kanske du vill anropa metoden getApplicationVersion() i filen air.swf. Mer information finns i Kontrollera från en webbsida om ett AIR-program är installerat. När programmet anropas via funktionen för webbläsaranrop skickar programmets NativeApplication-objekt ett BrowserInvokeEvent-objekt. Mer information finns i Webbläsaranrop. Om du använder funktionen för webbläsaranrop måste du vara medveten om säkerheten som beskrivs i Webbläsaranrop. När programmet körs kan det kommunicera med SWF-innehållet i webbläsaren genom att använda klassen LocalConnection. Mer information finns i Kommunikation mellan program. |