【Android】アプリの通知が届かない場合の対処方法

Lineやメール、Twitterなどを利用している方にとってプッシュ通知の機能は欠かせないものです。

しかしながらなんらかの原因でそれが機能しなくなることも。そして端末がスリープ状態にあるときのみ通知が受けれない場合など条件付きで動作しないという厄介な事実もあります。

ここではプッシュ通知の機能不全につながる設定不備などについて整理してみます。

私が使用しているOSバージョンはAndroid7です。 端末の状態によって以下の挙げる設定例の全て、または一部を変更することでトラブルが解消する場合もあれば、いずれにも該当しないこともあるかと思います。

アプリの通知設定が許可されているか

一番基本的な確認ですが、そもそもアプリの通知許可が設定されているかどうかです。既存のアプリや新規に取り込んだアプリは通知設定がONになっていますが、他のアプリの通知設定をOFFにした際に誤って該当のアプリもOFFにしてしまった可能性もあります。

確認方法は設定→通知→該当のアプリをタップすると以下の画面に。



・全てブロック
・マナーモードで表示
・【通知を非表示】をオーバーライドする

これらの項目がOFFになっているか確認。すべての項目がOFFになっていたら通知は一切受信しません。

スリープ時に通知を受け付けない

通常、モバイル端末はバッテリーの消費を抑えるために一定時間が経過するとディスプレイを消灯し、通信やアプリの働きを制限するスリープ機能が搭載されています。

スリープ状態となっても微小な通信は行われていますが、これも一定時間が経過すると切断。そしてプッシュ通知は端末側、androidシステムを管理するグーグルのサーバー間においてハートビートという小さなパケットを使い実現。

スリープ後、通信が切断される時間内にハートビートのやりとりがなされないとプッシュ通知は受け取り不能、もしくは遅延などの影響が出るようです。

大手キャリアの端末は50分程の余裕があるものの、格安sim端末では20~5分と短いもよう。端末側がハートビートを送信する前に切断されてしまうそうです。

このためハードビートを短い間隔で通信するために「Push Notifications Fixer」というアプリを使って調整させることで、プッシュ通知を正常化させる事ができます。

使い方は多くのサイトが説明しているので割愛。2016年に格安SIM端末で多くの報告があったようです。現在も端末によってはハードビートの調整が必要な場合もあるかと思うので、通知がうまくいかない場合は疑ってみる必要があります。

Dozeモード(電池最適化)

android6以降に標準装備されたアプリの動作、通信を抑制する機能です。バッテリー持続に大きく貢献するようですが、この機能によりアプリの通知が不能、不安定になる場合も。標準で有効となっていますが、アプリごとに設定変更できるので通知が上手くゆかない場合はこちらも確認が必要です。

まず設定→電池をタップ。そして右上の三点リーダーをタップ。



タップしたら「電池を最適化」と表示されるのでそれをタップ。



現在最適化されていないアプリが表示されます。画面上部に「最適化されていない」をタップ。プルダウンで「すべてのアプリ」の項目が表示されるのでそれをタップ。




アプリ一覧が表示されたら該当のアプリを探しタップ。



ラジをボタンが出現しOFFを選択。これで完了です。



データーセーバー

こちらもandroidに標準装備されている節電系アプリ。

設定→データ使用量→データセーバーをタップ。データへの無制限アクセスと書かれた領域をタップ。



該当のアプリをOFFして完了。

終わりに

私の場合はキャリアスマホではなく格安SIMを使用していますが、節電系アプリは全てON、ハードビートの調整もなく通知は届いています。

ただスマホ購入初期に無駄な機能を使わないように色々いじってたいたところ「Google Play 開発者サービス」の通知をOFFに。「開発者じゃないから、いならいのでは?」と安易に考えていたところ、Twitterの通知は問題ないものの、Gmailが届かなかったり遅延したりするなどの不具合が生じました。

どうやら「Google Play 開発者サービス」はアプリの動作、通信の根幹をなすシステムのようで、わかりもせずいじってはならないものとのことで、上記の設定を変更しても改善されない場合はここを疑ってみるのもよいでしょう。

ニュースフラッシュ