クリアメモリ

プログラミングやモーショングラフィックス、便利なアプリケーションなど雑多に記録するブログ

【Unity】iOSアプリを閉じても再起動されないようにする方法

f:id:clrmemory:20170422170853p:plain 

Unityで作ったスマートフォンアプリは、デフォルトの状態だとアプリを閉じた段階で終了されてしまいます。

閉じた後すぐに再度起動した時は閉じる直前の画面を復元したいのに、アプリが再起動されるのでアクションゲームなどでは致命的です。

 

そこで今回はUnityで作ったアプリを閉じてもしばらくは完全終了されないように設定する方法を紹介します。

 

 

はじめに

 

今回紹介する方法はUnityで作ったアプリでのみ実装できます。Unity以外でビルドする場合は正しく実装できないので注意してください。

アプリを閉じた時にすぐ終了する設定にしてしまうと、広告を見てもらったタイミングでアプリが終了されてしまうなどアクションゲームなどでは致命的です。

 

また誤ってアプリを閉じてしまったり、途中でメールを確認できないなど悪いことの方が多いので設定しておきましょう。

 

ですが注意しなければならないこともあるので、その点は後述します。

 

アプリを閉じても終了しないようにする

 

Unityでアプリを閉じても再起動しないようにする方法はとても簡単です。

まず実装したいアプリのPlayerSettingsを開いてください。

 

PlayerSettingsは、

 

File >BuildSetting > PlayerSettingsから開くか、

Edit > ProjectSettings > Player

 

で開くことができます。

 

スクリーンショット 2016-02-19 12.02.49

 

続いてプラットフォームをiOSに変更し、「Other Settings」を開いてください。

見た限りだとiOSのみ設定があるようなので、Androidでは設定方法が違う可能性があります。必ずiOS端末で実装しましょう。

 

 

スクリーンショット 2016-02-19 12.04.42

 

OtherSettingsを開くと「Behavior in Background」という項目があるので、「Suspend」に変更してください。

(デフォルトだとExit)

 

スクリーンショット 2016-02-19 12.09.05

 

たったこれだけでスマホのホームボタンを押しても、しばらくはアプリが終了されないようになります。

できれば実装しておきたいですが注意点もあります。

 

注意点

 

注意点とは言ってもごく当たり前なことなのですが、この設定をしているアプリはバックグラウンドでも終了しないようになります。

つまり、アプリを閉じても常に起動している状態になるということなので、アプリが重たいとバッテリー消費が激しくなってしまうという難点もあります。

 

 

この設定だけではアプリ終了後何分でアプリを閉じるなどの設定はできないので注意してください。

バッテリー消費などが大丈夫なアプリであればバックグラウンドでの起動は重要なのでぜひ実装しておきましょう。

 

まとめ

 

今回の方法を使えば、誤ってアプリを閉じてしまった場合やメールを開いた場合、広告を開いたタイミングなどでもアプリが再起動されることはなくなるので、保存する前に消えてしまう危険性がなくなります。

アクションゲームや対戦ゲームなどを作っている人はぜひ実装してみてください。

 

ではまた。