先日、僕がAppStoreで出しているZenyというアプリのユーザさんから、こんなメッセージをもらいました。

「なんか、このアプリが数時間以上バックグラウンドで動き続けてバッテリーを消耗してるんですけど、なんとかなりませんか?」

しかし、Zenyは特にバックグラウンドで動く動作もないし、なんでだろなと訝しがっていると、似たようなメッセージがまた届いた。

「なんかこのアプリがバックグラウンで動き続けてバッテリー食うので治して欲しいっす。治るまでひとまずアプリ削除しときます。」

うーむ、なんだろうと思って色々調べていたところ、確かに、自分のiPhoneの設定でバッテリー消費を見てみると、Zenyを閉じてもずっとバックグラウンドで動き続けて、バッテリーをじわじわ消費しとるのが確認できました。

ついでに、広告バナーをつけてるListTimerも調べたら、全く同じ問題が発生していた。ListTimerはバックグラウンドで動かずバッテリーを消費しないのが売りのアプリなのに。。

そして、試しにAdmobを外して使ってみると、問題が解決。これはAdmobがなんかおかしな動きしとるのではと思ってググってみたらこんなの発見。

https://support.google.com/admob/thread/51913064?hl=en

要約すると、GADBAnnerViewを設置しているんだけど、アプリがバックグラウンドでも動き続けてユーザからバッテリー消費すると言われてるんだけど、ポーズする方法ないの?という話。

それに対して、俺も同じ問題起きてるけど、Google-Mobile-Ads-SDK version 7.53.1までバージョン戻したらこの問題起きなくなったよという返信があった。

なので、早速僕のアプリでもバージョン落としても、特に解決せず。さらに、一年前ぐらいのバージョンまで落としたけど解決せず。

どうも、僕のアプリでこの問題のフィードバックが来たのが6月の中旬ぐらいなので、このフォーラムの時期ともかぶってる。以前はこういう問題は起きなかったので、おそらく、iOSのバージョンアップで新しくAdmobで発生している問題なのではと疑っている。

バックグラウンドでAdmobを外すことで対処

しょうがないから、アプリを閉じた時点で、Admobのバナー広告を外し、アプリを開いたらまたロードし直すという方法で対処したら、問題がひとまず解決しました。Admobのアップデートがされて解決するまではこれで対処するしかなさそう。

僕のアプリでは、アプリに貼り付けたAdmobのビューをバックグラウンド時は一旦隠すという対処では、バッテリー消費問題が解決しなかったので、いちいちAdviewを外して、また付け直すということをしてます。

なるはやで、2つともAppStoreでアップデートしたい。

周りのアプリ出してる友達も同じ現象が発生してる模様

iOSアプリに広告つけてる友達二人に、「似たような問題発生しとりませんか?」って聞いてみたら、二人とも発生していたみたいなんで、これは僕のアプリ特有の問題ではないっぽいことも判明。

これは地味にみんな気づかずユーザさんが離れてしまっては問題なのではと思ったので、ブログで共有してみた。違った解決方法とか、情報ありましたら、@umekun123まで教えてくれると嬉しいです。


*自己紹介はこちら