- Bağlantıyı kesme sırasında Netstream aralıklı olarak çöküyor (3193417)
- AIR Android üzerinde canlı ses akışını durdurmada sorun (3188340)
- drawWithQuality(), Android aygıtlarında filtreleri düzgün bir şekilde oluşturmuyor (3224928)
- Clipboard.generalClipboard.setData, iOS üzerinde çalışmıyor (3226045)
- Bazı FLV video içerikleri Windows'ta Flash Player içinde oynatılmıyor (3187569)
- Windows'ta Firefox içindeki Flash Player tabanlı uygulamalarda yalnızca sağ taraftaki ses oynatılıyor (3289279)
- Fare Kilitleme özelliği, Tam Ekran Etkileşimli moda girildikten sonra devre dışı oluyor (3174344)
- [iOS5] Gömülü fontların bulunduğu TextField öğeleri mobil aygıtlarda bozuluyor (3161138)
- Bazı canlı akış içeriklerinin ilk karesi donuyor (3207896)
- 50X50, 100X100, 1024X1024 için uygulama simgeleri artık Uygulama Tanımlayıcısındaki iOS uygulamaları için destekleniyor (3217144)
- Yerel uzantı kullanan uygulamalar, şunun gibi belirli harici kitaplıklar kullanılırken iOS üzerinde zaman zaman çöküyor: Libxml2.dylib (3226974)
- 768 x 1004 veya 1024 x 748 çözünürlüğünde bir başlatma görüntüsü tam ekran bir iPad uygulamasında paketlendiğinde sapma gözleniyor. (3230762). Başlatma görüntülerinin kullanılmasına ilişkin yeni yönergelere buradan ulaşılabilir
- iOS üzerindeki H264 videoları, StageVideo nesnesine eklenmiş iki NetStream öğesi arasında geçiş yapılırken çöküyor (3206438)
- CameraRoll.browseForImage() öğesindeki sorun, beyaz renkle sonuçlanan saydamlık kaybına neden oluyor (3291312)
- ActionScript Worker (İşçi) öğeleri (Flash Player)
- Sanal alan Bridge desteği (Flash Player)
- Lisanslama desteği: Oyunlar için Flash Player Premium Özellikleri (Flash Player)
- Artırılmış GPU erişimi için Stage3D "sınırlandırılmış" profili (Flash Player ve AIR)
- ByteArray için LZMA desteği (Flash Player ve AIR)
- StageVideo attachCamera/Camera geliştirmeleri (Flash Player ve AIR)
- Stage3D için alfa desteği bulunan sıkıştırılmış doku (Flash Player ve AIR)
- DXT Kodlama (Flash Player ve AIR)
- AIR için kullanımdan kaldırılan Carbon API'leri (AIR)
- ADT kullanarak doğrudan AIR dağıtımı (AIR)
- iOS için Push Bildirimleri (AIR)
- Ortam AudioPlaybackMode (AIR)
- iOS için Yerel Uzantılarda İstisna Desteği (AIR)
- ADT'de, eklenen mobil aygıtların listelenmesine ilişkin yeni seçenek (AIR)
- iOS üzerindeki ANE sembol çakışmalarının çözülmesine ilişkin ADT seçeneği (AIR)
| Teslim Edilebilir Öğe | Kullanıma Sunulan Sürüm |
| Flash Player Masaüstü (Windows® /Mac) | 11.4.402.265 |
| AIR (Windows® , Mac, Mobil) | 3.4.0.2540 |
| AIR SDK | 3.4.0.2540 |
- Matrix3D öğesine ait transformVector(), w bileşenini yanlış şekilde dönüştürüyor (3190677)
- [iOS] iOS 4.3 üzerinde, Alfa içeren Sıkıştırılmış Cubemap öğeleri düzgün şekilde oluşturulmuyor (3282166)
- Yüksek ascii karakterlerinin AIR Masaüstü Uygulamaları için düzgün şekilde çalışmadığı navigateToURL sorunları (3161093)
- [iOS] Bazı içeriklerde AIR 3.4 ile bir .ipa dosyasının yüklenmesi şu Yükleme Hatası ile zaman zaman başarısız oluyor: PackageExtractionFailed (3220974)
- iOS için bir uygulama paketlenirken –hideAneLibSymbols bayrağı kullanıldığında, ANE öğeleri platform.xml dosyasında yalnızca çerçeve ve kitaplık bağlantısı seçenekleri ve -ios_version_min gibi seçenekler kullanılmalıdır
- Coğrafi konum izni iletişim kutusu iOS 6 Beta sürümünde görünmüyor (3291688)
- AIR 3.4 SDK ve iOS 6 Beta SDK ile paketlenen AIR uygulamaları iPod ve iPhone'da Baş aşağı özelliği içi AutoOrients öğesini desteklemez (3286288)
- AIR 3.4 SDK ve iOS 6 Beta SDK ile paketlenen hiçbir uygulama iOS 5.1 aygıtında aspectRatio etiketini desteklemez (3286320)
| Güvenlik Bülteni | Etkilenen Teslim Edilebilir Öğeler |
| APSB12-19 | Windows® ve Mac için Flash Player Masaüstü |
| Flash Player AndroidTM |
ActionScript Worker (İşçi) öğeleri
- Worker (İşçi) öğelerinin ActionScript ve Flash Çalışma Zamanı'nda kullanıma sunulmasıyla Flash Geliştiricileri artık "Arka Plan Worker (İşçi) Öğelerindeki" yüksek gecikmeli işlemler ve uzun süren hesaplamalar gibi belirli görevleri gerçekleştirebilir. Bu Arka Plan Worker (İşçi) Öğeleri daha fazla makine kaynağından yararlanmak ve kullanıcı arabirimi donmaları gibi durumlardan kaçınmak için eş zamanlı olarak çalışır.
- Not: ActionScript Worker (İşçi) öğelerinden tam olarak yararlanmak ve worker (işçi) öğelerinde hata ayıklayabilmek için Flash Builder'ın bir sonraki sürümü gereklidir. Flash Builder'ın bu bir sonraki sürümü, Ağustos döneminde ücretsiz beta sürümü aracılığıyla kullanılabilir hale gelecektir.
- Not: Paylaşılan bellek desteği (ByteArray.shareable), yakında kullanıma sunulacak Flash Player sürümüne taşınmıştır.
Sanal alan Bridge desteği
- Sanal alan bağlantısı, belirli ActionScript nesnelerine veya işlevlerine SWF'den SWF'ye etki alanları arası iletişimin uygulanmasına olanak tanır. Bu özellik AIR'de zaten kullanılabilir durumdadır ve bu sürümde Flash Player'a taşınacaktır.
Lisanslama desteği: Oyunlar için Flash Player Premium Özellikleri (Flash Player)
- Premium Özelliklerin oyun için kullanıma sunulmasıyla artık ActionScript harici iş akışlarının Flash Player'ı hedeflemesine olanak tanıyoruz. Bu sürüm, Flash Player'da XC API'lerinin (etki alanı belleği API'sinin ve Stage 3D donanım hızlandırma API'sinin birleştirilmiş kullanımı) Premium Özellikler lisans denetimini destekler. Bu API'ler, Unity ve Adobe’nin Projesi "Alchemy" C/C++ derleyici gibi üçüncü taraf araçlar tarafından kullanılır. Daha fazla bilgi için www.adobe.com/go/fpl_tr adresini ziyaret edin.
Artırılmış GPU erişimi için Stage3D "sınırlandırılmış" profili
- Flash Player, donanım hızlandırma kullanımına video kartınızın sürücüsünün tarihine göre geçit sağlar. Önceki sürümlerde 1 Ocak 2008 tarihinden eski sürücülere geçit desteği sağladık. Bu sürümde 1 Ocak 2006 tarihinden eski sürücüler için uygulanacak geçidi değiştiriyoruz. wmode=direct (veya AIR için renderMode=direct) kullanan içerik donanımı; mümkün olduğunda, 1 Ocak 2006 tarihinden yeni grafik kartı sürücüsülerinde hızlandırılmalıdır. Bu, Stage3D ve [StageVideo|StageVideo] API'leri için geçerlidir. Buna ek olarak Stage3D için "sınırlandırılmış" profil olarak adlandırılan yeni bir profil ekledik. Bu profil, içeriğinizin daha önce kara listeye alınan Intel® GMA yonga kümelerinde donanım hızlandırma işlemini çalıştırmasına olanak tanır. Bu yeni profille ve ondan nasıl yararlanacağınızla ilgili daha fazla bilgi için aşağıya bakın.
ByteArray için LZMA desteği
- ByteArray öğesinin zlib sıkıştırmasına ek olarak bir ByteArray içindeki verileri ByteArray.compress() ve ByteArray.uncompress() yoluyla sıkıştırmak için LZMA'ya dayalı bir ek sıkıştırma türü sunuyoruz.
Stage3D için alfa desteği bulunan sıkıştırılmış doku (Flash Player and AIR)
- Sıkıştırılmış dokular için artık desteklenen saydam görüntüler (ATF dosya formatı).
StageVideo attachCamera/Kamera geliştirmeleri
- Bu özellik StageVideo nesnelerinde; Actionscript kodunun, görüntü oluşturma işlemi için rasterleştirici yerine GPU'dan yararlanarak video akışını kameradan bir StageVideo nesnesine yönlendirmesine olanak tanıyan yeni bir yöntem sunar. Bu da, GPU hızlandırma kullanılabilir durumda olduğunda kameradan video akışını işlerken oynatıcının daha hızlı olmasını sağlar.
DXT Kodlama
- Bu özellik, sıkıştırılmamış dokuların çalışma zamanı sırasında DXT formatına kodlanmasına olanak tanır; böylelikle doku, sıkıştırılmış bir DXT dokusu olarak GPU'ya yüklenebilir.
Hem Flash Player 11.4 hem de AIR 3.4 için masaüstü bilgisayarda kullanılabilir
AIR için kullanımdan kaldırılan Carbon API'leri
- Mac OS X 10.8 sürümünden başlayarak, Carbon API'leri artık Apple tarafından desteklenmeyecektir. Bu nedenle bu API'ler ve kullanımdan kaldırılan diğer kod, Mac OSX 10.8 ile denklik için bu sürümde AIR'den kaldırılıyor.
- Bu yeni özellik, geliştiricinin iTunes veya XCode'u kullanmak zorunda kalmadan bir AIR uygulamasını iOS aygıtlarında bir dağıtmasına olanak tanır. Bu özelliğin kullanılabilmesi için kullanıcının makinesine iTunes 10.5.0 veya üzeri bir sürümünün yüklenmesi gerektiğini unutmayın.
iOS Push Bildirimleri
- Bu özellik bildirim oluşturmak için APNS (Apple Push Notification Service) ve bir sağlayıcı (APN ile iletişim kuracak üçüncü taraf sunucu) kullanır. Yeni bir paket olarak flash.notifications kullanıma sunuldu. Push bildirimlerinin teslimi tamamen Apple Push Notification Service'e bağlıdır ve APNS, push bildirimlerinin teslimini garanti etmez. Ayrıca Apple, bir uygulamanın kullanıma sunulduğu her durumda push bildirimlere abone olunmasını önerir. İstemci uygulamasının push bildirimlere abone olduğu her durumda APNS, istemci uygulamasına bir işaret kimliği sağlar ve bu işaret kimliği, uzaktan bildirimleri gönderecek olan üçüncü taraf sunucusuna veya sağlayıcıya gönderilmelidir.
Ortam AudioPlaybackMode
- AIR 3.4 ile, kullanıcılar bir AudioPlaybackMode seçeneğine daha sahip olur (örn. SES ve MEDYA dışında ORTAM). Bu yeni AudioPlaybackMode; kullanıcıların, uygulamaları için iphone'larda /ipad'lerde mevcut "donanım sesi kapatma geçişi" özelliğini kullanmayı zorunlu kılmasına olanak tanır. Bu Ortam yürütme modu için en iyi kullanım örneği, uygulamanın kullanıcısının oyun sesini kapatma seçeneğine sahip olacağı ve arka planda diğer uygulamaların müziğini dinleyebileceği oyun uygulamalarındadır. Ortam modunda ses, donanım sesi kapatma geçişine yalnızca iOS aygıtlarında uyar. AndroidTM aygıtlarında Ortam Modu Medya moduyla aynı şekilde olacaktır.
iOS için Yerel Uzantılarda İstisna Desteği
- iOS için bir yerel uzantı artık hem C++ ve Objective-C istisnalarını kullanabilir. Kendi kodunda atılan tüm istisnaları yakalayıp yakalamayacağını uzantı belirler. Çalışma zamanı, uzantılar tarafından atılan istisnaları yakalamaz.
ADT'nin, eklenen mobil aygıtları listeleme seçeneği
- Eklenen iOS/AndroidTM aygıtlarını destekleyen yeni bir '-devices' seçeneği ADT'ye eklenmiştir. Kullanıcılar, AndroidTM aygıtlarını listelemek için adb'yi kullanmak ve iOS aygıtlarını listelemek için idb'yi kullanmak yerine bu seçenekten yararlanabilir. Bu özelliğin kullanılabilmesi için kullanıcının makinesine iTunes 10.5.0 veya üzeri bir sürümünün yüklenmesi gerektiğini unutmayın.
iOS üzerindeki ANE sembol çakışmalarının çözülmesine ilişkin ADT seçeneği
- Uygulama geliştiricileri çeşitli kaynaklardan elde edilen birden fazla yerel uzantıyı kullanabildiğinden 2 ANE'deki ortak bir sembol adı; nesne dosyalarında, çoğaltılan bir sembol veya çalışma süresinde bir çökme bulunduğunu belirten bir paketleme hatası verebilir. Bu sorunun çözülmesi için, uygulamanın paketlenmesi sırasında belirtilebilen yeni bir ADT seçeneği -hideAneLibSymbols kullanıma sunulmuştur. – yes veya no değerlerini alabilir; yes, her bir ANE'nin kitaplık sembollerini diğer ANE'lerden gizler.
Worker (İşçi) öğelerine başlarken
Worker (işçi) öğeleri özelliğini kullanmaya başlayabilmek için flashplayer11-4_p1_ex_concurrency.zip dosyasındaki örneklere bakın.
Not
Aşağıda, MacOS ve Windows® üzerinde worker (işçi) başına ölçülen bellek alanı verilmiştir:
Worker (işçi) sayıları |
Mac BookPro |
PC |
Lenovo T61 dizüstü bilgisayar |
0 |
10 |
4,78 |
4,39 |
1 |
15,75 |
9,33 |
8,59 |
2 |
21,47 |
13,8 |
12,77 |
3 |
27,28 |
18,35 |
16,39 |
4 |
33 |
22,8 |
20,67 |
5 |
38,81 |
26,39 |
24,58 |
6 |
44,25 |
31,1 |
28,8 |
7 |
50 |
35,62 |
32,67 |
8 |
55,89 |
40,16 |
35,75 |
9 |
61,7 |
44,73 |
39,6 |
10 |
67,47 |
48,83 |
43,9 |
Kod, eski olmayan bir worker (işçi) bağlamı içinde çalışıyorsa (örn. arka plan) flash çalışma zamanı API'si davranışı, temel iş parçacığını çalıştıran Actionscript kodunun davranışından farklı olur. Aşağıdaki API'ler bir arka plan worker (işçi) içinden kullanıldığında farklı davranış gösterir.
İşlevsiz API'ler
Aşağıdaki API'ler bir arka plan worker (işçi) içinden kullanılamaz. Bunlardan herhangi birinin örneğini oluşturmayı denediğinizde, "Bu özellik bu bağlam içinden kullanılamaz" mesajını içeren bir IllegalOperationError hatası atılır; errorID, geliştiricilerin bu değeri kapatmasını sağlayarak tüm örneklerde aynı olur.
- flash.desktop.Clipboard // constructor öğesinin çağrılması atar; generalClipboard öğesinin çağrılması null değerini döndürür
- flash.desktop.NativeDragManager // isSupported, false değerini döndürür
- flash.desktop.Updater // isSupported, false değerini döndürür
- flash.display.NativeMenu // isSupported, false değerini döndürür
- flash.display.NativeWindow // isSupported, false değerini döndürür
- flash.display.ToastWindow // stage.window hiçbir zaman tanımlanmayacağından örneğe erişilemez
- flash.display.Window // stage.window hiçbir zaman tanımlanmayacağından örneğe erişilemez
- flash.external.ExtensionContext // createExtensionContext() her zaman null değerini döndürür veya bir hata atar
- flash.external.ExternalInterface // available, false değerini döndürür
- flash.html.* // HTMLLoader.isSupported, false değerini döndürür
- flash.media.CameraRoll // supportsAddBitmapData ve supportsBrowseForImage, false değerini döndürür
- flash.media.CameraUI // isSupported, false değerini döndürür
- flash.media.StageWebView // isSupported, false değerini döndürür
- flash.net.drm.* // DRMManager.isSupported, false değerini döndürür
- flash.printing.* // PrintJob.isSupported, false değerini döndürür
- flash.security.XMLSignatureValidator // isSupported, false değerini döndürür
- flash.system.IME // isSupported, false değerini döndürür
- flash.system.SystemUpdater // constructor öğesinin çağrılması atar
- flash.text.StageText // constructor öğesinin çağrılması atar
- flash.ui.ContextMenu // isSupported, false değerini döndürür
- flash.ui.GameInput // isSupported, false değerini döndürür
- flash.ui.Mouse // tüm yöntemler no-op'tur; 'cursor' özelliğinin ayarlanması no-op'tur
API'lerdeki davranışsal değişiklikler
Aşağıdaki API'lerin, bir arka plan worker (işçi) öğesinden çalıştırılırken davranışları değişir. Bazı çağrı yöntemleri IllegalOperationError hatası atar veya belgelenen API ile tutarlı olduğu şekilde eşdeğerdir; bazıları ise no-op'tur. Döndürülen değerler, belgeyle mümkün olduğu kadar tutarlı olmalıdır. Örneğin, bir yöntem normal koşullarda; içindeki öğelerle bir Array öğesini döndürürse bir arka plan worker (işçi) öğesinden çalıştırıldığında boş bir Array döndürür.
- flash.accessibility.Accessibilty
- active // her zaman false değerini döndürür
- updateProperties(); // no-op
- flash.desktop.NativeApplication** özellikleri
·
- flash.display.Stage
- allowsFullScreen // her zaman false değerini döndürür
- stage3Ds // her zaman boş Vector öğesini döndürür
- stageVideos // her zaman boş Vector öğesini döndürür
- supportsOrientationChange // her zaman false değerini döndürür
- wmodeGPU // her zaman false değerini döndürür
- flash.filesystem.File
- browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // no-op
- flash.net.FileReference** browse(), download(), save() // no-op; her zaman false değerini döndürür
- flash.net.FileReferenceList** browse() // no-op; her zaman false değerini döndürür
- flash.system.System
- ime // her zaman null değerini döndürür
- exit() // bu arka plan worker (işçi) öğesinin durmasını ve kapatılmasını zorunlu kılar
- setClipboard() // no-op
-
- yöntemler
- activate(), clear(), copy(), cut(), paste(), selectAll() // no-op
- exit() // bu arka plan worker (işçi) öğesinin durmasını ve kapatılmasını zorunlu kılar
- olaylar
- Yalnızca exiting olayı desteklenir; bu olay, worker (işçi) kapatılırken gönderilir (yaşam döngüsü yöntemi çağrılarıyla veya “main” worker (işçi) kapatılırken, örneğin, çalışma zamanından çıkıldığında gerçekleşir; bu işlem arka plan worker (işçi) öğesinden iptal edilemez)
-
- supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // tümü false değerini döndürür
- activeWindow // null değerini döndürür
- autoExit // ayarlayıcı no-op'tur
- idleThreshold // ayarlayıcı no-op'tur
- openedWindows // boş bir Array [] döndürür
- systemIdleMode // ayarlayıcı no-op'tur
- yöntemler
Artırılmış GPU Erişimi - Sınırlandırılmış Stage3D profili
Context3D öğesinde "profile" adında yeni bir parametre kullanıma sunulmuştur. Bu parametre Stage3D.requestContext3D() işlevine sağlanır ve ona, daha önceki sürümlerde varolan tipik Context3D öğesini döndürecek iki Context3DProfile.BASELINE ("baseline") değerinden birini veya daha önce desteklenmeyen GPU'larda donanım hızlandırma ile çalışma özelliğine sahip yeni bir Context3D öğesini döndürecek Context3DProfile.BASELINE_CONSTRAINED ("baselineConstrained") değerini verebilirsiniz. Sınırlandırılmış profil, içerik yazarlarının Windows® üzerinde Intel® GMA 900/950 gibi grafik kartlarını kullanarak daha eski sistemleri hedefleyen Stage3D içeriği oluşturmasına olanak tanır. Sınırlandırılmış profile sahip, daha düşük kare hızına sahip donanıma yönelik dengeleme; Stage3D özelliklerinin, içeriğin donanımla düzgün çalışacağından emin olunması için sınırlanacak olmasıdır. GMA 900/950 gibi kartlar, Sınırlandırılmış profildeyken Stage3D üzerinde yalnızca aşağıdaki sınırlamaları zorunlu kılan piksel/tepe gölgelendirici 2.0 sürümünü destekler:
- Gölgelendirici başına 64 ALU ve 32 doku talimatıyla sınırlıdır.
- Gölgelendirici başına yalnızca 4 doku okuma talimatı.
- Gölgelendirici başına daha az miktarda sabit/değişken/şablon ile sınırlıdır.
- Koşul kaydı için destek yoktur. Bu, sln/sge/seq/sne öğelerini etkiler ve ps_2_0 ile kullanılabilen mov/cmp bileşeni talimatlarıyla değiştirilmelidir (bu, ps_2_x ile karşılaştırıldığında daha fazla talimat yuvasını kullanma maliyetinde başlığın altında gerçekleştirilir).
- Context3D arabelleği her zaman sahne alanının sınırları içinde olmalıdır.
- Bir Flash Player örneğinin içinde, Sınırlandırılmış profilde çalışan yalnızca bir Context3D örneğine izin verilir.
- Mobil ortamda olduğu gibi; sınırlandırılmış Stage3D içeriği görünür durumdayken, Context3D.present() çağrılmadığı sürece klasik Flash Display List öğeleri güncellenmez.
'Profile', requestContext3D yönteminin isteğe bağlı ikinci parametresidir. Geliştiriciler; aşağıdaki api'nin gösterdiği gibi, sınırlandırılmış modda bir Context3D almak için "baselineConstained" profili isteğinde bulunabilir: function requestContext3D ( context3DRenderMode : String = "auto", profile : String = "baseline" ) : void;
Örnek:
stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler);
stage.stage3Ds[0].requestContext3D(Context3DRenderMode.AUTO, Context3DProfile.BASELINE_CONSTRAINED);
ADT kullanarak doğrudan AIR dağıtımı
Kurulum:
Bir aygıta IPA yüklemek için aşağıdaki komutu kullanın:
adt -installApp -platform ios -device <deviceID> -package <ipa-file>
Kaldırma:
Bir aygıttan bir IPA'yı kaldırmak için aşağıdaki komutu kullanın:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id>
Bağlı aygıtınızın <deviceID> öğesi, aşağıdaki komutla listelenen ‘Handle’ değeri olmalıdır:
@SDKLocation/bin/adt –devices –platform ios
<app-id>, uygulama açıklayıcı dosyasında (app.xml) <id> etiketinin içinde belirtilir. Projenizi Flash Builder kullanarak oluşturuyorsanız proje, varsayılan olarak uygulama adınızla aynı olur.
Masaüstü bilgisayara yalnızca bir aygıt bağlıysa '-device <deviceID> ' argümanını çıkardığınızda uygulama bağlı aygıta yüklenir/bağlı aygıttan kaldırılır.
adt -installApp -platform ios -package <ipa-file>
iOS Push Bildirimleri
1) App-xml içindeki uygulama kimliği (id etiketi), Push bildirimleriyle etkinleştirilen mobil temel hazırlık sertifikasının uygulama kimliği ile aynı olmalıdır.
2) Uygulama açıklamanıza aps-environment adlandırmasını ekleyin:
<iPhone> <Entitlements> <![CDATA[ <key>get-task-allow</key> <true/> <key>aps-environment</key> <string>development</string> <key>keychain-access-groups</key> <array> <string>KEYCHAIN_ACCESS_GROUP</string> </array> ]]> </Entitlements> </iPhone>
Uygulamayı, Push Bildirimleri etkin şekilde Uygulama Mağazası'na göndermek için aps-environment öğesini production olarak belirlemeniz gerekir. Geliştirici, Push bildirimleri etkin şekilde temel hazırlık profilini kullanmalıdır. Aşağıdaki komutu kullanarak, imzalanan uygulamanın Entitlements öğesini tekrar kontrol edin.
codesign -d --entitlements - <YourAppName>.app
3) Push bildirimi desteğini etkinleştirmek için uygulamaya yeni eklenen flash.notification sınıfını kullanın. Örneğin,
// empty Vector List, bildirim stillerinin hiçbirinin desteklenmediği platformlarda döndürülür. Şu şekilde ise: (RemoteNotifier.supportedNotificationStyles != " " ) { var preferredNotificationStyles:Vector.<String> = new Vector.<String>(); preferredNotificationStyles.push(NotificationStyle.ALERT); preferredNotificationStyles.push(NotificationStyle.SOUND); preferredNotificationStyles.push(NotificationStyle.BADGE); var subscribeOptions:RemoteNotifierSubscribeOptions = new RemoteNotifierSubscribeOptions(); subscribeOptions.notificationStyles = preferredNotificationStyles; var rn:RemoteNotifier = new RemoteNotifier(); rn.addEventListener(RemoteNotificationEvent.TOKEN,tokenEventHandler); rn.addEventListener(RemoteNotificationEvent.NOTIFICATION,notificationEventHandler); rn.addEventListener(StatusEvent.STATUS,statusHandler); // herhangi bir subscribe seçeneği olmadan subscribe yönteminin çağrılması, söz konusu platformda desteklenen tüm bildirim stillerine abone olunmasını sağlar rn.subscribe(subscribeOptions); } function tokenEventHandler(event:RemoteNotificationEvent):void { // AIR geliştirici, event.data öğesinde alınan tokenId öğesini URL isteği aracılığıyla sunucusuna gönderebilir var urlRequest:URLRequest; var urlLoader:URLLoader = new URLLoader(); var urlString:String = "https://url.com/api/device_tokens/" + event.tokenId; urlRequest = new URLRequest(urlString); urlRequest.authenticate = true; urlRequest.method =URLRequestMethod.PUT; URLRequestDefaults.setLoginCredentialsForHost("url.com",<userId>,<password>); urlLoader.load(urlRequest); urlLoader.addEventListener(IOErrorEvent.IOERROR, onError); urlLoader.addEventListener(Event.COMPLETE, onComplete); urlLoader.addEventListener(HTTPStatusEvent.HTTPSTATUS,onStatus); } public function notificationEventHandler(e:RemoteNotificationEvent):void { //Şunun için Bildirim türünün RemoteNotificationEvent olayından alınan verileri işleyen kod: (var x:String in e.data) { trace("\n"+ x + ": " + e.data[x]); } } public function statusHandler(e:StatusEvent):void { //abonelik başarısız olduğunda olayı işleyen kod } private function onError(e:IOErrorEvent):void { //url yükleyicinin url isteğini gerçekleştirirken oluşan hatayı işleyen kod } private function onComplete(e:Event):void { //url yükleyicinin url isteğinin tamamlanması durumunda ne olacağını bildiren kod } } private function onStatus(e:HTTPStatusEvent):void { //url yükleyicinin url isteğinin http durumunu bildiren kod }
İstemci uygulaması, desteklediği her bir yerelleştirme için çevrilen uyarı mesajı dizelerini, paketinde depolayabilir. Sağlayıcı, bildirim yükünün aps sözlüğünde loc-key and loc-args özelliklerini belirtir. Aygıt bildirimi aldığında daha sonra kullanıcıya göstereceği geçerli dil için yerelleştirilmiş dizeyi bulmak ve formatlamak için aps sözlüğü özelliklerini kullanır.
Yerelleştirilen dizelerin uygun <language>.lproj klasöründeki Localizable.strings olarak adlandırılan dosyada bulunması gerekir. Bu dosyadaki her bir girişin bir anahtarı ve yerelleştirilmiş bir dize değeri bulunur, dize; değişken değerlerinin değiştirme işlemi için format belirticiye sahip olabilir. Bir uygulama belirli bir dizeyi istediğinde o an kullanıcı tarafından seçilen dil için yerelleştirilmiş kaynağı alır.
Yerelleştirilen uzaktan bildirimleri almak için bir AIR uygulamasının, ipa içindeki <language>/lproj klasöründe yer alan Localizable.strings dosyasında, yerelleştirilen anahtar değer çiftlerinin bulunması gerekir. ipa içindeki Localizable.strings dosyasını eklemek için geliştiricinin aşağıdaki gibi, adt komutuna ilgili <language>.lproj klasörünü eklemesi yeterlidir:
adt -package -target ipa-app-store -provisioning-profile <MobileProvisioningCertificate> -storetype pkcs12 -keystore <Certificate.p12> -storepass <PASSWORD> app.xml sample.swf en.lproj es.lproj fr.lproj
adt'nin dosyaları uygun lproj klasöründe birleştirmesi için lütfen lproj klasörünün geçerli dizinde mevcut olması gerektiğini unutmayın. lproj klasörüne a/b/c/en.lproj şeklinde bir değer verilire adt bunu a/b/c/en.lproj olarak ekler ve böylelikle uygulama, yerelleştirilen anahtar değer çiftlerine erişemez.
ADT'nin, eklenen mobil aygıtları listeleme seçeneği
Eklenen iOS/AndroidTM aygıtlarıyla ilgili bilgi edinmek için aşağıdaki komutu kullanabilirsiniz:
adt -devices -platform (android | ios)
Bu komutun kullanılması aşağıdaki gibi bir çıktı oluşturur:
Eklenen aygıtların listesi:
Handle DeviceClass DeviceUUID DeviceName
7 iPhone 783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone
Lisanslama desteği: Oyunlar için Flash Player Premium Özellikleri (yalnızca Flash Player)
Etki alanı belleğinin (bazı üçüncü taraf araçlar ve "Alchemy" C/C++ derleyicisi tarafından kullanılan) Stage3D donanım hızlandırma özelliğiyle birlikte kullanımı bir lisans gerektirir. İki özelliği birlikte kullandığınızda Flash Player içerik hata ayıklayıcısında (hata ayıklama oynatıcısı) bilgilendirme amaçlı bir filigran gösterilir. Bu lisans gereksinimi, Stage3D donanım hızlandırma özelliğini etki alanı belleği olmadan (veya etki alanı belleğini Stage3D olmadan) kullanan içerik için geçerli değildir ve Adobe Air kullanılarak dağıtımı gerçekleştirilen herhangi bir içerik için geçerli değildir.
Aygıt kaybını işleme
Stage3D nesnesinden otomatik olarak, yazılım oluşturmaya geçiş yapıldığında lisanslanmayan içerik çalışmaya devam eder. İçeriğinizin, grafik kartı kaynak kaybını düzgün şekilde işlediğinden emin olmak için içeriğinizin grafiklerini yeniden başlatmak üzere Stage3D nesnesinde Event.CONTEXT3D_CREATE olayını dinleyin. context3D.dispose() çağrısı yaparak bir aygıt kaybı olayını benzetebilirsiniz. (Stage3D içeriğinin tümü; bir bilgisayarın kilitlenmesi veya ekran koruyucunun etkinleştirilmesi durumunda da meydana gelebilecek aygıt kaybını işlemelidir).
iOS üzerindeki ANE sembol çakışmalarının çözülmesine ilişkin ADT seçeneği
Bu seçeneği kullanarak uygulamaları paketlemek için aşağıdaki komutu kullanabilirsiniz:
adt -package –target ( ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc | ipa-test-interpreter | ipa-debug-interpreter | ipa-test-interpreter-simulator | ipa-debug-interpreter-simulator ) ( CONNECT_OPTIONS? | LISTEN_OPTIONS? ) ( -sampler )? –hideAneLibSymbols (yes|no) SIGNING_OPTIONS <output-package> ( <app-desc> PLATFORM-SDK-OPTION? FILE-AND-PATH-OPTIONS | <input-package> PLATFORM-SDK-OPTION? )
adt -package –target ipa-test –hideAneLibSymbols yes –provisioning-profile xxx.mobileprovision –storetype pkcs12 –keystore Certificates.p12 –storepass password Sample.ipa sample-app.xml sample.swf –extdir ANEFolder
Sembol çakışmaları önlemek için yes değerini, öncekiyle aynı davranış için de no değerini kullanın. Lütfen bu özelliğin henüz Flash Builder'da/Flash Professional'da kullanılabilir durumda olmadığını unutmayın.
var texture1:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED, false); texture1.uploadFromBitmapData(myPNGBitmap.bitmapData); // veya bir byteArray öğesinden de yükleyebilirsiniz var texture2:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED_ALPHA, false); texture2.uploadFromByteArray(myPNGByteArray);
[Embed( source = "rsc/MyCompressed.atf", mimeType="application/octet-stream")] private var MyATF_DXT1:Class; [Embed( source = "rsc/MyCompressedAlpha.atf", mimeType="application/octet-stream")] private var MyATF_DXT5:Class; //----------------------------------------------------------------------------------- var fragmentShaderForCompressedTexture:String = "tex oc, v0, fs0 <2d, dxt1>"; var fragmentShaderForCompressedAlphaTexture:String = "tex oc, v0, fs1 <2d, dxt5>"; //----------------------------------------------------------------------------------- var texture1:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED, false); texture1.uploadCompressedTextureFromByteArray(new MyATF_DXT1() as ByteArray, 0); var texture2:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED_ALPHA, false); texture2.uploadCompressedTextureFromByteArray(new MyATF_DXT5() as ByteArray, 0);
Flash Player 11.4 için geliştirme
Yeni Flash Player'ı kullanmak için Flex derleyicisine ek bir derleyici argümanı geçerek SWF 17 sürümünü hedeflemeniz gerekir: -swf-version=17. Talimatlar aşağıdadır. Adobe Flex SDK kullanıyorsanız:
- Flash Player 11.4 için yeni playerglobal.swc öğesini indirin
- Flex 4.5 SDK tablosundan Flex 4.5.1 SDK'yi (4.5.1.21328) indirin.
- Geliştirme ortamınızdaki yapıyı yükleyin
- Flash Builder'da yeni bir ActionScript projesi oluşturun: Dosya -> Yeni -> ActionScript projesi.
- Proje Özellikler panelini açın (sağ tıklatın ve 'Özellikler'i seçin). Sol taraftaki listeden ActionScript Derleyicisi'ni seçin.
- Projenin Flex 21328 yapısını göstermesi için sağ üst köşedeki 'Flex SDK'lerini yapılandır' seçeneğini kullanın. Tamam'ı tıklatın.
- Projenizi SWF 17 sürümünü hedefleyecek şekilde yapılandırın
- Proje Özellikler panelini açın (sağ tıklatın ve 'Özellikler'i seçin). Sol taraftaki listeden ActionScript Derleyicisi'ni seçin.
- 'Additional compiler arguments' girdisine şunu ekleyin: -swf-version=17. Böylelikle çıktısı alınan SWF'nin SWF 17 sürümünü hedeflediğinden emin olabilirsiniz. Derlemeyi Flash Builder'da değil, komut satırında gerçekleştirirseniz aynı derleyici argümanını eklemeniz gerekir.
- Tarayıcınıza yeni Flash Player 11.4 yapısını yüklediğinizden emin olun.
AIR 3.4 için geliştirme AIR 3.4 ad alanına güncelleme
Yeni AIR 3.4 API'leri ve davranışına erişmek için uygulama tanımlayıcı dosyanızı 3.4 ad alanına güncellemeniz gerekir. Uygulamanız yeni AIR 3.4 API'lerini ve davranışını gerektirmiyorsa ad alanını güncellemeniz gerekli değildir. Ancak tüm kullanıcıların, yeni 3.4 özelliklerinden henüz yararlanmıyor olsanız da AIR 3.4 ad alanını kullanmaya başlamasını öneririz. Ad alnını güncellemek için uygulama tanımlayıcı dosyanızdaki xmlns niteliğini şu şekilde değiştirin: <application xmlns="http://ns.adobe.com/air/application/3.4">
Hata mı buldunuz? Lütfen Flash Player ve Adobe AIR hata veritabanına bir hata gönderin.
Flash Player ve AIR, H.264 videonun kodunu çözmek veya bu videoyu oynatmak için grafik donanımınızı kullanabilir. Yalnızca sizin özel grafik donanımınız ve sürücünüzle yeniden oluşturulabilen video sorunları olabilir. Videolarla ilgili bir sorun bildirirken işletim sisteminizin ve tarayıcınızın bilgileriyle birlikte grafik donanımınızın ve sürücünüzün bilgilerini vermeniz önemlidir. Böylece sorunları yeniden oluşturup araştırabiliriz. Lütfen bu bilgileri şurada açıklandığı şekilde verdiğinizden emin olun: Video Oynatma Sorunlarının Bildirilmesine İlişkin Talimatlar. Not: Aldığımız e-postaların sayısının fazla olması nedeniyle, her talebe karşılık veremiyoruz.
Adobe® Flash Player® ve AIR® uygulamalarını kullandığınız ve geri bildirim göndermek üzere zaman ayırdığınız için teşekkür ederiz!
En son Flash Player ve AIR sistem gereksinimleri için lütfen buradaki dokümanı inceleyin.
