ROSEVERTE開発ブログ

開発に関わるあれこれなど~

エントリー

Adobe Airについて。事前にユーザーにair アプリをインストールさせる必要がありません!

2034394938_9e36bcefe2.jpg

いや、もうほとんどの方が知っているはず、と信じたいです。

ただ、どうも、いまだに「このゲームを起動させるにはまずAIRアプリをインストールしてください」と指示しているところがあるみたいなので、ここでもう一度話したほうがいい気がします。

以前、AIRが初めて出たとき、確かにEXE化するためにADOBE社に許可をもらう必要がありますが、しばらく経って、この必要がなくなりました。

というか、そもそもフラッシュは2020年で終わりという話もあって、AIR事態はフラッシュを動かすためのツールの一つなので、まだまだ先があるかもしれません。

今は、HARMAN社が受け継いでいますが、AIR SDK 33リリースされた後も、なぜかAIR SDK32がまだしばらくADOBE社より更新されました。

例えばMACカタリナに対応するための更新とかですね。記憶違いでなければ、確か32版が先にカタリナ対応機能が追加されました。

SDK33は、主にアンドロイド64bit (arm64v8) 用に作られている感じです。現在すでにカタリナ対応になったのですが、こちらのフリー版(収入1年間50万USD/5百万円前後の方向け)だと、HARMAN社のロゴが入ります。

ま、それはそうとして、まず簡単にネイティブアプリについて説明します。

①WINDOWSまたはMAC用のCAPTIVE RUNTIME BUNDLE(.EXE/.APP)

ドキュメント:

https://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f709e16db131e43659b9-8000.html

これとはほかに、target nativeというのもあるのですが、こちらは、単に『事前にAIRアプリをインストールしてね』と表示するインストーラーを作るためです。

今ご紹介するのはCAPTIVE RUNTIME BUNDLE (target bundle)であって、この機能使うと、AIRをインストールしなくともすぐにダブルクリックで起動できるゲーム(またはアプリ)を作るためです。

ドキュメントに書いてある通り、ウィンドウズでビルドするコードは

adt -package 
    -keystore ..\cert.p12 -storetype pkcs12 
    -target bundle 
    myApp 
    myApp-app.xml 
    -C bin .

最後の行は『-C bin .』に変更したのですが、これは、ディレクトリーにある bin フォルダの中身を全部 myAppというゲームインストーラーフォルダに含めるという意味です。EXEは、myAppフォルダの中にXML表記通りに作られます。

MACの場合は、ビルドする際に、MACのパソコンが必要になります!!!(WINDOWSでビルドできません!)

adt -package 
    -keystore ../cert.p12 -storetype pkcs12 
    -target bundle 
    myApp.app 
    myApp-app.xml 
    -C bin .

これで同じく『-C bin .』 の中身が新しく作られたアプリ『myApp.app』に入ります。このアプリをダブルクリックするだけで、ゲームが起動します。

※注意:MACでビルドすると、appファイルの中にsymlinkファイルが含まれています。このファイルは、新しいセキュリティパッチにより、windows端末にコピーできません!ZIPにしてから、windowsに展開しようとしても、展開の最中にエラーが出ます! また、windows端末を使いアップロードしようとしても、このファイルははじかれるので、オンラインストアなどにアップする場合、必ずMAC端末からすべて行ってください。(ZIP形式のものをWINDOWSでアップロードできるかどうかは、まだわかりません)

symlinkファイルを無視してアップロードすると、Steamなど、クライアントで起動するものならはいいのですが、スタンドアロンとして、ダブルクリックでAPPファイルを起動すると、ファイルが破損したというエラーが出てしまいます。

②アンドロイドアプリの場合

iOSアプリはもともとairランタイムが含まれているようなので、省きます。

アンドロイドの場合は、もう知っている方がほとんどかと思いますが、こちらのコードを使ってください:

adt     -package 
        -target apk-captive-runtime 
        -storetype pkcs12 -keystore ../codesign.p12 
        myApp.apk 
        myApp-app.xml 
        -C bin .

ただ、アンドロイドの場合は今64bitが必要になるので、2回ビルドする必要があります(32bit版と64bit版)。両方、SDK33で行えますが、32bit版だけSDK32を使う、ということも可能かと思います(HARMAN社のロゴが入ってません)、こちらは2020年8月以降だと必須になります。64bit版は、64bit対応のものがないと、64bitの端末からゲームがストアに表示されなくなるということらしいですが、現時点では、まだまだ32bitしか対応してない端末が多いです。

つまり、両方がないといけません(ややこしい)。

ちなみに、ANEを使う場合、32bitのANEが64bitのアプリでは使えません。ええ。使えないのです……😫😫😫😫

しかも64bitANE対応のものって、案外数が少なくて、結構高いものが多いです💸💸💸

③STEAMの場合

STEAM版は、何もしなくても起動できるはずですが、かなり前それをやってみたら、タイトル画面にてshift+tabを押して、コミュニティを開いてみたら、ゲームがフリーズしてしまいました。

なので、念のために必ずfresteamworksのANEを入れてください:(v0.6以降はカタリナに対応できます)

https://github.com/Ventero/FRESteamWorks

これを使うと、WINとMACでも、STEAMAPIが使えます。例えば、事績や、購入を確認するためのAPIなど。

ただし、MAC カタリナに対応したければ、使うSTEAMSDKが、必ずver46以上にしてください。redistributable_binにosxフォルダがあるほうです(osx32ではありません)

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限

ユーティリティ

2025年03月

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

カテゴリー

検索

エントリー検索フォーム
キーワード

ユーザー

広告

新着コメント

Re:パッケージ版
2012/01/25 from Chu-3
Re:パッケージ版
2011/12/15 from ゆうひ

Feed