Vanliga inställningar

Det finns flera programbeskrivningsinställningar som är viktiga för alla mobilprogram.

Nödvändig version av AIR-miljön

Ange den version av AIR-miljön som krävs för ditt program med hjälp av namnutrymmet i programbeskrivningsfilen.

Namnutrymmet, som tilldelas i elementet application , avgör till stor del vilka funktioner ditt program kan använda. Om ditt program till exempel använder AIR 2.7-namnutrymmet, och användaren har en senare version installerad, ser ditt program ändå AIR 2.7-beteendet (även om beteendet har ändrats i den senare versionen). Ditt program får inte tillgång till de nya beteendena och funktionerna förrän du ändrar namnutrymmet och publicerar en uppdatering. Säkerhetskorrigeringar är viktiga undantag till den här regeln.

På enheter där miljön och programmet är separata, t.ex. Android i AIR 3.6, uppmanas användaren att installera eller uppgradera AIR om de inte har den version som krävs. På enheter där program och miljö är integrerade, t.ex. iPhone, inträffar inte detta (eftersom den nödvändiga versionen paketeras med programmet från början).

Obs! (AIR 3.7 eller senare) Som standard förpackas ADT-miljön med Android-programmen.

Ange namnutrymmet med xmlns-attributet för rotelementet application . Följande namnutrymmen ska användas för mobilprogram (beroende på vilken mobilplattform du skriver för):

iOS 4+ and iPhone 3Gs+ or Android: 
                            <application xmlns="http://ns.adobe.com/air/application/2.7"> 
                            iOS only: 
                            <application xmlns="http://ns.adobe.com/air/application/2.0">
Obs! Stöd för iOS 3-enheter finns i Packager for iPhone SDK, som bygger på AIR 2.0 SDK. Information om hur du skapar AIR-program för iOS 3 finns i Skapa iPhone-program . I AIR 2.6 SDK (och senare) finns stöd för iOS 4, och senare, för iPhone 3Gs-, iPhone 4- och iPad-enheter.

Programidentitet

Det är flera inställningar som bör vara unika för varje program du publicerar. Bland dessa finns ID, namn och filnamn.

ID:n för Android-program

På Android konverteras ID:t till Android-paketnamnet genom att ”air.” läggs till som prefix i AIR-ID:t. Om AIR-ID:t är com.example.MyApp blir således Android-paketnamnet air.com.example.MyApp .

<id>com.example.MyApp</id> 
                                <name>My Application</name> 
                                <filename>MyApplication</filename>

Om ID:t inte är ett giltigt paketnamn på Android konverteras det dessutom till ett giltigt namn. Bindestreckstecken ändras till understreck och inledande siffror i ID-komponenter föregås av ett versalt A. ID:t 3-goats.1-boat ändras till exempel till paketnamnet air.A3_goats.A1_boat .

Obs! Det prefix som läggs till program-ID:t kan användas för att identifiera AIR-program i Android Market. Om du inte vill att ditt program ska identifieras som ett AIR-program på grund av prefixet måste du packa upp APK-filen, ändra program-ID:t och paketera om det enligt beskrivningen i Opt-out of AIR application analytics for Android .

ID:n för iOS-program

Ange ID:t för AIR-programmet så att det matchar det program-ID du skapade på Apple iOS Provisioning Portal.

Program-ID:n för iOS innehåller ett källpaket-ID följt av en källidentifierare. Källpaket-ID består av en teckensträng, som exempelvis 5RM86Z4DJM, som Apple tilldelar till program-ID:t. Källidentifieraren innehåller ett namn med omvänd DNS-notation som du väljer själv. Källidentifieraren kan sluta med en asterisk (*), vilket är ett jokertecken för program-ID:n. Om källidentifieraren slutar med jokertecknet kan du ersätta det med valfri giltig sträng.

Till exempel:

  • Om ditt Apple program-ID är 5RM86Z4DJM.com.example.helloWorld måste du använda com.example.helloWorld i programbeskrivningen.

  • Om ditt Apple program-ID är 96LPVWEASL.com.example.* (ett program-ID med jokertecken) kan du använda com.example.helloWorld , com.example.anotherApp eller något annat ID som börjar på com.example .

  • Slutligen, om ditt Apple program-ID bara är källpaket-ID:t och ett jokertecken, t.ex. 38JE93KJL.* , kan du använda valfritt program-ID i AIR.

När du anger program-ID:t tar du inte med delen med källpaket-ID:t i program-ID:t.

Programversion

I AIR 2.5 och senare anger du programversionen i elementet versionNumber . Du kan inte längre använda elementet version . När du anger ett värde för versionNumber måste du använda en sekvens med upp till tre siffror, åtskilda med punkter, t.ex. ”0.1.2”. Varje segment i versionsnumret kan ha upp till tre siffror. (Följaktligen är ”999.999.999” det största versionsnummer som tillåts.) Du behöver inte inkludera alla tre segment i versionsnumret; "1" och "1.0" är också giltiga versionsnummer.

Du kan också ange en etikett för versionen med elementet versionLabel . När du lägger till en versionsetikett visas den i stället för versionsnumret på bland annat programmets informationsskärm i Android. Du måste ange en versionsetikett för program som distribueras via Android Market. Om du inte anger ett versionLabel -värde i AIR-programbeskrivningen tilldelas versionNumber -värdet till Android-fältet för versionsetikett.

<!-- AIR 2.5 and later --> 
                            <versionNumber>1.23.7<versionNumber> 
                            <versionLabel>1.23 Beta 7</versionLabel>

På Android översätts versionNumber i AIR till Android-heltalet versionCode enligt följande formel: a*1000000 + b*1000 + c , där a, b och c är komponenterna i AIR-versionsnumret: a.b.c .

Huvudsaklig SWF-programfil

Ange den huvudsakliga SWF-programfilen i det underordnade content -elementet för initialWindow -elementet. När du har enheter i mobilprofilen som mål måste du använda en SWF-fil (HTML-baserade program stöds inte).

<initialWindow> 
                            <content>MyApplication.swf</content> 
                            </initialWindow>

Du måste inkludera filen i AIR-paketet (med ADT eller den integrerade utvecklingsmiljön). Det räcker inte att bara referera till namnet i programbeskrivningen för att filen automatiskt ska inkluderas i paketet.

Egenskaper för huvudskärmen

Flera underordnade element till elementet initialWindow styr det inledande utseendet och beteendet för huvudprogramskärmen.

  • aspectRatio – Anger om programmet initialt ska visas i formaten portrait (höjden större än bredden), landscape (höjden mindre än bredden) eller i any (scenen anpassas till alla orienteringar).

    <aspectRatio>landscape</aspectRatio>
  • autoOrients – Anger om scenens orientering ska ändras automatiskt när användaren roterar enheten eller utför andra åtgärder som påverkar orienteringen, som att öppna eller stänga ett utfällbart tangentbord. Om värdet är false , vilket är standard, ändras inte scenens orientering med enheten.

    <autoOrients>true</autoOrients>
  • depthAndStencil – Anger att djup- eller stencilbuffert ska användas. Dessa buffertar används oftast när du arbetar med 3D-innehåll.

    <depthAndStencil>true</depthAndStencil>
  • fullScreen – Anger om programmet får uppta hela enhetens skärm eller om det ska dela skärmen med vanliga systemkontroller, t.ex. ett systemstatusfält.

    <fullScreen>true</fullScreen>
  • renderMode – Anger om miljön ska återge programmet med grafikprocessorn (GPU) eller huvudprocessorn (CPU). I allmänhet ökar GPU-återgivning återgivningshastigheten, men en del funktioner, som vissa blandningslägen och PixelBender-filter, är inte tillgängliga i GPU-läge. Dessutom har olika enheter och olika enhetsdrivrutiner olika GPU-funktioner och begränsningar. Du bör alltid testa ditt program på så många olika enheter som möjligt, särskilt om du använder GPU-läge.

    Du kan ställa in återgivningsläget på gpu , cpu , direct eller auto . Standardvärdet är auto , som för tillfället har CPU-läge som reservalternativ.

    Obs! För att kunna anpassa GPU-accelerationen för Flash-innehållet med AIR för mobila plattformar, rekommenderar Adobe att du använder renderMode="direct" (dvs. Stage3D) i stället för renderMode="gpu". Adobe stöder och rekommenderar följande Stage3D-baserade ramverk officiellt: Starling (2D) och Away3D (3D). Mer information om Stage3D och Starling/Away3D finns på http://gaming.adobe.com/getstarted/ .
    <renderMode>direct</renderMode>
    Obs! Du kan inte använda renderMode=”direct” för program som körs i bakgrunden.

    Begränsningarna för GPU-läget är:

    • I Flex-ramverket finns inget stöd för GPU-återgivningsläget.

    • Filter stöds inte

    • PixelBender-blandningar och fyllningar stöds inte

    • Följande blandningslägen stöds inte: layer, alpha, erase, overlay, hardlight, lighten och darken

    • Du bör inte använda GPU-återgivningsläget i ett program som spelar upp video.

    • I GPU-återgivningsläget flyttas textfält inte på rätt sätt till synliga områden när det virtuella tangentbordet öppnas. För att garantera att textfältet syns när användaren skriver in text använder du egenskapen softKeyboardRect för scenen tillsammans med tangentbordshändelser för att flytta textfältet till det synliga området.

    • Om ett visningsobjekt inte kan återges av grafikprocessorn visas det inte alls. Om till exempel ett filter används på ett visningsobjekt visas det objektet inte alls.

    Obs! GPU-implementeringen för iOS i AIR 2.6+ skiljer sig avsevärt från implementeringen i den tidigare AIR 2.0-versionen. Du behöver ta hänsyn till andra optimeringsfaktorer.

Profiler som stöds

Du kan lägga till elementet supportedProfiles för att ange vilka enhetsprofiler ditt program har stöd för. Använd profilen mobileDevice för mobilenheter. När du kör programmet med ADL (Adobe Debug Launcher) används den första profilen i listan som aktiv profil. Du kan också använda flaggan -profile när du kör ADL för att välja en viss profil i listan med profiler som stöds. Om ditt program fungerar med alla profiler kan du utelämna elementet supportedProfiles helt. I så fall används skrivbordsprofilen som aktiv standardprofil i ADL.

Om du vill ange att ditt program har stöd för både mobil- och skrivbordsprofiler, och du vanligtvis vill testa programmet i mobilprofilen, lägger du till följande element:

<supportedProfiles>mobileDevice desktop</supportedProfiles>

Obligatoriska ANE-tillägg

Program som har stöd för profilen mobileDevice kan använda ANE-tillägg.

Deklarera alla ANE-tillägg som används i AIR-programmet i programbeskrivningen. Följande exempel visar syntaxen för att ange två nödvändiga ANE-tillägg:

<extensions> 
                            <extensionID>com.example.extendedFeature</extensionID> 
                            <extensionID>com.example.anotherFeature</extensionID> 
                            </extensions>

Elementet extensionID har samma värde som elementet id i tilläggsbeskrivningsfilen. Tilläggsbeskrivningsfilen är en XML-fil med namnet extension.xml. Den är paketerad i den ANE-fil som du får från ANE-utvecklaren.

Beteende för virtuella tangentbord

Ange elementet softKeyboardBehavior som none om du vill inaktivera beteendet med automatiskt panorering och storleksändring, som används av miljön för att se till att det textinmatningsfält som har fokus är synligt efter att det virtuella tangentbordet har öppnats. Om du inaktiverar det automatiska beteendet måste ditt program se till att textinmatningsområdet, eller annat relevant innehåll, fortfarande är synligt efter att tangentbordet har öppnats. Du kan använda egenskapen softKeyboardRect för scenen tillsammans med SoftKeyboardEvent för att identifiera när tangentbordet öppnas och avgöra vilket område det täcker.

Aktivera det automatiska beteendet genom att ange elementvärdet som pan :

<softKeyboardBehavior>pan</softKeyboardBehavior>
Eftersom pan är standardvärdet aktiveras det automatiska beteendet för tangentbordet också om du utelämnar elementet softKeyboardBehavior .
Obs! Om du även använder GPU-återgivning stöds inte panorering.