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