GooglePlayConsoleによる「アプリで 16 KB メモリのページサイズをサポートする必要があります」の対処方法

AppBandleの下のほうに16KB対応か非対応の場合どのdllが対応していないのかを調べることができる。


そしてそのdllを検索などするとNice Vibrationsが16kbに対応していないことが分かった。

Nice VibrationsはFeelを使用していると勝手についてくるdllらしい これは高速な補間アニメーションを作る際に使われるそうだがGitHubでは2024年あたりのイシューに同じ内容で問題提起されていたようだ。

まあ2025で対応できていないのでこれを修正するにはUnityの検索で「Nice Vibrations」と検索すると

Nice Vibrationsのフォルダが2つ現れる これを右クリックで削除して

コンパイルを通すとエラーが出てくる #ifndef イネーブルをそっくりそのまま削除するだけ

これだけで対応できる。外部アセットを使うときはこういった対処が増える モバイルの場合はなるべく外部アセットに頼らない作りにするのがいいのかも

知れない

UnityでButtonをインスペクターから入れれない罠

 

Untiyやってるとたまに不思議な現象に陥る

 

public Button A;

 

とやってもインスペクターからボタンをアタッチできない

 

ならばStartでthis.GetComponentすればよくねとおもったらなんか無いよー系エラーがでる

 

 

これUnity側のバグなんじゃ無いかと 

 

usingの名前解決のせいなんだけど

 

using UnityEngine.UI

 

Buttonには 

 

UnityEngine.UI.Button 

 

こうしないといけない

 

長くなるからめんどくさいけどしないとエラーになる罠

Unity個人ゲーム開発でAndroid実機選びの罠

モバイルように、実機を選定する際AndroidiPhoneでかなり違いがある

 

とくにAPIには注意したい。   

 

 

そもそもエミュレーター使えばいい話だが操作感を実機で試したい、FPSが落ちているか、ミドルレンジでも動くかを確かめたい

 

そんな時実機があればすぐに確認できる、そう思い激安と激高の間にあったギャラクシーを購入したのだが

 

Androidは1年ごとにメジャーアップデートが起こる最低API13からいまや15だ 

 

当然ギャラクシーもアップデートを行いたいが通知が来るときにはアップデートパッチがすぐにはこない。

 

メジャーアップデートはAndroid側が発表してもメーカー側とラグがあるようでしばらく待つ必要がある

 

さらにGooglePixelとは違いギャラクシーはメジャーアップデートのサポート年数が短いと噂されてたり7年間のサポートがあるような書き方されてたり

 

 

 

 

どうしても実機が欲しいならGooglePixel買えばいいよねって話だが

 

 

 

 

高いよね

 

 

 

Update関数にCursor.visibleをfalseにしたのにカーソルが非表示にならない!なんで!?(Unity)(PlayMaker)


もしかして、PlayMakerをご使用ですか?



PlayMakerを使用するとシーン上に自動でPlayMakerGUIが生成されます。

このコンポーネントのマウスカーソルを制御 これをOFFにしましょう。


でもこれをOFFにしたらPlayMakerのカーソル制御ができない!ってなりますね~ まあそういうときは素直に






PlayMaker上でカーソルをいじるのがいいでしょうね

Guideline 4.3(a) - Design - Spamに対応しようとして新作を作った話

 

 

Androidで作ったゲームをiOSに移植しようと思ったらDesign spamを喰らってしまいました。

 

 

その後いろいろありApple側と数十回のやり取りの後何が原因かわかってきました。

 

 

最初はDesign spamの内容にもある通りメタデータを編集した。メタデータとはゲームの概要や説明文のようなもの。その後審査に通すと同じDesign spamメタデータの文が消えていた。

 

つまり、プログラムかリソース この2つが似ていると言うことになる。

 

 

プログラムについては再利用する部分が多いのが一般的でDesign spamの Designとあるぐらいなのでリソース関連でしょう。

 

リソースには音、UI、3Dデータが含まれる。

 

メインシーンに登場するUIは手書きで書いたもの。

 

音は個別に買ってるしそもそもDesignに該当しないはず

 

3Dモデルに当たりをつけ調べるとそう言えば以前リリースしたゲームと同じ3Dデータを使っていたなと

 

Design spam の種類もbではなく、a つまり、同じようなゲームはまとめろという内容。

 

そうカー3Dデータが同じやつ使ってると別ジャンルのゲームでもDesignspamになるんだーって

 

思いました。

 

そこで思ったのが今後ゲーム作る時は3Dモデルは全て自作しないといけない、

 

「無料なのに?」

 

大変だなと思った次第

 

というわけで今後はUIと3Dモデルに関しては自作しようと思う。

 

逆にそれくらいしないと作るだけじゃ売れないよとAppleさんが教えてくれたような

 

気がする

 

 

そしてモバイルアプリ開発といえば、既存のアセットストアからモデルやテンプレートを引っ張ってきて開発するスタイルが、

 

Unityの勉強でご参考にしていたインフルエンサーさん達の推奨していたやり方だったが

 

もしかすると今後モデルやテンプレート、2Dデータ、UIは自作する必要があるのかも

 

しれない

 

無料ゲームにそこまでする必要あるのかなーとか思ったり

 

自分もゲーマーなので最近買ったMMOオフラインだけどオンラインに見えるゲームを2000円で買って、キャラクターがなんかAssetstoreのポリゴンシティみたいなキャラで引っ張ってきたんだなってちょっとガッカリして、というかこれ2000円?たかくね?とかもしかしてアセットフリップしてる?とか

 

自分で言うのも何だけど、ユーザー目線からするとパクリかもしくは同じゲームに見える

 

 

 

 

 

 

まあそうなんだけど

 

 

 

 

 

 

作るしかないかー😨

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Android実機でテスト広告が出なくなったときのメモ


Editorではしっかりテスト広告が出るが、実機になると開発モードコンソール画面で「androidjavaexception: java.lang.classnotfoundexception: com.google.android.ump.usermessagingplatform」 というのが出てしまう。

ここで焦ってプロガードを編集してもエラーは治らなかったためさらに調べる。

調べたところこのエラーはAdmob側で欧州向けのGDPRGeneral Data Protection Regulation)を設定してしまった人がなる症状のようで。

設定しなければいいわけだが今後保守などを考えたら設定しないことを考えるのもめんどくさいので対処することに。

まず、AIによるとForceResoverというのを使用して必要なファイルを取り込めとあったのでそれをやる Asset->AndroidResorverからできる。

やったらSucsessウィンドウが出てくるのでそのままビルドするとこんどはcom.google.android.gms.ads.flag.optimize_initialization@value=trueというエラーでビルドできなくなった。

このエラーはAIによると「どこかのファイル設定のvalueがtrueなのにAndroidManifest.xmlはfalseだぞ」というエラーらしい、なんでそんなことになったのか「私にもわからん」状態だがこのエラーの対処方法はメインマニュフェストにチェックを入れて設定を上書きできる。<と、/と>でかこってください
meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION"
android:value="true" //ここがfalseだったのでメインマニュフェストでtrueに
tools:replace="android:value"
meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true" //ここがfalseだったのでメインマニュフェストでtrueに
tools:replace="android:value"

これでやると実機でもテスト広告が出た。

GDPRといい広告付きモバイルアプリは保守が年々めんどくさくなっている、Steamに逃げようかな💦

A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable See the Console for details.というエラーがUnityのAndroidで出ちゃった時のメモ


新しいAdmob使ってビルドしたところ引っかかってしまった。色々調べてカスタムテンプレートとか設定しろとかカスタムメインにチェックを入れろとかXMLファイルを弄れとかプラグインフォルダを消すとかGoogleMobileAdsとか関連フォルダを消したりBeeフォルダを消したりいろいろした。


さらにプレーンなプロジェクトを作り、調べるとこの手のエラーは新規プロジェクトを作ったらビルド自体は通ったことだ 



結論はキー関連のエラーだった。(わかるか!

どうやらアップデートなどSDKが更新される時にAPIがAndroid13→14になったりそれ関連でたしかにエラーが出てたので

SDK更新による新しい署名を鍵に設定する必要があるようで

鍵を新しく作成しなさいということらしいその後各プラットフォームで新しい鍵の申請を出すようにしましょう