【Unity】NCMB導入後に画面が崩れた時の対応

NCMB入れたらAndroidの画面がおかしくなった Unity
スポンサーリンク

この度は前回紹介したNCMBの導入方法を行なった後にAndroidの挙動がおかしくなることがありました。
修正方法がなかなか見つからず苦労したのでこちらに備忘録として残しておきたいと思います。

NCMB導入後にAndroidで不具合

前回の記事で紹介した記事導入後に問題が出るケースがありました。

どんな問題かと言うと
Androidだけ画面が突然おかしくなります!
なんとも表現できないのですが、画面がクシャッとなる感じです。
そしてアプリを立ち上げ直すとたまに治ったり、また画面が崩れたり…

写真はこんな感じです。

androidで画面がおかしくなった

本来は下記アプリのタイトルです。

全然違うじゃん…
一体どうしたら良いの?

って感じでした。

 

 

原因が分からなさ過ぎるので調査

兎にも角にも問題がわからなさすぎるので
こういう思考で少しずつ問題を絞っていきました。

Q. 以前から起きていたのか
 A. バージョン管理で戻しても起きていなかった

Q. どのタイミングなのか
 A. NCMBを入れたタイミングでおかしくなる!

Q. バージョンが悪いのか
 A. 試していなかったv4.0.3などに入れ替えても動かないためバージョンではない

Q. どのファイルが問題を起こしている?
A. ひとつずつ消して&ビルドを30回近く繰り返し特定
 「Asset/Plugin/Android/AndroidManifest.xml」が原因!

このように数日かけて原因のファイルを特定しました!
すでに実装部分と合わせて精神を削られていたので
心が折れそうでしたが…

 

該当ファイルの問題点を調査

原因が「AndroidManifest.xml」ということが特定できました。
ただファイルはNCMBと同時に導入されたファイル、NCMBの設定に必要です。

さすがに消すわけにはいかないですよね…

そしてxmlなのでHTMLのようにタグがたくさんあるのですが
それを一つずつ消してビルドする作業を始めました。

全ブロックを一部ずつ消してみて、動作を確認したところ…どうしても動かず。

どうしてなんだぁぁぁ!

と思ってここで一度絶望しました。

 

調査していないことに気づく

AndroidManifest.xmlを特定した後にそのワードで検索するのを忘れていました。

てへぺろ

検索すると先人がいらっしゃいました!

ただかなりの前の不具合だったので、ずいぶん前の記事のようです。
それがこちらです。

ここにはタグに不具合あるそうで
NCMBからインポートしたときに「AndroidManifest.xml」が下記のようになっているものを

<activity android:name=”com.nifty.cloud.mb.ncmbgcmplugin.UnityPlayerProxyActivity”

下記のように書き換えます。

<activity android:name=”com.unity3d.player.UnityPlayerActivity”

そして下記をそのタグの中に追記する必要があるようです。

android:screenOrientation=”sensorLandscape”

要するに自分はこんな感じで対応しました。

manufestxmlの内容

本当に助かりました!
過去の英知に感謝です!

 

 

ビルドしてみる

動きました!
何度アプリを再起動しても画像が乱れることはありません!

終わったかと思うと本当に肩の荷が下りました…
(実はNCMB諦めようと思ったのは秘密です。コソコソ)

 

アプリのPR

このアプリの開発で本記事を書くきっかけとなりました。

 

最後に

いかがでしたでしょうか?

今回はNCMBで起きた画面が乱れる不具合の修正について紹介してみました。
自分もかなり苦しんだのでそのような人がいなくなるように備忘録を残せればと思います。

これからはもう苦しまないぞ!

では本記事はおしまいにしたいと思います。
ここまでお読みいただきありがとうございました。

コメント

スポンサーリンク
タイトルとURLをコピーしました