2016年2月22日月曜日

Android 6.0 Mashmallow のDozeモードと通知(GCM)まとめ



Android 6.0 Mashmallowから導入されたDozeモード。
5.xから比べて確かに電池の持ちは良くなりました。

ただ、どうもGmailの通知が来たり来なかったり。
よくよく調べてみるとDozeモードの影響だとわかってきましたので、まとめてみます。



Dozeモードと通知についてはこのブログ記事の情報が全てだったりします。

How Google Cloud Messaging handles Doze in Android 6.0 Marshmallow

英語なので簡単にまとめると、

Dozeモードに入るタイミング・条件

  • 充電中でない(USBが外れている)
  • しばらく静止している
  • スクリーンがOFF

このような状態だとDozeモードになります。
「しばらく静止した状態」のしばらくとはどれぐらいかはわかりませんが、経験上数十分とか1時間とかそのへんでDozeモードになっているようでした。


次に通知(GCM)については2つのプライオリティタイプがあって、高プライオリティと、通常プライオリティと呼ばれるものです。
デフォルトでは通常プライオリティ、チャットアプリや電話アプリのような即時性の必要があるアプリのみ高プライオリティとする指針が示されているようです。

高プライオリティではDozeモードでも即通知されるようです。

通常プライオリティではDozeモード中は動作が以下のようになります。
  • 通知はバッチ処理で一括受信される
  • バッチ処理はidle maintenaceウィンドウに入った時に処理される
  • Dozeモード中は通知に設定されている time_to_liveは無視される
idle maitenanceウィンドウは、Dozeモード中に一定の時間で同期などの処理がされるために設けられた時間のようです。
Dozeモード中に時々起きて必要な処理を行っているという感じでしょうか。l

実際、就寝中はDozeモードになっていますが、朝起きてみてみるとある程度通知がきていることがあります。


で、本題のGmailの通知について。

ググると、「電池の最適化でGmailアプリを最適化していないアプリにする」とか書いている記事などを見かけますが、通知に関してはあまり意味はないと思います。
なぜなら、通知は上記のような仕様となっていますので、Dozeモード中は通常プライオリティならバッチ処理となるからです。
Dozeモード中はGmailの受信通知がリアルタイムで来ないことからプライオリティは通常だと思われます。

実際の動作も以下のように確認しました。
  • Dozeモードになるまでそっとしておく(1時間ぐらい)
  • 通知設定したアカウントへ別のメールから送信
  • PCのWeb版Gmailで受信確認。この時点で通知なし。
  • そのまま待っているとまとめて通知が来る(結構な時間がかかるときも)。また、スマホを持ったり動かしたりすると少し間をおいて(30秒以内ぐらい)で通知が来る。

同期に関してもGmailアプリを最適化していないアプリにしても意味ないかもと思っています。
Googleアカウントの同期はシステムのほうで制御されてるような感じはします。ちょっと確定はできないですが。


AndroidでのGmailの通知が遅れたりする理由はわかったのですが、あまり良い回避方法がないので残念だったりします。
PCで作業中はスマホをテーブルに置きっぱなしなので、どうもDozeモードに入りやすいようです。
スマホは通知で音が鳴るのでメールが来ていることに気づきやすかったのですが、PCだとChromeの通知ポップアップはあるものの、音はならないんですよね。

と、Chromeの拡張機能で音も鳴るのがありました。


あっさり解決。。。
スマホでの通知にこだわりすぎてました。。。

PCで作業中以外はちょこちょこスマホをみたり、ポケットにいれて持ち運んだりなので、大体は問題なさそうです。


ただ通知がリアルタイムで来ないのは感覚的にすっきりしない感じはあります。
ググると海外含めてAndroid 6.0にしたらGmailの通知が遅れるようになったという相談が結構ありました。
電池消費を抑えつつ、通知は受け取るような仕様になればいいなと思います。
iPhoneなんかは通知はリアルタイムできますからね。
でもAndroidより電池持ちはいいので、Androidも頑張って欲しいです。


そういえば、Nexus6を使っているのですが横の電源ボタンと音量ボタンが少し軽すぎるようで、ウォーキング中などに意図せず押されてしまうことがありました。
で、カバーを買ったのですが、結構快適になりました。
ボタンがカバーされているので変に押してしまうことがなくなりました。



安いしおすすめです。

0 件のコメント:

コメントを投稿