早速年末の帰省時にテスト的に使ってみました。端末はSO-04E(Xperia A)とL-05D(Optimus it)です。どちらもSIMのサイズがmicroSIMなので、アダプタを用意して挿しました。
目的はAndroid デバイス マネージャーによる位置情報確認だったのですが、結果から書くとうまくいきませんでした。それから1週間以上かかりましたが最終的には目的達成したのでその備忘録を。
まず大前提としてドコモの端末で0SIMを使うとそのままではA-GPSが使えません。これは0SIMに限らずMVNO全般に言えますが、接続するA-GPSサーバの設定情報がドコモのサーバになっているためなので、これを変更するためにはroot化が必要です。root化されていればgoogleのサーバに書き換えてあげればOKのはずです(書き換えでどれだけ効果があるのかは未だによくわかっていません)。
次にデータ通信専用SIMの場合セルスタンバイという問題も考慮が必要です。広義ではいろいろありますが、ここではバッテリードレインの面で考えています。このblog内でも過去に取り上げていましたがこの対策についてもパッチ適用のためにはroot化が必要です。今はパッチもXposedのモジュールになっていたり、XperiaであればXperia用のmod集の中に組み込まれていたりするので便利になりました。
ブローヴちゃん:Android + docomo MVNO データ通信専用 SIM のセルスタンバイ&アンテナピクト問題対策 Xposed モジュール
AndroPlus:AndroPlusMod-5.0対応版WedyMod-res
上記root化が必要な部分は自己責任です。当方では責任を取れませんので対応には十分注意を。
上記の通りroot化もしていろいろと初期状態から離れているので原因をなかなか特定できずにいましたが、症状(傾向)としては下記の通りでした。- Wi-Fi接続中であれば問題ない
- Wi-Fiに接続されていなくてもそのスマホを使用中(画面が点いている間)はほぼ問題ない
- 画面OFFからしばらくの間は問題ない
- LTE固定/3G固定にしても症状の変化はない
- Android デバイス マネージャーの応答以外にもスリープ中の通知がされないアプリがある
ならぬコトはなさぬが肝心:この日のスマホはIP電話が使えました
最後の方に紹介されている「Push Notifications Fixer」をインストールして、Mobile heartbeat interbalを6分に設定したところ、100%うまくいきました。ちなみにこのインターバルを短くするとバッテリ消費に影響が出るはずなので試しに8分にしてみたらそれではダメでした。
「Push Notifications Fixer」でもう少し情報を探してみると下記ページを見つけました。
creams@nexus:Google Cloud Messaging (GCM) で通知が来ない
考察は「推測です」とは書かれているものの、なるほどと思いました。可能性としては0SIMでは5分を超えたあたりでTCPセッションが切られるのではと。もしこの仮定が正しければ0SIMを使っている人で同じようにスリープ中の通知が来なくて困っている人が居そうなものですが、探したら居ました^^;
同じように「Push Notifications Fixer」で解決しているようなので困っている人が居たらお試しを。
コメント