モバイル用のパッケージ設定、その他広告設定
この件に関しましては、他の方が実践しているものの総集編です。自分用に作成しました。
動画版:Android
Project設定>プロジェクト>パッケージ〉
・プロジェクト>[Build Configuration]をShippingに
・プロジェクト>[完全に再ビルド]にチェック
・プロジェクト>[配布用]にチェック
(※注意!!iOSで実機プレイ、をする場合は[配布用]のチェックは外しましょう。モバイルプロビジョンの関係でエラーが出ます。)
・プロジェクト>[デバックファイルを含む]のチェックを外す
(ワンチャンチェックいるかも、C++の方とか)
・パッケージ>[Use Pak File]にチェックをつける
・パッケージ>[圧縮およびクック済みのパッケージを作成]にチェック
・パッケージ>[クラッシュレポート機能を含む]にチェックを外す
・前提条件>[前提条件のインストーラを含む]のチェックをつける
・※任意
[クック時にエディタコンテンツを除外]にチェック(なぜ任意かというともしマップ上などで床がエディタコンテンツだったら、床がなくなる!!ゆうてチェックつけても私のアプリ3MBしか減らなかったんだけど!!)
プラグイン設定
・VRがついているものはチェックを外す
・[OpenImageDenois]をチェックを外す
不要なアセットの削除
フィルタ>その他のフィルタ>[どのレベルでも使用されていません]の中身を削除
エンジンコンテンツは削除しない方がいいと思います。
Android
・Androidパッケージ名をちゃんとしたのにしましょう笑[例:com.(組織名).(ゲーム名)]
・[アプリケーション表示名]のところにアプリ名を入力
・APKパッケージ>[Package Game Data inside.apk?]のチェックを外す
・[初回スタート/更新時のOBB確認を無効化します]にチェック
・[バンドル(AAB)の生成]にチェックを入れる
※AABファイルの作成は必須となり、おそらくAPKファイルは受け付けません。まあAABの方がダウンロード早いし便利!
(AABファイルで「XAPK-Valadation Error」のエラーが出てきた場合、
プロジェクト設定>プラグイン>Google PADの「プラグインを有効化」にチェックを入れるとエラーがでませんでした)
ビルド>[armv7をサポート]にチェックを外す。
ビルド>[arm64をサポート]にチェックを入れる。
(ビルドの中にあるarmv7、arm64がありますが、どちらを選べば良いのでしょうか?私なら、arm64をサポートさせます。なぜならarm64の方は現代のAndroidスマホで扱われているからです。armv7とarm64両方サポートさ焦ることも可能ですが、私の時に変なエラーが出てきてから、arm64のみ対応にしています。)
そして、とあるツイートを見まして、引用させていただきます。
↓Android端末セーブできない問題
https://twitter.com/omegapointapp/status/1529743300223045632?s=21&t=ixYijC6Sy_L0SHNBJWwlIg
・「Google playサポートの有効化」にチェックを入れる
・「広告のAdmobサポートを含む」にチェックを入れる
・[Store Version offset(arm64)]を1に設定
・[Target SDK Versionを30]に設定
(31を進められますが、なんか知らんエラー出てくるので30で)
Support arm64[aka arm64-v8a]にチェック
高度なAPKパッケージ化>
・[<mainifest>ノードの追加タグ]に
com.google.android.gms.games.APP_ID="@string/app_id" com.google.android.gms.appstate.APP_ID="@string/app_id"
(ここら辺のmainfestの設定は自分もほぼ理解していません。よって上記のものは必要なのかも分かりませんが、一応つけています。)
を入力
[追加の権限](場合による)
例:com.android.vending.BILLING(課金を実装する場合)
を追加
Google Playサービス>
・[Google Playサポートの有効化]にチェック
・[Games App ID]を入力」
(App IDはGoogle play Console内のApp IDです!)
↓広告設定
・[広告のAdmobサポートを含む]にチェック
・[Google Play ライセンスキー]を入力
・[Admob広告ユニットID]の入力
App IDとライセンスキーについては、Google Play Consoleにある情報です。
Admob広告ユニットについては、Admob側で作成、確認をしましょう!
Google Play Storeにアプリをリリースする際は、デジタル署名という鍵が必要になってきます。ここで引っかかりやすいですが、頑張りましょう。
(我ながらよく自力で乗り越えたなと思っています)
デジタル署名を入力しましょう
デジタル署名の作成方法
一番見るべきは公式ドキュメントですがそれでもわからなかった場合、こちらの海外の方が投稿してくださったYoutubeの動画を参考にしましょう!
Android実機プレイについて触れた動画
・[Cook PVRTC~]のチェックを外す
・[Cook ASTC〜]にチェックを入れる
・[Support bitcode in Shipping]のチェックを外す
(iOSは正直まだわからないなう)
iOS実機プレイ方法について解説した動画
おまけ
再び実機プレイがしたくなった時の設定
・プロジェクト>[Build Configuration]をDevelopmentに
・配布用のチェックを外す
・iOSの場合、プロビジョニングプロファイルと証明書のチェックを開発用に変更しましょう。
他の情報が分かり次第追加して行きます
質問したい方は、チャンネル登録してからだよ?笑
参考リンク
広告
https://tyojugiga.hatenablog.com/entry/2019/11/22/191526
パッケージファイル小さくする、その他エラー解決法
https://miztobi.hatenablog.com
https://qiita.com/O_Y_G/items/8bc60efe54f9aefafd38
https://answers.unrealengine.com/questions/808474/view.html
リリースする際にやること
https://unrealengine.hatenablog.com/entry/2015/08/14/211733
UE4モバイルゲームでSave Gameができない時の確認すべきこと
皆さん、モバイルゲーム開発は楽しんでいるでしょうか?今回は、ゲームで必須になるであろうSave Gameの注意点について紹介したいと思います。
モバイルは、デスクトップ上でセーブが出来ても、実機上ではセーブができていないといった問題がよく発生します。セーブ以外にも色々モバイルはややこしいです。
チェックすべき事1つ目
プロジェクト設定>Android>UE4GameファイルにExternalFilesDirを使用しますか?
にチェックをつけましょう。これはAndroid限定の設定となりますが、もうこれでAndroid開発者の方は解決かな?笑
チェックすべき事2つ目
Save Gameを使うとき、必ず関数を使って処理を作成しますよね。その関数の使い方がセーブできない状態にしているかも知れません。
上の画像は一見正常にセーブゲームができそうな関数ですが、これではセーブができなかったんです。原因は、Create Save Game Objectの前のSet Array Elemです。
Set Array Elemに限らず、save関数の中に他の処理を実行するのはやめておきましょう。私もこのような処理を行っていて、迷宮入りしそうになりました笑 ほんと笑えないけど
ということで関数の中はセーブ処理だけ!無駄なものは入れないように!そのような処理はSave Game関数を呼び出す前に実行しましょう!
おまけ
必須ではないですが、Slot Nameは、変数化しておいたほうがいいです。変数にしなくても毎回同じ文字入力すればいいじゃん、と思いますよね、私もその考えで毎回入力していました。その結果、またまた迷宮入りしそうになりました。原因はSlot Nameに無駄なスペースが入っていた、だけです。ほんとこれに一時間近く原因を探していた、、という風にはなりたくないですよね。ですから、簡潔に変数化しましょう!
では、素敵なUEライフを!!
iOSで実機プレイしたら、一部のTextureが"See Power of Two Setting in Texture Editor"と出てくる問題について
この頭がおかしくなりそうな画像。。。
これはある日、私がiOS端末に実機プレイをした時に出た表示です。もともとこの画像は、しっかりとした画像で(語彙力)Android端末では映っていたわけですよ。なのにこのざま。
iOSさん...厳しいですよ...というわけで解決策を二つご用意しました(不確か)。
一つ目
プロジェクト設定のiOS項目の、レンダリングをいじります。いじり方は非常に簡単で、
「Cook PVRTC texture data for OpenGL ES or metal on A7 and earlier devices」のチェックを外して、「cook ASTC texture data for metal on A8 or later devices」にチェックをつけるだけです!簡単!↓この状態にしましょう。
おそらく一つ目で解決しそうな問題ですが、もう一つ提案しておきます。
二つ目
対象のTextureを開いて、圧縮設定が、デフォルトになっていると思うので、「Userinterface2D」に変更しましょう!
↑この状態から...
↑この状態にするだけ!
この二つのどちらかをすることで...
おそらくあの文字が消えているかと思います!
UE4のiOS実機プレイで、「The Legacy Build System Will be removed in a future release」と表示されたときの対処法
皆さんUE4ライフをいかがお過ごしでしょうか?
今回、私はiOSで実機プレイをするべく、macとiPhone13を直接繋ぎ、そらまめゲームズさんの記事を参考にして、進めてきました。
↑これみれば、ほぼほぼ出来ます。いや、全てできます。
↑動画で見たい方はepic 公式さんが出しているyoutubeでやろう!
はい、本題...
記事の通りにやったのに、、、あんなエラーが出てしまった。
なぜこのようなエラーが出てくるか、
問題は、Xcodeにあると思います。。しかし!
調べたところ...
UE4のバージョンに問題があるそうです!!
私は当時、UE4.26で開発しておりました。それでこのエラーが出ました。
それをUE4.27で実行したところ。。。
解決しました!!
正直xcodeの知識がぜろなので、解決してよかった。
もし、ue4.27で同じエラーが出てきたら、私の知識では無理ですすみません笑