Opravené problémy

Datum vydání: 8. 10. 2012

  • Při přecházení k obsahu aplikace Flash nebo zpět v aplikaci Internet Explorer dojde k selhání aplikace. (3328165)
  • Nelze přidat aplikaci do balíčku pomocí souboru ANE v systému iOS, který neimplementuje funkci finalizační metody. (3325320)
  • Při přidání souboru IPA do balíčku pouze pomocí výchozí implementace v souboru ANE v systému iOS se přidání do balíčku nezdaří a zobrazí se výjimka ukazatele Null. (3325321)
  • Data databáze jsou vymazána při každém spuštění v simulátoru systému iOS. (3329309)
  • Ladění sítě Wi-Fi v systému iOS: Ladění v systému iOS nefunguje, pokud je pro položku Player Target AIR3.4 vybrána jako „výchozí“ možnost síťového rozhraní. (3325323)

Datum vydání: 21. 8. 2012

  • Netstream při odpojování nahodile havaruje (3193417)
  • Problém se zastavením streamu živého zvuku u systému AIR Android (3188340)
  • drawWithQuality() neaplikuje správně filtry v zařízeních se systémem Android (3224928)
  • Clipborad.generalClipboard.setData nefunguje v systému iOS (3226045)
  • Přehrávač Flash Player v systému Windows nepřehrává některý obsah FLV videa (3187569)
  • V aplikacích založených na přehrávači Flash Player se v prohlížeči Firefox v systému Windows přehrává pouze pravá strana zvuku (3289279)
  • Po přechodu do interaktivního režimu celé obrazovky se deaktivovala funkce uzamčení myši(3174344)
  • [iOS5] Textová pole s vloženými písmy jsou v mobilních zařízeních zkomolená (3161138)
  • První snímek některého obsahu aktivního streamingu zamrzá (3207896)
  • U aplikací systému iOS jsou nyní v deskriptoru aplikace podporovány ikony aplikací pro 50X50, 100X100 a 1024X1024 (3217144) 
  • Aplikace používající nativní rozšíření někdy v systému iOS havarují při vytváření určitých externích knihoven, např. Libxml2.dylib (3226974) 
  • Je-li v celoobrazovkové aplikaci pro iPad zabalený spouštěcí obrázek s rozlišením 768 x 1004 nebo 1024 x 748, je zaznamenávána určitá odchylka. (3230762). Nové pokyny k používání spouštěcích obrázků jsou k dispozici zde.
  • Videa H264 při přepínání mezi dvěma objekty NetStream připojenými k objektu StageVideo v systému iOS havarují (3206438)
  • Problém s funkcí CameraRoll.browseForImage() způsobuje ztrátu průhlednosti, což vede k zobrazení bílé barvy (3291312)

Nové funkce

Datum vydání: 8. 10. 2012

K 19. 9. 2012 již sada SDK pro iOS 6 není součástí beta verze.

Tato verze neobsahuje žádné nové funkce.

Datum vydání: 21. 8. 2012

  • Pracovní vlákna (workers) kódu ActionScript (Flash Player)
  • Podpora Sandbox Bridge (Flash Player)
  • Podpora licence: Funkce Flash Player Premium pro hry (Flash Player)
  • „Omezený“ profil Stage3D pro větší dosah GPU (Flash Player a AIR)
  • Podpora LZMA pro třídu ByteArray (Flash Player a AIR)
  • Vylepšení příkazů attachCamera/Camera třídy StageVideo (Flash Player a AIR)
  • Komprimovaná textura s podporou alfa pro Stage3D (Flash Player a AIR)
  • Kódování DXT (Flash Player a AIR)
  • Nepřípustná rozhraní API Carbon pro AIR (AIR)
  • Přímé nasazení systému AIR pomocí ADT (AIR)
  • Push notifikace pro iOS (AIR)
  • Okolní AudioPlaybackMode (AIR)
  • Podpora výjimek v nativních rozšířeních pro iOS (AIR)
  • Nová volba v ADT pro zobrazení seznamu připojených mobilních zařízení (AIR)
  • Volba ADT pro vyřešení konfliktů symbolu ANE v systému iOS (AIR)

Úplný seznam funkcí v přehrávači Flash Player a prostředí AIR, včetně funkcí zavedených v předchozích vydáních, je k dispozici v tomto dokumentu.

Vydané verze

Dodávka Vydaná verze
 Flash Player Desktop (Windows® /Mac)  11.4.402.287
 AIR (Windows®, Mac, Mobile)  3.4.0.2710
 Sada AIR SDK  3.4.0.2710

Známé problémy

Datum vydání: 21. 8. 2012
  • Funkce transformVector() z Matrix3D nesprávně transformuje komponentu w (3190677)
  • [iOS] V systému iOS 4.3 se komprimované Cubemaps s Alfa nesprávně vykreslují (3282166)
  • Problémy s funkcí navigateToURL se znaky ASCII s vysokými čísly nefungují správně u stolních aplikací pro systém AIR (3161093)
  • [iOS] U některého obsahu se instalování souboru .ipa se systémem AIR 3.4 příležitostně nezdaří a vrátí chybu instalace: PackageExtractionFailed (3220974)
  • Při použití příznaku –hideAneLibSymbols během balení aplikace pro iOS by měly být v souboru ANE platform.xml použity pouze volby spojovacího programu odkazujícího na framework nebo knihovnu a volby jako -ios_version_min
Adobe i nadále spolupracuje se systémem iOS 6 Beta SDK a řešením problémů. V současnosti jsou známé následující problémy:
  • Dialog s oprávněním ke geografickému umístění se u systému iOS 6 Beta nezobrazuje (3291688)
  • Aplikace AIR sbalené v systémech AIR 3.4 SDK a iOS 6 Beta SDK nepodporují na iPodu a iPhonu funkci AutoOrients pro Upside down (3286288)
  • Jakákoli aplikace sbalená v systémech AIR 3.4 SDK a iOS 6 Beta SDK nepodporuje tag aspectRatio na zařízení se systémem iOS 5.1 (3286320)

Vylepšení zabezpečení

Bulletin zabezpečení Ovlivněné dodávky
 APSB12-22  Flash Player Desktop Windows® a Mac

 Flash Player AndroidTM

Nové funkce: Přehled


ActionScript Workers

  • Se zavedením vláken Workers do jazyka ActionScript a Flash Runtime mohou nyní vývojáři přehrávače Flash odložit určité úlohy jako operace s dlouhou čekací dobou a dlouhotrvající výpočty do pracovních vláken na pozadí („Background Workers“). Tyto Background Workers běží souběžně, aby uvolnily více výpočetních zdrojů a vyhnuly se záležitostem jako zamrznutí uživatelského rozhraní. 
  • Poznámka: Chcete-li naplno využít vlákna Workers kódu ActionScript a být schopni vyhledávat a odstraňovat závady u vláken workers, je vyžadována následující verze aplikace Flash Builder. Tato následující verze aplikace Flash Builder bude k dispozici prostřednictvím vydání public beta přibližně v srpnu.
  • Poznámka: Podpora sdílené paměti (ByteArray.shareable) byla přesunuta do nadcházejícího vydání přehrávače Flash Player.

Podpora Sandbox Bridge

  • Přemostění sandboxu umožňuje vystavení určitých objektů nebo funkcí ActionScript mezi komunikaci SWF-SWF napříč doménami. Tato funkce je již dostupná v systému AIR a v tomto vydání je přenášena do přehrávače Flash Player.

Podpora licencí: Funkce Flash Player Premium pro hry (Flash Player)

  • Zavedení prémiových funkcí pro hry nyní umožňuje, aby se na Flash Player zacílily i jiné toky prací než ActionScript. Toto vydání podporuje řízení licence prémiových funkcí u rozhraní API XC (společné použití rozhraní API doménové paměti a API hardwarové akcelerace Stage 3D) v přehrávači Flash Player. Tato rozhraní API využívají některé nástroje třetích stran, např. Unity a kompilátor C/C++ Project „Alchemy“ od Adobe. Další informace naleznete na adrese http://www.adobe.com/go/fpl_cz.

„Omezený“ profil Stage3D pro větší dosah GPU

  • Flash Player řídí použití hardwarové akcelerace na základě data ovladače vaší grafické karty. U dřívějších vydání jsme usměrnili podporu pro starší ovladače než z 1. ledna 2008. V tomto vydání změníme usměrnění na použití na starší ovladače než z 1. ledna 2006. Obsah používající příkaz wmode=direct (nebo renderMode=direct pro systém AIR) by měl být u novějších ovladačů grafické karty než z 1. ledna 2006 pokud možno hardwarově akcelerován. To platí pro rozhraní API Stage3D a [StageVideo|StageVideo]. Kromě toho jsme přidali nový profil pro Stage3D nazvaný „omezený“ profil, který umožňuje, aby váš obsah běžel hardwarově akcelerován na čipových sadách Intel® GMA, které byly dříve na černé listině. Další podrobnosti k tomuto novému profilu a jeho využití jsou uvedeny níže.

Podpora LZMA pro třídu ByteArray

  • Kromě komprese zlib třídy ByteArray zavádíme další typ komprese založený na LZMA pro kompresi dat uvnitř třídy ByteArray prostřednictvím příkazů ByteArray.compress() a ByteArray.uncompress().

Komprimovaná textura s podporou alfa pro Stage3D (Flash Player a AIR)

  • U komprimovaných textur jsou nyní podporovány průhledné obrazy (formát souboru ATF).

StageVideo vylepšení funkce attachCamera/Camera

  • Tato funkce odhaluje novou metodu u objektů StageVideo, která umožňuje, aby kód ActionScript směroval video stream z kamery do objektu StageVideo a tím přiměl GPU k vykreslování namísto rastrování. To umožňuje, aby byl přehrávač mnohem rychlejší při zpracovávání video streamu z kamery, když je k dispozici akcelerace GPU.

Kódování DXT

  • Tato funkce umožňuje kódování nekomprimovaných textur do formátu DXT při běhu, aby mohla být textura nahrána do GPU jako komprimovaná textura DXT.
    K dispozici na počítačích pro Flash Player 11.4 i AIR 3.4

Nepřístupná rozhraní API Carbon pro AIR

  • Od verze Mac OS X 10.8 již Apple nebude rozhraní API Carbon podporovat. Proto jsou tato rozhraní API a jiný nepřípustný kód ze systému AIR v tomto vydání odstraněny, aby byl AIR ve shodě se systémem Mac OSX 10.8.
Přímé nasazení systému AIR pomocí ADT
  • Tato nová funkce umožňuje vývojářům nasadit aplikaci AIR na zařízeních iOS, aniž by museli použít iTunes nebo XCode. Chcete-li použít tuto funkci, musí být na počítači uživatele instalována aplikace iTunes 10.5.0 nebo vyšší.

Push notifikace iOS

  • Tato funkce bude ke generování notifikací používat APNS (Apple Push Notification Service) a poskytovatele (server třetí strany, který bude komunikovat s APN). Byl zaveden nový balíček flash.notifications. Doručování push notifikací je zcela závislé na službě Apple Push Notification Service a APNS nezaručuje doručování push notifikací. Apple také doporučuje přihlášení k odběru push notifikací při každém spuštění aplikace. Pokaždé, když se klientská aplikace přihlásí k odběru push notifikací, poskytne APNS klientské aplikaci ID známky a toto ID známky by mělo být odesláno na server třetí strany nebo poskytovateli, který bude vzdálené notifikace posílat.

Ambient AudioPlaybackMode

  • V systému AIR 3.4 budou mít uživatelé možnost volby jednoho dalšího režimu AudioPlaybackMode, tj. jiného režimu AMBIENT než VOICE a MEDIA. Tento nový režim AudioPlaybackMode umožní uživatelům přinutit jejich aplikaci, aby akceptovala „hardwarový vypínač zvuku“ přítomný na iphonech/ipadech. Největší využití tohoto režimu přehrávání Ambient je v herních aplikacích, kde bude mít uživatel aplikace možnost volby ztišení zvuku hry a současně bude moct poslouchat hudbu z libovolné jiné aplikace na pozadí.V režimu Ambient akceptuje audio hardwarový vypínač zvuku pouze na zařízeních iOS. Na zařízeních se systémem AndroidTM bude režim Ambient stejný jako režim Media.

Podpora výjimek u nativních rozšíření pro iOS

  • Nativní rozšíření pro iOS může nyní využívat výjimky C++ i Objective-C. Je na rozšíření, aby zachytilo všechny výjimky vyskytující se v jeho kódu. Výjimky vyskytující se v rozšířeních nebudou zachyceny za běhu.

Volba ADT pro zobrazení seznamu připojených mobilních zařízení

  • Do ADT byla přidána nová volba, '-devices', pro zobrazení seznamu připojených zařízení se systémem iOS/AndroidTM. Uživatelé mohou využít tuto volbu namísto použití volby adb pro vypsání seznamu zařízení se systémem AndroidTM a volby idb pro vypsání zařízení se systémem iOS. Chcete-li použít tuto funkci, musí být na počítači uživatele instalována aplikace iTunes 10.5.0 nebo vyšší.

Volba ADT pro vyřešení konfliktů symbolu ANE v systému iOS

  • Protože vývojáři aplikací mohou používat vícenásobná nativní rozšíření získaná z různých zdrojů, může běžný název symbolu ve 2 ANE způsobit chybu při balení oznamující duplicitní symbol v souborech objektu nebo selhání při běhu. Pro předejítí tomuto problému byla zavedena nová volba, -hideAneLibSymbols, kterou můžete zadat v době balení aplikace. Může nabývat hodnot ano nebo ne, kde ano skryje symboly knihovny každého ANE z jiných ANE.

Nové funkce: Pokyny k použití

Začínáme s vlákny Workers

Chcete-li začít používat vlákna workers, podívejte se na příklady v souboru flashplayer11-4_p1_ex_concurrency.zip.

Poznámka

Zde je tabulka využití paměti u systémů MacOS a Windows®:

# pracovních vláken (workers)

Mac BookPro
Mac OS X 10.7.3 
2,4 GHz Intel® CoreTM i7 
8 GB RAM 
Mac OS X 10.7 
paměť (MB)

PC machine 
Windows® 7 32bit 
Intel® Xeon Quad core 3,2 GHz 
2048 MB RAM 
Windows® 7 
paměť (MB)

Notebook Lenovo T61
Windows® XP 
Intel® CoreTM Duo Core 2,2 GHz 
2014 MB RAM 
Windows® XP 
paměť (MB)

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

Když se provádí kód v kontextu jiného než původního pracovního vlákna (tj. na pozadí), některé chování rozhraní API flashruntime se bude lišit od kódu ActionScript, který se provádí v hlavním vlákně. Následující rozhraní API se budou chovat odlišně při použití zevnitř pracovního vlákna na pozadí.

Nefunkční rozhraní API

Následující rozhraní API nebudou dostupná zevnitř pracovního vlákna na pozadí. Jakýkoli pokus o konstrukci kterékoli z těchto instancí vrátí chybu IllegalOperationError se zprávou „Tato funkce není v tomto kontextu dostupná“. ID chyby bude u všech instancí stejné, což umožní vývojářům vypnout tuto hodnotu.

  • flash.desktop.Clipboard // volání konstruktora vrátí; volání příkazu generalClipboard vrátí hodnotu null
  • flash.desktop.NativeDragManager // isSupported vrátí hodnotu false
  • flash.desktop.Updater // isSupported vrátí hodnotu false
  • flash.display.NativeMenu // isSupported vrátí hodnotu false
  • flash.display.NativeWindow // isSupported vrátí hodnotu false
  • flash.display.ToastWindow // nemůže získat přístup k instanci, protože nebude definováno stage.window
  • flash.display.Window // nemůže získat přístup k instanci, protože nebude definováno stage.window
  • flash.external.ExtensionContext // createExtensionContext() vždy vrátí hodnotu null nebo vrátí chybu
  • flash.external.ExternalInterface // dostupné vrátí hodnotu false
  • flash.html.* // HTMLLoader.isSupported vrátí hodnotu false
  • flash.media.CameraRoll // supportsAddBitmapData a supportsBrowseForImage vrátí hodnotu false
  • flash.media.CameraUI // isSupported vrátí hodnotu false
  • flash.media.StageWebView // isSupported vrátí hodnotu false
  • flash.net.drm.* // DRMManager.isSupported vrátí hodnotu false
  • flash.printing.* // PrintJob.isSupported vrátí hodnotu false
  • flash.security.XMLSignatureValidator // isSupported vrátí hodnotu false
  • flash.system.IME // isSupported vrátí hodnotu false
  • flash.system.SystemUpdater // volání konstruktora vrátí
  • flash.text.StageText // volání konstruktoru vrátí
  • flash.ui.ContextMenu // isSupported vrátí hodnotu false
  • flash.ui.GameInput // isSupported vrátí hodnotu false
  • flash.ui.Mouse // všechny metody jsou nulové operace; nastavení vlastnosti „kurzor“ je nulová operace

Změny chování u rozhraní API

Následující rozhraní API mají pozměněné chování, když jsou spuštěná zevnitř pracovního vlákna na pozadí. Některá volání metod jsou nulové operace, zatímco jiná vrátí chybu IllegalOperationError nebo obdobnou, jak je konzistentní s rozhraním API s dokumentací. Vrácené hodnoty by měly být v co největší míře konzistentní s dokumentací. Například pokud metoda vrátí Pole s prvky za normálních podmínek, když je prováděna zevnitř pracovního vlákna na pozadí, vrátí prázdné Pole.

  • flash.accessibility.Accessibilty
    • active // vždy vrátí hodnotu false
    • updateProperties(); // nulová operace
  • Vlastnosti flash.desktop.NativeApplication**

·          

  • flash.display.Stage
    • allowsFullScreen // vždy vrátí hodnotu false
    • stage3Ds // vždy vrátí prázdný Vektor
    • stageVideos // vždy vrátí prázdný Vektor
    • supportsOrientationChange // vždy vrátí hodnotu false
    • wmodeGPU // vždy vrátí hodnotu false
  • flash.filesystem.File
    • browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // nulová operace
  • flash.net.FileReference** browse(), download(), save() // nulová operace; vždy vrátí hodnotu false
  • flash.net.FileReferenceList** browse() // nulová operace; vždy vrátí hodnotu false
  • flash.system.System
    • ime // vždy vrátí hodnotu null
    • // vynutí zastavení a vypnutí tohoto pracovního vlákna na pozadí
    • setClipboard() // nulová operace
  •  
    • metody
      • activate(), clear(), copy(), cut(), paste(), selectAll() // nulová operace
      • exit() // vynutí zastavení a vypnutí tohoto pracovního vlákna na pozadí
    • události
      • je podporována pouze ukončovací událost – tato událost bude odeslána při vypínání pracovního vlákna (nastane buď při volání metody životního cyklu, nebo vypínání „hlavního“ pracovního vlákna, tj. při ukončování běhu; nelze zrušit z pracovního vlákna na pozadí)
    •  
      • supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // všechny vrátí hodnotu false
      • activeWindow // vrátí hodnotu null
      • autoExit // setter je nulová operace
      • idleThreshold // setter je nulová operace
      • openedWindows // vrátí prázdné Pole []
      • systemIdleMode // setter je nulová operace

Zvětšený dosah GPU – omezený profil Stage3D

Byl zaveden nový parametr pro Context3D nazvaný „profil“.  Tento parametr bude poskytnut funkci Stage3D.requestContext3D() a můžete mu dát jednu ze dvou hodnot Context3DProfile.BASELINE ("baseline"), která vrátí typický Context3D, který se vyskytoval i v dřívějších vydáních, nebo Context3DProfile.BASELINE_CONSTRAINED ("baselineConstrained"), která vrátí nový druh prvku Context3D schopný běhu s hardwarovou akcelerací na dříve nepodporovaných GPU. Omezený profil umožňuje tvůrcům obsahu vytvářet obsah Stage3D zaměřující se na starší systémy používající grafické karty jako Intel® GMA 900/950 v systému Windows® . Zaměření na hardware nižší kategorie s Omezeným profilem je vykoupeno tím, že schopnosti Stage3D budou omezeny, aby bylo zaručeno, že obsah na tomto hardwaru poběží správně. Karty jako GMA 900/950 podporují pouze objekty shader pixel/vertex verze 2.0, což vynucuje následující omezení u Stage3D při použití Omezeného profilu:

  • Omezeno na 64 ALU a 32 pokynů pro texturu na jeden shader.
  • Pouze 4 odkazování na čtení textury na jeden shader.
  • Omezeno na menší množství konstant/změn/dočasných souborů na jeden shader.
  • Žádná podpora pro registr predikátů. To má vliv na pokyny sln/sge/seq/sne a musí být nahrazeno složenými pokyny mov/cmp, které jsou dostupné u ps_2_0 (to bude provedeno skrytě za cenu použití více slotů pokynů v porovnání s ps_2_x).
  • Zadní vyrovnávací paměť Context3D musí být neustále v mezích vymezené plochy.
  • V instanci Flash Player je povolena pouze jedna instance Context3D běžící v Omezeném profilu.
  • Jako u mobilních zařízení, prvky seznamu zobrazení Flash nebudou aktualizovány, zatímco je viditelný omezený obsah Stage3D, pokud není vyvolán pokyn Context3D.present().

„Profil“ je druhý volitelný parametr metody requestContext3D. Vývojáři mohou vyžádat profil "baselineConstained", aby získali Context3D v omezeném režimu, jak ukazuje následující api: funkce requestContext3D ( context3DRenderMode : String = "auto", profil : String = "baseline" ) : void;
Příklad:

stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler);
stage.stage3Ds[0].requestContext3D(Context3DRenderMode.AUTO, Context3DProfile.BASELINE_CONSTRAINED); 

Přímé nasazení systému AIR pomocí ADT

Instalace:
Chcete-li na zařízení instalovat IPA, použijte následující příkaz:
adt -installApp -platform ios -device <deviceID> -package <ipa-file> 
Odinstalace:
Chcete-li odinstalovat IPA ze zařízení, použijte následující příkaz:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id> 
<deviceID> vašeho připojeného zařízení by byla hodnota „Handle“ zobrazená pomocí následujícího příkazu:
@SDKLocation/bin/adt –devices –platform ios 
<app-id> je zadáno v souboru deskriptoru aplikace (app.xml) v tagu <id>. Vytvoříte-li projekt pomocí aplikace Flash Builder, bude při výchozím nastavení stejný jako název vaší aplikace. 

Je-li k počítači připojeno pouze jedno zařízení, vynechte argument '-device <deviceID> ' a aplikace bude nainstalována/odinstalována na připojeném zařízení.
adt -installApp -platform ios -package <ipa-file> 

Push notifikace iOS

1)     Identifikátor aplikace (tag id) v souboru app-xml musí být stejný jako identifikátor aplikace mobilního telefonu, která zajišťuje certifikát povolený nabízenými oznámeními.
2)     V deskriptoru vaší aplikace uveďte oprávnění prostředí aplikace:

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

Pro zařazení aplikace do Obchodu s aplikacemi s povolenými Push notifikacemi je třeba nastavit prostředí aplikace na produkci. Vývojář musí použít zajišťovací profil s povolenými Push notifikacemi. Oprávnění podepsané aplikace ověříte pomocí následujícího příkazu:

codesign -d --entitlements - <YourAppName>.app

3) Pomocí nově přidané třídy flash.notification v aplikaci povolíte podporu push notifikací. Například,

// empty Vector List is returned on platforms on which none of the notification styles is supported.
if (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);
// calling subscribe method without any subscribe options automatically subscribes for all notification styles supported on that platform
rn.subscribe(subscribeOptions);
}
function tokenEventHandler(event:RemoteNotificationEvent):void
{
// AIR developer can send the tokenId received in event.data to his server via URL request
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
{
//Code to handle the data received from the RemoteNotificationEvent event of type Notification
  for (var x:String in e.data)
            {
                trace("\n"+ x + ":  " + e.data[x]);
            }
}
public function statusHandler(e:StatusEvent):void
{
        //code to handle the event when subscription is failed
}
private function onError(e:IOErrorEvent):void
{
         //Code to handle the error which occurred while making url request by the url loader
}
private function onComplete(e:Event):void
{
            //Code to know what if the url request made by the url loader is complete        }
}   
private function onStatus(e:HTTPStatusEvent):void
{
           //Code to know the http status of the url request made by the url loader
}

Klientská aplikace může ve svém balíku uložit řetězce výstražné zprávy pro každou lokalizaci, kterou podporuje. Poskytovatel zadá vlastnosti loc-key a loc-args do svého slovníku aplikací užitečného zatížení notifikací. Když zařízení obdrží notifikaci, použije vlastnosti slovníku aplikací k nalezení a naformátování řetězce lokalizovaného pro aktuální jazyk, který poté zobrazí uživateli.

Lokalizované řetězce se musí nacházet v souboru s názvem Localizable.strings v příslušné složce <language>.lproj. Každý zápis v tomto souboru má klíč a hodnotu lokalizovaného řetězce, řetězec může mít specifikátory formátu pro nahrazení hodnot proměnných. Když aplikace požádá o konkrétní řetězec, obdrží zdroj, který je lokalizovaný pro jazyk aktuálně zvolený uživatelem.

Chcete-li přijímat lokalizované vzdálené notifikace, aplikace systému AIR musí mít páry hodnot lokalizovaného klíče v souboru Localizable.strings ve složce <language>/lproj uvnitř ipa. Chcete-li přidat soubor Localizable.strings do ipa, musíte přidat příslušnou složku <language>.lproj do příkazu adt následujícím způsobem:

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

Upozorňujeme, že složka lproj musí být přítomná v aktuálním adresáři, aby příkaz adt sloučil soubory v příslušné složce lproj. Je-li složka lproj uvedena jako a/b/c/en.lproj, přidá ji příkaz adt jako a/b/c/en.lproj a páry hodnot lokalizovaného klíče nebudou pro aplikaci přístupné.

Volba ADT pro zobrazení seznamu připojených mobilních zařízení

Následující příkaz slouží k získání informací o připojených zařízeních se systémem iOS/AndroidTM:

adt -devices -platform (android | ios)

Tento příkaz zobrazí výstup následujícího typu:

Seznam připojených zařízení:

Handle   DeviceClass   DeviceUUID                                                    DeviceName

7           iPhone         783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone


Podpora licence: Funkce Flash Player Premium pro hry (pouze Flash Player)

Společné použití doménové paměti (používané některými nástroji třetích stran a kompilátorem C/C++ Project „Alchemy“) s hardwarovou akcelerací Stage3D bude vyžadovat licenci. Při použití obou funkcí zároveň se v debuggeru obsahu Flash Player (ladicím přehrávači) zobrazí informační vodoznak. Tento požadavek na licenci se nevztahuje na obsah, který používá hardwarovou akceleraci Stage3D bez doménové paměti (nebo doménovou paměť bez Stage3D) a nevztahuje se na žádný obsah nasazený pomocí systému Adobe AIR. 

Zpracování ztráty zařízení

Při automatickém přepnutí Stage3D na softwarové vykreslování dále poběží nelicencovaný obsah. Chcete-li zajistit, aby váš software správně zpracovával ztrátu zdroje grafické karty, poslouchejte událost Event.CONTEXT3D_CREATE na objektu Stage3D za účelem opakované inicializace grafiky vašeho obsahu. Událost ztráty zařízení můžete simulovat vyvoláním pokynu context3D.dispose(). (Veškerý obsah Stage3D by měl zpracovat ztrátu zařízení, ke které může dojít, i když je počítač zamčený nebo když se aktivoval šetřič obrazovky.)

Volba ADT pro vyřešení konfliktů symbolu ANE v systému iOS

Následující příkaz slouží k balení aplikací pomocí této volby:

 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? )

Například:

 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

Hodnota „ano“ zabrání konfliktům symbolu a hodnota „ne“ znamená stejné chování jako dříve. Upozorňujeme, že tato funkce ještě není v aplikaci Flash Builder/Flash Professional k dispozici.

Kódování DXT


var texture1:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED, false);
texture1.uploadFromBitmapData(myPNGBitmap.bitmapData);  // or you can upload from a byteArray as well
 
var texture2:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED_ALPHA, false);
texture2.uploadFromByteArray(myPNGByteArray);


Komprimovaná textura a alfa


[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);

Pokyny k tvorbě

Tvorba pro Flash Player 11.4

Chcete-li používat nový Flash Player, budete se muset zacílit na SWF verze 17 SWF uvedením dodatečného argumentu kompilátoru v kompilátoru Flex: -swf-version=17. Návod je uveden níže. Používáte-li sadu Adobe Flex SDK:

  • Stáhněte si nový soubor playerglobal.swc pro Flash Player 11.4
  • Stáhněte si aplikaci Flex 4.5.1 SDK (4.5.1.21328) z tabulky Flex 4.5 SDK.
  • Nainstalujte sestavu do vašeho vývojového prostředí.
  • V aplikaci Flash Builder vytvořte nový projekt ActionScript: Soubor -> Nový -> Projekt ActionScript.
  • Otevřete v projektu panel Vlastnosti (klepněte pravým tlačítkem a zvolte „Vlastnosti“). Ze seznamu nalevo vyberte Kompilátor ActionScript.
  • Pomocí volby 'Configure Flex SDK's' (Konfigurovat sadu Flex SDK) v pravém horním rohu nasměrujte projekt na sestavu Flex 21328. Klepněte na tlačítko OK.
  • Proveďte konfiguraci vašeho projektu pro zacílení na SWF verze 17.
  • Otevřete v projektu panel Vlastnosti (klepněte pravým tlačítkem a zvolte „Vlastnosti“). Ze seznamu nalevo vyberte položku Kompilátor ActionScript.
  • Ke vstupu 'Additional compiler arguments' přidejte: -swf-version=17. Tím zajistíte, že výsledný soubor SWF bude zacílen na SWF verze 17. Pokud provádíte kompilaci na příkazovém řádku a ne v aplikaci Flash Builder, musíte přidat stejný argument kompilátoru.
  • Přesvědčte se, že máte v prohlížeči nainstalovaný nový build aplikace Flash Player 11.4.

Tvorba pro prostředí AIR 3.4 Aktualizace na obor názvů prostředí AIR 3.4

Musíte aktualizovat soubor deskriptoru aplikace na obor názvů 3.4, abyste měli přístup k novým rozhraním API AIR 3.4 a chování. Nevyžaduje-li vaše aplikace nová rozhraní API AIR 3.4 a chování, nemusíte obor názvů aktualizovat. Doporučujeme však všem uživatelům, aby začali používat obor názvů AIR 3.4, i když nevyužívají výhod schopností nové verze 3.4. Chcete-li aktualizovat obor názvů, změňte atribut xmlns v deskriptoru vaší aplikace na: <application xmlns="http://ns.adobe.com/air/application/3.4">

Nahlášení chyby

Zjistili jste chybu? Odešlete prosím chybu do databáze chyb produktů Flash Player a Adobe AIR.

Flash Player a AIR mohou využít hardware vaší grafické karty k dekódování a přehrávání videa H.264. Mohou se vyskytovat problémy s videem, které lze reprodukovat pouze s vaším konkrétním grafickým hardwarem a ovladačem. Při oznamování problému týkajícího se videa je důležité, abyste uvedli svůj grafický hardware a ovladač a také operační systém a prohlížeč (pokud používáte aplikaci Flash Player), abychom mohli problém reprodukovat a prozkoumat. Tyto informace je nutné uvést tak, jak je popsáno v dokumentu Pokyny k oznamování problémů při přehrávání videa. Poznámka: V důsledku velkého objemu e-mailů, které dostáváme, nejsme schopni reagovat na každý požadavek.

Děkujeme vám za používání aplikace Adobe® Flash Player® a prostředí AIR® a za to, že jste věnovali svůj čas odeslání vašich názorů.

Systémové požadavky

Nejnovější požadavky aplikace Flash Player a prostředí AIR jsou uvedeny v tomto dokumentu.


Historie verzí běhového prostředí

 

 Datum vydání Verze běhového prostředí Vylepšení zabezpečení
  21. srpna 2012  Flash Player pro počítače (Windows, Mac):  11.4.402.265
 AIR (Windows, Mac, mobilní zařízení): 3.4.0.2540
 Sada AIR SDK: 3.4.0.2540
 APSB12-19

Tato práce podléhá licenci Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Na příspěvky ze služeb Twitter™ a Facebook se nevztahují podmínky licence Creative Commons.

Právní upozornění   |   Zásady ochrany osobních údajů online