宝石小箱。

    つれづれなるままにいろいろ書きなぐった日記です。

    今まで作ったフリゲアプリ化計画

    どうも、首を痛めたriruです。
    腕が突っ張ってたのでのばしたら回復してきたけどこういうとき動かした方がいいのか安静にしたらいいのかわからなくなるよね

    というわけで昨日はそのせいか朝から目がかすみ、作っていたイベントエディタの作業もまともにできなかったのでなんとなく今まで作ったフリゲのアプリ化を試していました。とりあえずそのままアプリ化できる刃物から。

    ででーん

    上手く広告が入らなかったり色調変更してるところが真っ黒になったり、重いので軽量化図ったりいろいろしていたら丸2日かかってしまった…
    以下備忘録も兼ねたアプリ化の仕方(Windows・デバイスはAndroid・広告はAdmob)
    (長くなったので収納)

    1つ前の記事・5/7web拍手ありがとうございました!

    <Admob広告の導入>
    Had2App様の広告導入プラグインを使わせていただきました。
    MV 2 Cordova
    アプリ化を先にやっていたし設定が間違っていたのかなんか上手くいかなかったのでプラグインのみ使わせていただき、またcordova-plugin-admobproではなくcordova-plugin-admob-freeの方を使わせていただいたのでそこらへんに対応するために一部プラグインを改造しています
    (cordova-plugin-admob-freeの導入の仕方
    コマンドプロンプトで
    cordova plugin add cordova-plugin-admob-free --save --variable ADMOB_APP_ID="Admobでアプリを登録した時に手に入れたアプリID"
    と打ち込む
    参考サイト→【Cordova】AdMob Free版のインストール・使い方
    プラグインの改造はH2A_AdMob.adInitの中身を
    H2A_AdMob.test.adInitIsCalled = true;
    var admobid = {}
    if(/(android)/i.test(navigator.userAgent)){
    H2A_AdMob.enable = true;
    admobid = {
    banner: H2A_AdMob.bunnerID
    }
    } else if (/(ipod|iphone|ipad)/i.test(navigator.userAgent)) { // ios
    H2A_AdMob.enable = true;
    admobid = {
    banner: 'ca-app-pub-3940256099942544/2934735716'//←iOS用も導入するならここのIDを作成した広告枠用に変える
    }
    };
    if(!H2A_AdMob.enable || !AdMob) return;
    H2A_AdMob.test.adInitIsPassed = true;
    admob.banner.config({
    id: admobid.banner,
    isTesting: H2A_AdMob.isTesting,
    autoShow: true,
    });
    admob.banner.prepare();
    H2A_AdMob.test.adInitIsFinish = true;

    とする

    ツクールのプロジェクトのwwwフォルダの中のindex.htmlをメモ帳などで開き、bodyタグの中に
    <script type="text/javascript" src="cordova.js"></script>
    を追加。
    (順番はとりあえず私はjs/libs/pixi.jsの上の一番上に追加しておいた)
    【おまけ:メディエーションを追加】
    Admobでは同じ広告枠に違う配給会社の広告を出すメディエーションというものが用意されています。これによってよりマッチした広告が出せるという訳ですね。今回はAd Generationの広告をだすやり方を載せますが、他のところでも同じようなノリで行けると思います。参考サイト→AdMobメディエーション Android SDK バナー広告/インタースティシャル広告
    参考サイト2→Androidにjarファイルの追加
    メディエーション先の広告枠を作っておく(バナーならバナーで統一。1日以上かかったりするのではやめにやっておくとよい)

    Admobのメディエーションでメディエーショングループを作成する。広告ソースはカスタムイベントでClassNameはcom.socdm.d.adgeneration.ADGAdMobMediation、Parameterは作成した広告枠のID(誤ってタップすると規約違反になる恐れがあるのでぎりぎりまでテストIDにしてもよい)

    SDKを追加するために作品別フォルダ/platforms/androidの中にあるbuild.gradleを開いてその中で
    allprojects {
    repositories {
    google()
    jcenter()
    }
    となっているところのjcenter()の下あたりに(googleとかは状況によっては変わってるかもしれないけどとりあえずrepositoriesの中)
    maven { url 'https://adgeneration.github.io/ADG-Android-SDK/repository' }
    と記入

    作品別フォルダ/platforms/android/appの中にあるbuild.gradleを開いてdependencies(implementation fileTree(dir: 'libs', include: '*.jar')とかごちゃごちゃある方)の中に
    implementation 'com.socdm.d.adgeneration:adg:+'
    を追加する

    こちらからアダプタをDLして作品別フォルダ/platforms/android/app/libs(libsフォルダがなかったら作る)に置く

    implementation 'com.socdm.d.adgeneration:adg:+'を追加したのと同じ個所(これの1行上でOK)にcompile fileTree(include: ['*.jar'], dir: 'libs')
    を追加する

    <アプリ化>
    このあたりの参考サイト→RPGツクールMVのAndroidアプリ化(Cordova)
    ・ツクールのプロジェクトはiOS/Androidでデプロイメントしておきます。

    jdk、sdk、Node.jsをインストールする。ここらへんはぐぐれば配布してる公式サイトが出てくる。AndroidStudio入ってればsdkはそこからマネージャー通して入手できるはず

    cordovaをインストールする。
    コマンドプロンプトを出して
    npm install -g cordova
    と打つとインストールできるはず

    システム環境変数にJAVA_HOMEがなかったら追加。パスはJDKのフォルダ。
    環境変数はコントロールパネル→システム→システムの詳細設定からいけると思う。
    ANDROID_HOMEもなかったら追加。パスはAndroid SDKをインストールしたフォルダ。
    その後Pathに以下を追加。
    %JAVA_HOME%\bin
    %ANDROID_HOME%\platform-tools
    %ANDROID_HOME%\tools
    %ANDROID_HOME%\tools\bin
    %ANDROID_HOME%\build-tools


    コマンドプロンプトで
    cordova create 作品別フォルダ名 パッケージ名 アプリ名 -d

    cd 作品別フォルダ名

    cordova platform add android

    と打ち込んで出力先を作成する。フォルダ名はそのままフォルダ名。通常ならユーザーフォルダ直下にできる。パッケージ名は”com.Company.Name”のような形にしないとエラーになる。アプリ名はホーム画面にアイコンの下に出る名前。
    ※ここから下のコマンドプロンプトはすべて作品別フォルダのパスで打つ

    作られた作品別フォルダにあるwwwフォルダをデプロイメントで作られたwwwに差し替える

    作品別フォルダの中のconfig.xmlのauthorを自分の作者名に変える。
    更新の時に必要になるので、上の方にある
    とかなっているところのどこかに android-versionCode="バージョンコード"
    を付け加える。idの前とかでいいと思う。ここになにもなければバージョンコードは10000になるとおもうので10000辺りにしていくといいかも。更新の際はここの数を増やさないとGooglePlayにアップロードできないので注意。普通のバージョンはここのversionで管理できると思う
    また同じファイルの中にSDKのターゲットを指定する欄を加える。(古いバージョンだと動かないので)
    <platform name="android">
    <allow-intent href="market:*" />
    <preference name="android-targetSdkVersion" value="28" />
    <preference name="android-minSdkVersion" value="21" />
    </platform>

    画面を縦or横する場合はこれもindex.htmlが書いてある下の行に加える
    <!-- 縦固定 -->
    <preference name="Orientation" value="portrait" />

    <!-- 横固定 -->
    <preference name="Orientation" value="landscape" />

    ツクールで使っているアイコンを使用する時は同じところに以下も加える
    <icon src="www/icon/icon.png" />

    コマンドプロンプトで
    cordova prepare
    を実行(フォルダ内に変更がある度)
    cordova build android
    でデバッグビルドができる。
    <ここでビルドエラーが出る場合>参考サイト→【Cordova】ビルド時のエラー対策(cordova build android)
    私の場合はAndroidStudioのSDKの中にgradleが入ってなかったっぽかったので公式サイトで単体でDLしてシステム環境変数のGRADLE_HOMEにそのパス、そしてPathにそのパス\gradle-(バージョン名)\binを追加しました

    <リリースビルド>
    参考サイト→GooglePlay登録用apkを手動で作る
    参考サイト2→CordovaでAndroidアプリのリリース用apkファイルの作り方
    コマンドプロンプトで
    cordova build android --release
    と打ちリリースパッケージを作成

    作品別フォルダ/platforms/android/build/outputs/apk/releaseにapp-release-unsigned.apkというファイルができているはずなので確認、そこのフォルダのパスが表示されてるところでcmdと打ちコマンドプロンプトを出す
    ※ここから下はここのパスのコマンドプロンプト上で操作する

    コマンドプロンプトで
    keytool -genkey -v -keystore キーストアファイル名 -storepass ストアのパスワード -alias エイリアス名 -keypass キーのパスワード -keyalg RSA -validity 10000
    キーストアファイル名、ストアのパスワード、エイリアス名、キーのパスワードはなんでもいいが必要になるので忘れないように
    そのあと色々聞かれるので答える。組織名とかは空欄でも構わない。
    ちなみに場所の記入でこの単位に該当する2文字の国コードは日本は81になる
    そのあと
    JKSキーストアは独自の形式を使用しています。"なんたらかんたら"を使用する業界標準の形式であるPKCS12に移行することをお薦めします。
    と出たらそのなんたらかんたらの部分をコマンドプロンプトにコピペしてEnter
    キーストアファイル名(自分はエイリアス名も同じ名前でやっているのでエイリアス名かもしれない)のファイルができていたら成功。なおこの作業はファイルを作るものなので、ファイルができたら1プロジェクトにつき1回限りで良い

    コマンドプロンプトで
    jarsigner -verbose -keystore キーストアファイル名 app-release-unsigned.apk エイリアス名
    と打つ。

    コマンドプロンプトで
    %ANDROID_HOME%\build-tools\バージョン\zipalign.exe -v 4 app-release-unsigned.apk お好きなファイル名.apk
    と打つ
    バージョンは導入したSDKの中のbuild-toolsフォルダの中に数字が書いてあるフォルダがあるのでそれを記入する。(私の場合は28.0.3でした)
    これでお好きなファイル名になったapkファイルが出力されるので、これをGooglePlayなりで配布すればOK!お疲れさまでした!
    別窓 | スクリプト・テクニック | コメント:0 | トラックバック:0 | ∧top | under∨
    <<アプリ化したゲーム予約開始 | 宝石小箱。 | のんぼくのプレイヤー移動をボタンでできるようにして会話ウィンドウを出すまで>>

    この記事のコメント

    ∧top | under∨

    コメントの投稿

     

    管理者だけに閲覧
     

    この記事のトラックバック

    ∧top | under∨
    | 宝石小箱。 |