Facebookアプリがバッテリーを無駄に消費する原因だと発覚、バックグラウンド動作をオフにしても無音ファイル再生で無効化

By Ze'ev Barkan

FacebookがiOS向けにリリースしているアプリが、バックグラウンド更新をオフに設定してもユーザーの意図に反して更新を続け、結果としてバッテリーを大量に消費していたことが判明しました。そのからくりは、常に無音のサウンドを再生し続けることでアプリが稼働中の状態にあるようにするというものであり、いわばシステムの裏をかいた「細工」ともとれるものであることがわかっています。

iPhone 6s battery life and the Facebook app | BGR
http://bgr.com/2015/10/14/iphone-6s-battery-life-facebook-app/

まず最初にFacebookアプリの異常なバッテリー消費を発見したMatt Galligan氏は、ブログプラットフォームのMediumで公開しているブログでその詳細を公開しています。

Battery life, load times, and actually giving a shit about your customers — Medium
https://medium.com/@mg/battery-life-load-times-and-actually-giving-a-shit-about-your-customers-c3738386bded

ブログによると、Facebookアプリのバッテリー使用率が異様に高いことに気づいたことから調査を行ったところ、先述のような「細工」が見つかったとしています。Galligan氏のiPhone 6s Plusでは、設定画面の「バックグラウンド更新」の項目でFacebookアプリを「オフ」にしていたにもかかわらず、過去7日間の消費量で実に15%もの割合を占めていたことが判明しています。


Galligan氏がブログで上げていたのは以下のポイント。あまりにも不可解な状況にGalligan氏は疑問を投げかけています。

・過去7日間において、Facebookアプリは自分のiPhone 6 Plusのバッテリーを最も消費したアプリだった
・その消費量は、実に15%にも上る。
・バックグラウンド更新をオフにしていたにもかかわらず、ホームボタンを押してもアプリは実際には「スリープ状態」には入っていなかったため、常にバッテリーを消費する状態だった
・特に私にメリットを与えることもなかったのに、アプリは実際に私が使用した時間よりも2倍長く稼働していたことになっている
・Safariのようなバッテリー大食いのアプリでさえ、Facebookアプリより3ポイントも少ない消費量を示している。これは実際に自分が使った時間がFacebookアプリより30分以上も長かったのに、である。

この公表を受け、自身もデベロッパであるNick Heer氏が自身のブログでその現象の原因を公開し、iOSに備わっている機能を「悪用」していることを指摘しています。

The Background Data and Battery Usage of Facebook’s iOS App — Pixel Envy
http://pxlnv.com/linklog/facebook-background-data/

Heer氏によると、FacebookアプリはVOIP backgroundingaudio backgroundingcontent-available push notificationsの機能のうちどれか、もしくはそれらを組み合わせてアプリを常に動作状態にしている、とのこと。以下のツイートでは、Facebookアプリが「Audio(音声)」機能を使ってバッテリーを消費していることを示す画面が公開されています。

Heer氏はさらに「勘違いしないように。これはユーザーに対する敵対行為です。Facebookは、ユーザーの意図に反してアプリが更新を続けるように仕向けるための手法を自ら作りだしています。皮肉なことに、バッテリー消費を少なくするためのベストな方法は、バックグラウンド更新をオンにすることです。もしくは、Facebookアプリをアンインストールして、同じくFacebookがリリースしているアプリ『Paper』(日本未提供)に乗り換えることでしょう」と痛烈に批判しています。

さらに、Mac関連のブログ「MacStories」を運営するFederico Viticci氏が具体的な手法を推測。Viticci氏は「おそらくFacebookアプリは、無音のサウンドを再生することでiOSのオーディオセッションをハイジャック(悪用)していると考えられます。なぜなら、私のiPhoneにインストールしてあるFacebookアプリでは、Wi-Fi環境でも携帯電話網の状態でもビデオのオートプレイをオフに設定してあるので、Facebookアプリは何らかの方法でビデオやサウンドをバックグラウンドで再生している可能性が非常に高いと思われます」と詳細を明らかにしています。

The Background Data and Battery Usage of Facebook’s iOS App – MacStories
https://www.macstories.net/linked/the-background-data-and-battery-usage-of-facebooks-ios-app/

これらの指摘を受け、Facebookは対応を発表。FacebookのスポークスマンはTechCrunchに対して、Facebookは事実を確認しており、詳細を調査中であること、そして修正版を「近いうちに」リリースすると語ったとのこと。

Facebook Working On Fix For iOS App Battery Drain Issue | TechCrunch
http://techcrunch.com/2015/10/15/facebook-working-on-fix-for-ios-app-battery-drain-issue/

いわば、これらのブログで明らかにされていることは「状況証拠」であるため、Facebookが悪意をもって意図的にこのような動作を組み込んでいたと結論づけるには至らないとするのが現時点での適切な判断といえそう。とはいえ、アプリがユーザーの意図に反する動作を行っていることは状況から見て明らかであり、貴重なバッテリー容量がガンガンと消費されることは決して好ましいとは言えない状況なので、何らかの対策をFacebookが行うというのは必然です。

このほか、Facebookアプリはソフトウェアアップデートの際にその内容をApp Storeなどで公表していないこともあり、実際にどのような変更が加えられているのか、ほとんど把握できない状況となっているため、将来リリースされるどのバージョンから正常化するのかが不明である以上、バッテリー消費を回避するために今すぐできる対応策としては「アプリをアンインストールしてブラウザからFacebookを使う」のが最適な選択肢となっています。

・つづき
Facebookが正式にモバイルアプリがバッテリーを無駄遣いしていると認める - GIGAZINE

・関連記事
サクッと実行できるスマホのバッテリーを長持ちさせるための8つの方法 - GIGAZINE

Chrome対Safari対Firefox、最もバッテリー消費が激しいブラウザはどれ? - GIGAZINE

Windows搭載マシンはなぜバッテリー消費量が多い傾向にあるのか? - GIGAZINE

iPhoneのバッテリーがゼロになる前にPCのデスクトップへ残量を通知できる「iBetterCharge」 - GIGAZINE

Androidアプリのバッテリー消費を最適化するための方法をデベロッパーが公開 - GIGAZINE

スマートフォンのバッテリーの減りが早い原因はバグだらけのアプリ - GIGAZINE

ノートPCのバッテリー寿命を長持ちさせるためにはどうすればよいか - GIGAZINE

iPhone 6sなどのCPUがサムスン製だとTSMC製よりバッテリーがもたない、確認する方法はコレ - GIGAZINE

スマホのバッテリーを長持ちさせて電池寿命をのばす4つのコツ - GIGAZINE

スマホ・ノートPCなどのリチウムバッテリーの寿命を延ばす方法 - GIGAZINE

Google ChromeがWindowsノートPCのバッテリーを食いまくっている - GIGAZINE

無償で「iPhone 5」のバッテリー交換を8月29日からAppleが開始、確認方法まとめ - GIGAZINE

583

in モバイル,  ソフトウェア,  セキュリティ, Posted by logx_tm