ページ

2018年2月4日日曜日

格安SIMでGMailがpush着信できなくなる問題を解決

最近F-11Dを実用に足るスマホにするべくいろいろといじくりまわしている。実用に足るとは、

1)ある程度多くのアプリが入ること
2)電話(SMARTalk)とメール(GMail)がリアルタイムに着信できること
3)電池が長持ちすること

(1)については「link2sd」というアプリを使って多くのアプリをSDカードに移しているのだが、インストールやアンインストールを繰り返しているとゴミがたまるのかユーザー領域が想定以上に減ってきてしまう。そこで端末初期化を何回も繰り返した。そのたびにPlayストアからアプリをダウンロードするのは面倒くさかったのだが、PCのサイトからリモートでできることが遅ればせながら分かったのでずいぶん楽になった。

またAndroidが4.0と古いためPlayストアで現れる最新版がインストールできないこともあるのだが、どこからかダウンロードしたAPKを「adb install」でインストールする(わからない人は読み飛ばして下さい)ことも覚えたので、先日購入したオリンパスのカメラを遠隔操作するアプリも使えるようになった。

(2)が問題で、GMailはスリープに入ってしまうと全然着信できない。以前はできていたように思うが、MVNOプロバイダを OCN→mineo→DMM→0SIM と変えてきているのでその違いがあるのかもしれない。

色々調べると、push着信のためには端末とプロバイダの通信を持続させておかなければならないのだが、そのためには端末から定期的に「ハートビート」というパケット(通信)を送る必要がある。さらに一定時間端末からのハートビートがない場合はプロバイダ側が強制的に通信を切断してしまう。

したがって、端末のハートビートの周期<プロバイダの切断待ち時間 でなくてはならないのだが、MVNOでは右辺が短いらしい。ドコモなどの大手キャリアでは53分、0SIMでは5分以下という情報もある。

左辺については、androidの既定値はモバイル通信では28分となっている。つまり大手キャリアでは 28<53 で切断されないが0SIMでは 28>5 で切断されてしまうということになる。この辺も「ゼロ」たるクオリティだということがわかった。

よってOSIMでpush着信するためにはハートビート周期を5分以下に設定する必要がある。それをしてくれるアプリが「Push Notifications Fixer」である(要root)。これもPlayストアのバージョン5.5はAndroid4.1以上対応で使えないのでバージョン5.0をadbでインストールした。

結果としては、5分ではだめで4分に設定すると常にpush着信してくれた・・・と書こうと思ったらやっぱり長時間スリープするとだめだ。このアプリにはnoroot版もあり、そちらの方が良いようで、2時間超のスリープでも着信できた。

root版はandroidの設定そのものを書き換える、noroot版は常駐して自らハートビートパケットを送るらしい。どっちもスリープ中に動くのだからバッテリー消費は違わないのだろうか?

(3)については不要なアプリをlink2sdで「凍結」することで多少は効果があるのではないかと思っている。不要とはドコモ関係のアプリで全部で20個ぐらいある。これらはどうせspモードの契約がないと使えない。

ただ「com.fijitsu.mobile_phone.pedometer」と「jp.co.nttdocomo.pf.piad」はlink2sdで凍結しても立ち上がってくる。ESタスクマネージャーで確認した。そこでESファイルエクスプローラーでapkファイルの拡張子を「apk_」に変えて立ち上がらないようにした。link2sdでdalvik-cacheも消した。ちなみに前者は歩数計、後者はプリインアプリの動向を監視するものらしい。

素直に新しい端末を買えば解決することも多いと思うがいじくることが楽しいのである。



0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。