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