Flash Player および AIR バージョン 29 のベータ版が公開されています。新しい SWF バージョンは 40 です。
今回の主な追加機能、および変更点は以下の通りです。すべて AIR 関連の機能です。
- 新しいソフトキーボードタイプの追加 (AIR モバイル)
- メディアの自動再生のオプション (AIR モバイル)
- 位置情報の許可の変更 (iOS)
- Android SDK アップグレード
- ENHANCED プロファイルのサポート (AIR デスクトップ)
- HIDPI サポートの拡張 (Windows)
- 32 ビットと 64 ビット AIR SDK の統合 (Windows)
HIDPI サポートの拡張は、AIR 23 で追加された機能を、非クライアント領域まで対象に広げたもので、ダイアログボックスやタイトルバーなどが含まれます。Windows 10 (Redstone 1) バージョン 1607 以降で利用できます。
また、AIR 26 出追加された ENHANCED プロファイルがデスクトップ環境でも利用できるようになりました。対象の OS は、Windows8.1 以降と Mac OS 10.9 以降です。これにより、デスクトップ環境でも AGAL4 が利用できます。最新の AGALMiniAssembler はこちらです。
Android SDK は AIR 28 SDK に続き、AIR 29 SDK でも連続で更新されました。各ツールのバージョンは以下の通りです。
- SDK Platform : 27
- SDK Tool : 26.1.1
- Android Build Tool : 27.0.3
- Platform Tool : 27.0.1
- Android Support Repository : 47.0.0
- Android Google Repository : 58
- LLDB : 3.0
- Android Emulator : 27.0.5
- Gradle plugin version for Android : 3.0.1
- Multidex jar : 1.0.2
新しいソフトキーボードタイプ
TextField と StageText の softKeyboard 属性に新しく 2 つの選択肢が追加されました。
- DECIMAL
- PHONE
AIR 29 からは、ユーザーに電話番号や数字を入力させたいとき、専用のキーボードを表示できます。以下がそのサンプルです。
var tfKeyBoard:TextField=new TextField(); tfKeyBoard.softKeyboard=SoftKeyboardType.DECIMAL; var stKeyBoard:StageText = new StageText(); stKeyBoard.softKeyboardType=SoftKeyboardType.PHONE;
メディアの自動再生のオプション追加
AIR 21 で追加された、モバイル環境におけるメディアの自動再生機能が更新されました。StageWebView での自動再生を指定できる mediaPlaybackRequiresUserAction 属性が StageWebView に追加されています。デフォルト値は true で、明示的に false を指定すると StageWebView 内のメディアが自動再生されるようになります。
下の例のように、コンストラクタの 2 つ目の引数として指定できます。
public function StageWebView(useNative:Boolean = false, mediaPlaybackRequiresUserAction:Boolean = true)
Android では、後から属性を指定して振る舞いを変更できますが、iOS では後からの変更は無視されます。そのため、自動再生を指定したければ StageWebView インスタンスの生成時に行う必要があります。
iOS での位置情報の許可に関する変更
iOS での位置情報の利用に際して、「使用中のみ許可」と「常に許可」の許可を求めるための新しい属性 locationAlwaysUsePermission が追加されました。
デフォルト値は false、つまり、従来どおりの動作ですが、locationAlwaysUsePermission に true を設定してから requestPermission() を実行すると、両方のオプションから許可を求めるようになります。
private var geo:Geolocation = new Geolocation(); geo.locationAlwaysUsePermission = true; //WHEN_IN_USEとALWAYSをリクエスト geo.requestPermission();
iOS 11 では、先に「使用中のみ許可」を確認していた場合に、後から「常に許可」を求めることができます。これは1回だけ行うことが可能で、それ以降の requestPermission() は無視されます。アプリケーション記述ファイルに、適切なキーが記述されている必要があります。
iOS 10 以前の OS ではこの属性は機能しません。requestPermission() は 1 度だけ呼ぶことができ、「使用中のみ許可」と「常に許可」の選択は、アプリケーション記述子に書かれたキーに依存します。
Windows 向け 32 ビットと 64 ビット AIR SDK の統合
これまで、Windows の 32 ビットアプリと 64 ビットアプリには、それぞれ別の AIR SDK が提供されていました。AIR 29 からは、ひとつの SDK で 32 ビットと 64 ビット両方のパッケージに対応します。
32 ビットと 64 ビットから対象とするアーキテクチャを指定する方法は、Flash Builder、Animate CC、 adt で異なります。
Animate CC と adt の場合:
アプリケーション記述ファイルに <architecture> タグを追加し、32 か 64 を値に指定します。それぞれ、32 ビットか 64 ビットの AIR アプリをパッケージするという指定になります。
<architecture> タグは <application> タグ下に記述します。以下は app.xml ファイルのサンプルです。
<?xml version="1.0" encoding="utf-8" standalone="no"?> <application xmlns="http://ns.adobe.com/air/application/29.0"> <id>Sample</id> <filename>Sample</filename> <architecture>64</architecture> <name>Sample</name> <versionNumber>0.0.0</versionNumber> <initialWindow> ... </initialWindow> </application>
Flash Builder の場合:
環境変数 AIR_WIN_ARCH に 32 か 64 を指定します。<architecture> タグへの指定は無視されます。
共有ランタイム形式、またはネイティブアプリとしてパッケージする場合は、引き続き 32 ビットのみがサポートされます。
コメントする