どうも、兼業アプリ開発者のなおゆです。
UnityでAndroid向けアプリをビルドしたところ、ナビゲーションバーの戻るボタンが効かない状態になってしまったので備忘も兼ねて、対応方法をまとめます。
ナビゲーションバーとは?
ナビゲーションバーとは、Android3.0(スマホは4.0)以降に搭載されている◁○□のボタンの事で、順番に「戻るボタン」「ホームボタン」「タスク管理」となっています。
Android9では更にナビゲーションバーが新しくなり、タスクキーとホームキーが統合されていたり、されてなかったり。
このバーは普段は画面下に隠れていて、画面下を上にスワイプする事でバーが表示されます。(機種によって違う場合がございます。)
Unityで作ったアプリには表示されない?
実はこのナビゲーションバーは、UnityでAndroid向けにビルドしても表示されません。
画面下を上方にスワイプすると出てきますが、◁の戻るボタンは効きません。
戻るを押してもやめれない!このゲーム操作性最悪じゃん!
Unityを解説している本でも、ナビゲーションバーに関する記述は見たことがありません。結構重要なのにナゼ?
理由は不明ですがUnityはそういう仕様のようで、スクリプトでコードを書いてあげないと戻るボタンが機能しません。
戻るボタンを有効にするコード
スクリプトに補記して戻るボタンを有効にしてあげましょう。なんだか難しそうですけど、めっちゃ簡単です。
void Update()
{
Input.backButtonLeavesApp = true; //戻るボタン有効化
}
これで戻るボタンを押した際にアプリを終了する処理が追加されました。
ナビゲーションバーを常時表示する方法
ナビゲーションバーを常時表示する方法もありますので、一応記載しておきます。ゲームのジャンルによってはプレイに支障がでる場合もあるので注意してください。
void Awake()
{
Screen.fullScreen = false; //ナビゲーションバーを常時表示
}
これでナビゲーションバーが常時表示されるようになりました。
意外と知らないナビゲーションバー
私の普段使いスマホはiPhoneなので、このバーの存在を知りませんでした…オハズカシイ(iPhoneには戻るボタンが存在しないんですね)
Android使いの嫁さんに、ゲームのテストプレイしてもらった時に「このゲームやめれないんだけど!」と指摘されて気付きました。トホホ…
実機テストはやっぱり大事。
コメント