Ortak ayarlar

Çeşitli uygulama tanımlayıcısı ayarları tüm mobil aygıt uygulamaları için önemlidir.

Gerekli AIR çalışma zamanı sürümü

Uygulama tanımlayıcı dosyasının ad alanını kullanarak uygulamanızın gerektirdiği AIR çalışma zamanı sürümünü belirtin.

application öğesinde atanan ad alanı büyük bir bölümünde uygulamanızın hangi özellikleri kullandığını belirler. Örneğin, uygulamanız AIR 2.7 ad alanını kullanıyorsa ve kullanıcıda yüklü olan sürümü daha sonraki bir sürümse, uygulamanız AIR 2.7 davranışını görmeye devam eder (davranış sonraki sürümde değişmiş olsa bile). Yalnızca ad alanını değiştirdiğinizde ve bir güncelleme yayınladığınızda uygulamanız yeni davranışa ve özelliklere erişir. Güvenlik düzeltmeleri bu kuraldaki önemli istisnalardır.

AIR 3.6 ve önceki sürümlerinde Android gibi çalışma zamanını uygulamadan ayrı kullanan aygıtlarda, gerekli sürüm yoksa kullanıcıdan AIR'i yüklemesi veya yükseltmesi istenir. iPhone gibi çalışma zamanını birlikte kullanan aygıtlarda, bu durum ortaya çıkmaz (bunun sebebi gerekli olan sürümün baştan uygulama ile birlikte paketlenmiş olmasıdır).

Not: (AIR 3.7 ve sonrası) ADT, varsayılan olarak çalışma zamanını Android uygulamalarla paketler.

Ad alanını kök application öğesinin xmlns niteliğini kullanarak belirtin. Aşağıdaki ad alanları mobil uygulamalar için kullanılmalıdır (hedef aldığınız mobil platforma bağlı olarak):

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">
Not: iOS 3 cihazlarının desteği, AIR 2.0 SDK'ye bağlı olarak Packager for iPhone SDK'si tarafından sağlanır. iOS 3 için AIR uygulamaları oluşturmayla ilgili bilgi için bkz. iPhone uygulamaları oluşturma. AIR 2.6 SDK (ve üstü) iPhone 3Gs, iPhone 4 ve iPad cihazlarında iOS 4'ü destekler.

Uygulama kimliği

Yayınladığınız her uygulama için birkaç ayar benzersiz olmalıdır. Bunlar kimliği, adı ve dosya adını içerir.

Android uygulama kimlikleri

Android'de, kimlik Android paket adına “air” kelimesini AIR kimliğine önek olarak ekleyerek dönüştürülür. Bu nedenle, AIR kimliğiniz com.example.MyApp ise Android paket adınız air.com.example.MyApp şeklindedir.

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

Ek olarak, kimlik Android işletim sisteminde geçerli bir paket adı değilse geçerli bir ada dönüştürülür. Tire karakterleri alt çizgi olarak değiştirilir ve herhangi bir kimlik bileşenindeki baştaki basamakların önüne büyük “A” getirilir. Örneğin, 3-goats.1-boat kimliği air.A3_goats.A1_boat paket adına dönüştürülür.

Not: Uygulama kimliğine eklenen önekler Android Market'ta AIR uygulamalarını tanımlamak için kullanılabilir. Uygulamanızın önek nedeniyle bir AIR uygulaması olarak tanımlanmasını istemiyorsanız, APK dosyasının paketini açmanız, uygulama kimliğini değiştirmeniz ve Android için AIR uygulaması analitiğini gerçekleştirmeme bölümünde açıklandığı şekilde yeniden paketlemeniz gerekir.

iOS uygulama kimlikleri

AIR uygulama kimliğini Apple iOS Provisioning Portal'da oluşturduğunuz uygulama kimliğiyle eşleşecek şekilde ayarlayın.

iOS Uygulama Kimlikleri, paket tanımlayıcısı tarafından takip edilen bir paket çekirdek kimliği içerir. Paket çekirdek kimliği, Apple'ın Uygulama Kimliğine atadığı, 5RM86Z4DJM gibi bir karakter dizesidir. Paket tanımlayıcısı sizin seçtiğiniz ters bir etki alanı stili adı içerir. Paket tanımlayıcısı bir joker uygulama kimliğini gösteren yıldız karakteri (*) ile bitebilir. Paket tanımlayıcısı joker karakter ile bitiyorsa, o joker karakteri herhangi bir geçerli dizeyle değiştirebilirsiniz.

Örneğin:

  • Apple uygulama kimliğiniz 5RM86Z4DJM.com.example.helloWorld ise, uygulama tanımlayıcısında com.example.helloWorld kullanmanız gerekir.

  • Apple uygulama kimliğiniz 96LPVWEASL.com.example.* (joker uygulama kimliği) ise, com.example.helloWorld veya com.example.anotherApp ya da com.example ile başlayan başka bir kimlik kullanabilirsiniz.

  • Son olarak, Apple uygulama kimliğiniz yalnızca 38JE93KJL.* paket çekirdek kimliği ve jokerse AIR'de herhangi bir uygulama kimliğini kullanabilirsiniz.

Uygulama kimliği belirtilirken, uygulama kimliğinin paket çekirdeği kimliği kısmını dahil etmeyin.

Uygulama sürümü

AIR 2.5 ve üstünde, uygulama sürümünü versionNumber öğesinde belirtin. version öğesi artık kullanılamaz. versionNumber öğesi için bir değer belirtirken, noktalarla ayrılmış üç numaraya kadar sayı içerebilen, şunun gibi bir sıralama kullanmalısınız: “0.1.2”. Sürüm numarasının her bir parçası en fazla üç basamak içerebilir. (Başka bir deyişle, "999.999.999" izin verilen en büyük sürüm sayısıdır.) Sayıda tüm parçaları içermeniz gerekmez; “1” ve “1.0” örnekleri de geçerli sayılardır.

Ayrıca versionLabel öğesini kullanan sürüm için de bir etiket belirtebilirsiniz. Bir sürüm etiketi eklediğinizde, Android Uygulama bilgisi ekranı gibi yerlerde sürüm numarasının yerine görüntülenir. Android Market kullanılarak dağıtılan uygulamalar için bir sürüm etiketi belirtilmelidir. AIR uygulama tanımlayıcısında bir versionLabel değeri belirtmezseniz, versionNumber değeri Android sürüm etiketi alanına atanır.

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

Android'de, AIR versionNumber şu formül kullanılarak Android tamsayısı versionCode öğesine çevrilir: a*1000000 + b*1000 + c. Burada a, b ve c AIR sürüm numarasının bileşenleridir: a.b.c.

Ana uygulama SWF'si

initialWindow öğesinin content alt öğesinde ana uygulama SWF dosyasını belirtin. Mobil profilde aygıtları hedef aldığınızda, bir SWF dosyası kullanmanız gerekir (HTML tabanlı uygulamalar desteklenmez).

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

Dosyayı AIR paketine dahil etmeniz gerekir (ADT veya IDE'nizi kullanarak) Uygulama tanımlayıcısında ada başvurmak dosyanın otomatik olarak pakete dahil olmasını sağlamaz.

Ana ekran özellikleri

Ana uygulama ekranının ilk görünümünü ve davranışını initialWindow öğesinin çeşitli alt öğeleri denetler.

  • aspectRatio — Uygulamanın başlangıçta dikey biçimde mi (yüksek genişlikten fazla), yatay biçimde mi (yükseklik genişlikten az), yoksa herhangi bir biçimde mi (sahne alanının yönü otomatik olarak tüm yönlendirmelere ayarlanır) görüntülenmesi gerektiğini belirtir.

    <aspectRatio>landscape</aspectRatio>
  • autoOrients — Kullanıcı aygıtı döndürdüğünde sahne alanının otomatik olarak yönlendirmeyi mi değiştireceğini yoksa kayan klavyeyi açma veya kapatma gibi farklı bir yönlendirmeyle ilişkili bir hareket mi gerçekleştireceğini belirtir. Varsayılan olan false olarak ayarlıysa sahne alanı aygıtla birlikte yönlendirmeyi değiştirmez.

    <autoOrients>true</autoOrients>
  • depthAndStencil — Derinlik veya şablon arabelleğini kullanmayı belirtir. Genelde 3B içeriği ile çalışırken bu arabellekleri kullanırsınız.

    <depthAndStencil>true</depthAndStencil>
  • fullScreen — Aygıtın tam aygıt görünümüne mi geçmesi gerektiğini yoksa ekranı sistem durum çubuğu gibi bir normal işletim sistemi kromuyla paylaşması mı gerektiğini belirtir.

    <fullScreen>true</fullScreen>
  • renderMode — Çalışma zamanının uygulamayı grafik işlem birimiyle mi (GPU) yoksa ana, merkezi işlem birimiyle mi (CPU) oluşturması gerektiğini belirtir. Genel olarak, GPU ile oluşturma, oluşturma hızını artırır, ancak belirli harmanlama modları ve PixelBender filtreleri gibi bazı özellikler GPU modunda mevcut değildir. Ek olarak, farklı aygıtlar ve farklı aygıt sürücüleri çeşitli GPU özelliklerine ve sınırlamalarına sahiptir. Özellikle GPU modunu kullanırken her zaman uygulamanızı mümkün olan en geniş aygıt çeşitliliğinde test etmelisiniz.

    Görüntü oluşturma modunu gpu, cpu, doğrudan veya otomatik olarak ayarlayabilirsiniz. Varsayılan mod şu anda cpu moduna giden auto değeridir.

    Not: Mobil platformlar için AIR ile Flash içeriğinin GPU hızlandırmasını desteklemek üzere Adobe, renderMode="gpu" yerine renderMode="direct" (yani Stage3D) kullanmanızı önerir. Adobe resmi olarak şu Stage3D tabanlı çerçeveleri desteklemekte ve önermektedir: Starling (2D) ve Away3D (3D). Stage3D ve Starling/Away3D hakkında daha fazla ayrıntı için bkz. http://gaming.adobe.com/getstarted/.
    <renderMode>direct</renderMode>
    Not: Arka planda çalışan uygulamalar için renderMode=”direct” öğesini kullanamazsınız.

    GPU modunun sınırlamaları şunlardır:

    • Flex çerçevesi GPU görüntü oluşturma modunu desteklemez.

    • Filtreler desteklenmez

    • PixelBender harmanlamaları ve filtreleri desteklenmez

    • Şu harmanlama modları desteklenmez: katman, alfa, silme, kaplama, sert ışık, açıklaştırma ve koyulaştırma

    • Video oynatan bir uygulamada GPU görüntüleme modunun kullanılması önerilmez.

    • GPU görüntü oluşturma modunda, sanal klavye açıldığında metin alanları düzgün bir şekilde görünür bir konuma taşınmaz. Kullanıcı metin girerken metin alanının görünür olduğundan emin olmak için metin alanını görünür bir alana taşımak üzere sahne alanının softKeyboardRect özelliğini ve yazılım klavyesi olaylarını kullanın.

    • Bir görüntüleme nesnesi GPU ile oluşturulamıyorsa hiç görüntülenmez. Örneğin, görüntüleme nesnesine bir filtre uygulanırsa nesne gösterilmez.

    Not: AIR 2.6 ve üstündeki iOS için GPU uygulama işlemi önceki AIR 2.0 sürümünde kullanılan uygulamadan çok farklıdır. Farklı en iyileştirme noktaları geçerlidir.

Desteklenen profiller

Uygulamanızın hangi aygıt profillerini desteklediğini belirtmek için supportedProfiles öğesini kullanabilirsiniz. Mobil aygıtlar için mobileDevice profilini kullanın. Uygulamanızı Adobe Hata Ayıklama Başlatıcısı (ADL) ile çalıştırdığınızda, ADL etkin profil olarak listedeki ilk profili kullanır. Ayrıca desteklenenler listesinde belirli bir profili seçmek için ADL'yi çalıştırırken -profile bayrağını da kullanabilirsiniz. Uygulamanız tüm profillerde çalışıyorsa supportedProfiles öğesini tamamen dışarıda bırakabilirsiniz. ADL bu durumda varsayılan etkin profil olarak masaüstü profilini kullanır.

Uygulamanızın hem mobil aygıtı hem de masaüstü profillerini desteklediğini belirtmek ve normal olarak uygulamayı mobil profilde test etmek istediğinizde aşağıdaki öğeyi ekleyin:

<supportedProfiles>mobileDevice desktop</supportedProfiles>

Gerekli yerel uzantılar

mobileDevice profilini destekleyen uygulamalar yerel uzantıları kullanabilir.

AIR uygulamasının uygulama tanımlayıcısında kullandığı tüm yerel uzantıları bildirin. Aşağıdaki örnek, gerekli iki yerel uzantıyı belirtmeye yönelik sözdizimini gösterir:

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

extensionID öğesi uzantı tanımlayıcı dosyasındaki id öğesiyle aynı değere sahiptir. Uzantı tanımlayıcı dosyası extension.xml adlı bir XML dosyasıdır. Bu sözdizimi yerel uzantı geliştiricisinden aldığınız ANE dosyasında paketlenir.

Sanal klavye davranışı

Çalışma zamanının, sanal klavye açıldıktan sonra odaklanılmış metin girişi alanının görünümde olduğundan emin olmak için kullandığı otomatik kaydırma ve yeniden boyutlandırma davranışını devre dışı bırakmak için softKeyboardBehavior öğesini none olarak ayarlayın. Otomatik davranışı devre dışı bırakırsanız, klavye kaldırıldıktan sonra metin girişi alanının veya diğer ilgili içeriğin görünür olduğundan emin olmak uygulamanızın sorumluluğundadır. Klavyenin ne zaman açıldığını ve engellediği alanı belirlemek için sahne alanının softKeyboardRect özelliğini SoftKeyboardEvent öğesi ile birlikte kullanabilirsiniz.

Otomatik davranışı etkinleştirmek için öğe değerini pan olarak ayarlayın:

<softKeyboardBehavior>pan</softKeyboardBehavior>
pan varsayılan değer olduğundan, softKeyboardBehavior öğesini çıkarmak da otomatik klavye davranışını etkinleştirir.
Not: GPU görüntü oluşturmayı da kullandığınızda kaydırma davranışı desteklenmez.