通知が来ないでお困りの人へ

※Androd6.0環境では、以下の設定をしても、端末を長時間放置した状態では、リアルタイムプッシュ通知できない場合があるようだ。これはOSの仕様かもしれない。端末を持ち歩いているような状態を維持していれば、安定して通知が行われると思われる。

チェック項目
※上から下へと確認・設定
  • 設定→電池→電池の最適化→(該当アプリを)最適化しない
  • 設定→電力管理→省電力設定→パフォーマンス
  • 設定→電力管理→自動起動マネージャー→(該当アプリを)許可
  • アプリごとの設定項目を確認、通知設定の確認はもちろんだが、その前に、アプリ→(該当アプリ)→ストレージ→一度データとキャッシュをクリアして設定しなおす(新規インストールした場合でも、もう一度)
  → AquaMailの設定
  • 設定→音と通知→音でもバイブでも、好みの通知を設定、音量も確認
  • 設定→音と通知→アプリの通知→(該当アプリ)→標準(or優先)
  • 設定→アカウント→(該当アカウントを)自動同期
  • 設定→アプリ→(該当アプリの)権限→すべて「許可」にしておく
  • 設定→Wi-Fii→詳細設定→スリープ時にWi-Fi接続を維持→常に接続
  • 設定→開発者オプション→モバイルデータを常にON
  • ファイアーウォールを導入してる場合は止める

上記のチェックは念のためのものも含み、消費電力も相当増すものと思われるので注意

メール着信通知テスト
いちいち手動でメール送信のテストをするのも面倒なので、smailを利用して自動で送信してくれるバッチを書いてみた。お出かけしながら通知テストも可能
使い方はzipを開けば解ると思う。こりゃ使えん・解らんの場合は「そっとじ」で



上記での通知状態に満足した場合
  • 開発者オプションのモバイルデータを常にONの設定を無効に
  • ファイアーウォールを有効にする
  →該当アプリの通信を許可
  →ファイアウォールアプリ自身の電池の最適化オフ・自動起動マネージャーで許可
  • 省電力設定をスマートやカスタムにしてみる
など、試して様子を見る

結果
AquaMailで、実用範囲で届くことを確認。communicaseでは、何をやっても遅延が多発した。
Lineとかはやらないのでわからない。

結局は、Dozeの仕様の問題に帰着するのだろうか
Dozeの仕様に関しては、「Android M/NのDozeによる制限とバックグラウンドタスク実行に関するまとめ」が参考になる。

検証の結果、当方の環境でもやはり深いDozeに入ると、通知がこない事象が発生した。ただ、実用範囲では問題は感じない。メールであれば、5分ごとのチェック設定があるので、プッシュ通信を逃しても、そちらで補完されるということもあるだろう。
この点Lineなどについては、その仕様がどうなってるかわからないので何とも言えない。
ただやはり、完璧なリアルタイム通知を求める場合は、電池の持ちが悪くなることを覚悟で、根本的にDozeを無効化するしかないようだ。







コメント
名前:
コメント:

















最終更新:2018年12月15日 05:29