Androidの「SMARTalk(の公式アプリ)」で、スリープ中だとプッシュ通知で上手く着信できない場合の設定方法をまとめました。
データ通信や省電力の設定は適切なはずなのに、スリープ状態だとプッシュ通知が遅延して不在着信/留守電になってしまう、というケースに効果があるかもしれません(自分の環境では改善しました)。
SMARTalkは4年以上利用していますが、2020年6月頃からRakuten Miniを使い始めたので改めて設定を確認してみました。
スマートークの使い始めはプッシュ通知が不在着信や留守電になってしまうのに困っていたんですが解消しました(≧∇≦)/
原因はドーズとハートビート?
Dozeについて
「Doze(ドーズ)」は、Androidのスリープ中に動作する省電力/節電機能。
アプリをこの節電機能の例外に設定していないと動作が不安定になる事もある模様。
heart beatについて
「heart beat(ハートビート)」は、通信の接続状態を更新する間隔/周期の設定。
スマホでのデータ通信の場合、接続を維持するパケットをキャリア/プロバイダが設定した時間以内に送らないと接続が切断される。切断していると再度通信するために再接続が必要となり、プッシュ通知が遅延してしまう。
Androidのハートビート間隔は初期値だと28分(?)。通信回線を間借りしているMVNO(格安SIM)はこれよりも切断までの待ち時間がもっと短いために切断されやすい模様。キャリアだとハートビート間隔が長いので起きにくいらしい。
プッシュ通知が機能したりしなかったりする不安定さは、dozeとheartbeatの合わせ技な感じです。
ということで、「Doze対策」+「heart beat設定」でプッシュ通知できるようにしていきます。
プッシュ通知の基本設定
Doze対策も兼ねてプッシュ通知に必要な基本の設定をしていきます。
SMARTalkアプリの設定
SMARTalkアプリでの設定です。
プッシュ通知の設定
ネットワークの設定
- 「Network constraint」
- 使用するネットワークの制限
- 「Any network(任意のネットワーク)」を選択
- 「Network priorities for RTP」
- 優先的に利用するネットワークの設定
- 「WiFiを優先する」or「Prefer mobile data(モバイルデータ)」
- 環境や使い方次第だが、WiFi優先が基本?
- 安定性・速度・容量に余裕があるならモバイルデータ優先でも
- 「Network change strategy」
- 通話中にネットワークが変更された場合の設定
- 初期値の「If Needed」
- 使用中のネットワークが切断した場合のみ切り替える
- 「WiFiをスリープ状態にしないようにする」
- 「ON」
- WiFiを使うならONでスリープでも着信できるようにする
優先的に利用するネットワーク設定の選択は、使い方や使用しているSIMに依ると思います。SIM/Wi-Fiの回線速度・安定性・データ容量などで判断。
コーデック毎に必要な回線速度と通信量は公式サイトのFAQが分かりやすいです。
Android側の設定
- 「通知」→「全て有効/ON」
- 「優先通知」「通知の瞬間表示を許可」も有効/ON
- 「データ使用量」→「バックグラウンド データ」を有効/ON
- 「電池」→「電池の最適化」→「すべてのアプリ」→「SMARTalk」→「最適化しない」
- 節電/省電力アプリなどで設定
- アプリ別に設定できる場合はSMARTalkアプリを除外/例外に
省電力設定は使用している機種/アプリ/OSのバージョンによって違うので注意です。
ハートビートの設定
Androidアプリ「Push Notifications Fixer(PNF No-Root)」を使用してheart heratbeatを変更。
「Heartbeat Fixer for GCM」でも同様の設定ができるようです。
使い方
設定方法は簡単。
「Mobile heartbeat interval」と「Wi-Fi heartbeat interval」の間隔を設定、「Apply settings」をタップすることで設定が適用される。
間隔の設定
モバイルの方は「1分~28分」、Wi-Fiは「1分~15分」の間で1分毎に設定可能。
推奨設定は「5分」。まずはこの初期設定で試してみるのがおすすめ。
5分で試してみてプッシュ通知に遅延が発生する場合は(※主にモバイルの方)、4分・3分・2分と時間を短くしていく。
イオンモバイル・LINEモバイル・楽天の格安データSIMだとハートビート4~5分でスリープ中もプッシュ通知できるようになりました。
UN-LIMITプランのRakuten Miniでも同様に安定しています。楽天モバイルはMNOになったのでこの設定は不要になった可能生もあります。
まとめ
SMATalkを使い始めたころは、スリープ中のプッシュ通知が安定しなくて困っていました。dozeとheartbeatの設定をしてからは、安定して着信するようになって重宝しています。
プッシュ通知の機能は、機種・OS・回線など影響を受ける範囲が広く、本記事の方法で上手くいかない可能生もあるのでご注意を。
使用端末と公式アプリの相性が悪い場合は、SMARTalkでも使えるソフトフォンアプリ「Zoiper(ゾイパー)」も選択肢になると思います。
ちなみに、SNSやメール等のプッシュ通知遅延も本記事の方法が応用できると思います。