2011年7月24日日曜日

ecoNetBatteryについてわかってきたいろいろなこと

ecoNetBatteryを公開して3ヶ月近く経過しました。

改めてここで1度ecoNetBatteryの基本的なコンセプトを紹介しておきます。

ecoNetBatteryはバッテリーを節約するためのアプリケーションです。
ディスプレーの消灯時(スクリーンオフ時)に3Gネットワークのデータ通信を遮断し、
点灯時(スクリーンオン時)に復旧します。


待機時のバッテリー消費が多い場合はこのアプリでバッテリー消費を節約できる可能性があります。

このアプリの開発は個人で行っており、基本的はGalaxyS(Android2.2)での動作確認しか行えていません。
動作環境がひとつしかないためいろいろ分からないことが多かったのですが、
公開して3ヶ月経ち、多くのユーザーの方からの動作報告を頂きました。
都度、マーケットのアプリの説明は書き足してきたのですが、

ここらへんで、わかってきたいろいろなことをまとめたいと思いました。

電話は着信できる 
遮断するのはデータ通信だけです。従って音声通話の着信は可能です。


Gmailは着信しない
Gmailはデータ通信が切れている場合は着信できません。ディスプレイオンしてecoNetBatteryがデータ通信を復帰してしばらくするとステータスバーに通知されます。


SPモードメールは着信する 
SPモードメールは未読メール通知として着信し、ステータスバーに通知されます。
通知ランプがある機種の場合はランプも光ります。
ディスプレイオンするとecoNetBatteryがデータ通信を復帰し、自動的にSPモードメールのが受信処理が動き、メールが受信されます。このあたり、SPモードメールアプリはしっかり出来てるなぁと思います。

iLEDやNoLEDなどの着信時にディスプレイオンするアプリと相性が良いです。ほぼecoNetBatteryによるデータ通信遮断の影響を感じられない動きになります。この件についてはそのうち別途エントリを書きます。


EZwebメールは着信する?しない? 
着信するという人としないという人がいていまいちよく分かりません。
未確認情報ではあるのですがEZwebメールアプリ(?)の自動受信設定を「自動受信しない」設定にしておくと着信する、というような情報を2chで見かけました。
仕組み上は着信しているはずなのですが通知するかどうかはメールアプリの処理次第なのです。このあたりEZWebメールアプリの作りがよくないんじゃないの?という気がしています。

後述のとおりCメールは着信するのでEZwebメールからCメールに転送するのも良さそうです。


au oneメールは着信しない 
よく知らんのですがau oneメールというのはしくみはGmailと同じだそうでGmailと同じく着信しません。


ソフトバンクメールは着信する 
SPモードメールと同様に未読メール通知として着信し、ステータスバーに通知されます。
ただ、ディスプレイオンしてecoNetBatteryがデータ通信を復帰しても自動的にメール受信はされません。ステータスバーからメールアプリを起動し、手動で受信する流れのようです。
自動的に受信しないあたり今一歩のつくりだなー、という気がしています。

一口にメールといってもキャリアメール、Gmailと大きく分けても仕組みが違うものです。

なまず速報は着信しない 
実際に自分の端末になまず速報を入れてみましたが、ディスプレイオフしてデータ通信が切れている間は着信しません。
ディスプレイオンしてデータ通信が復帰するとなまず速報はちゃんとそれを認識して自動的にサーバーと接続するようで、ディスプレイが点灯している間は着信します。


緊急地震速報に正式対応している端末はその通知は着信する(はず)
IS03,IS04,IS05他ソフトバンクでも003SH等、正式にキャリアとして緊急地震速報に対応してきている端末が増えています。docomoのエリアメール対応も迫っています。
これらの通知は各社ともアプリによるプル型データ通信ではなく基地局側からプッシュ送信されてくる仕組みが採用されるため、着信できるはずです。


他のメールはどうか
上記のキャリアもそうなのですがSMSという形式のメールなら着信します。docomoではショートメール、auではCメールといわれているものです。

現状は上記のものを含めて仕組みが違うものすべて「メール」と呼ばれてしまっており、届く/届かないの情報が錯綜しています。
ご自身の使い方を一通り確認していただき、ご利用いただけますと幸いです。


メモリ使用量について
広告配信モジュールがFree版には入っているため、Pro版よりはちょっとだけ多くメモリを消費します。


使用したらバッテリーの使用量が増えた?
仕組み的に常駐せざるをえないのですが常駐時のバッテリー使用量が増えることの無いよう気を使って開発しています。明らかにバッテリー使用量が増えていると感じる場合は、別のアプリとの相性が悪い可能性があります。
通信に失敗したら再接続を延々繰り返すような作りの悪いアプリが入っていないか確認してください。


ディスプレイオン時にデータ通信が復帰しないときがある
003SH、005SHなどで報告が多く、話を聞く限りではecoNetBatteryを開き3Gデータ通信接続状態のチェックを付けても復帰できないそうです。
これで復帰できない場合、現状では再起動して頂く他無いようです。何か他に良い方法がありましたら連絡頂ければ幸いです。端末固有の問題?

↑の問題とは別に端末のデータ通信状態がほんのコンマ数秒間だけ正しく取得できない一瞬があり、その瞬間にディスプレイオンするとデータ通信が復帰できないようです。
これは狙っても再現させることが難しいほど短い一瞬で、なかなか発生しないのですがこの場合はecoNetBatteryを開き3Gデータ通信接続状態のチェックを付けて復帰できます。
直せたら直します。


Android2.3でデータ通信遮断がうまくいかない端末がある
最近わかったことなのですがAndroid2.3の端末ではデータ通信が遮断できない端末があるようです。GoogleのAndroid2.3リリースを確認するとそのように仕様変更されているようです。これはかなり痛いです。いろいろなアプリがこの影響で機能が動かなくなったりしているようです。

しかし不思議なことに007SHなどの2.3ユーザ(?)からのバッテリーが持つようになった報告もネット上では見られ、2.3なら駄目かというとそうでもないのかもしれません。
ただ基本的は2.3は駄目な気がしているので、端末のOSバージョンアップによりecoNetBatteryが効果なくなることも予想されるのでご注意ください。

Pro版のユーザで2.3の方もかなりいらっしゃるのですがバッテリーの節約になっているのでしょうか?正直疑問です・・・

可能であれば2.3にも対応したいです。