【SMARTalk】スリープ中だとプッシュ通知で着信できない場合の設定方法(Android)

Androidの「SMARTalk(の公式アプリ)」で、スリープ中だとプッシュ通知で上手く着信できない場合の設定方法をまとめました。

データ通信や省電力の設定は適切なはずなのに、スリープ状態だとプッシュ通知が遅延して不在着信/留守電になってしまう、というケースに効果があるかもしれません(自分の環境では改善しました)。

SMARTalkは4年以上利用していますが、2020年6月頃からRakuten Miniを使い始めたので改めて設定を確認してみました。

スマートークの使い始めはプッシュ通知が不在着信や留守電になってしまうのに困っていたんですが解消しました(≧∇≦)/

スポンサーリンク
スポンサーリンク

原因はドーズとハートビート?

端末とアプリのプッシュ通知を設定しているのにできない原因は、Androidの節電機能「Doze」と、通信回線の更新間隔/周期設定「heart beat」が影響している?

Dozeについて

「Doze(ドーズ)」は、Androidのスリープ中に動作する省電力/節電機能。

アプリをこの節電機能の例外に設定していないと動作が不安定になる事もある模様。

heart beatについて

「heart beat(ハートビート)」は、通信の接続状態を更新する間隔/周期の設定。

スマホでのデータ通信の場合、接続を維持するパケットをキャリア/プロバイダが設定した時間以内に送らないと接続が切断される。切断していると再度通信するために再接続が必要となり、プッシュ通知が遅延してしまう。

Androidのハートビート間隔は初期値だと28分(?)。通信回線を間借りしているMVNO(格安SIM)はこれよりも切断までの待ち時間がもっと短いために切断されやすい模様。キャリアだとハートビート間隔が長いので起きにくいらしい。

プッシュ通知が機能したりしなかったりする不安定さは、dozeとheartbeatの合わせ技な感じです。
ということで、「Doze対策」+「heart beat設定」でプッシュ通知できるようにしていきます。

プッシュ通知の基本設定

プッシュ通知と電池の最適化解除

Doze対策も兼ねてプッシュ通知に必要な基本の設定をしていきます。

SMARTalkアプリの設定

SMARTalkアプリでの設定です。

公式のSMARTalkアプリ「バージョン1.8」での設定になります。

プッシュ通知の設定

「設定」→「着信方法」→「プッシュ通知」を選択。
「設定」→「アカウント」→「有効化されたアカウント」→「高度な設定」→「着信方法」→「プッシュ通知」も確認。

ネットワークの設定

「設定」→「プログラムの設定(環境設定)」→「ネットワーク」
  • 「Network constraint」
    •  使用するネットワークの制限
    • 「Any network(任意のネットワーク)」を選択
  • 「Network priorities for RTP」
    • 優先的に利用するネットワークの設定
    • 「WiFiを優先する」or「Prefer mobile data(モバイルデータ)」
    • 環境や使い方次第だが、WiFi優先が基本?
    • 安定性・速度・容量に余裕があるならモバイルデータ優先でも
  • 「Network change strategy」
    • 通話中にネットワークが変更された場合の設定
    • 初期値の「If Needed」
      • 使用中のネットワークが切断した場合のみ切り替える
  • 「WiFiをスリープ状態にしないようにする」
    • 「ON」
    • WiFiを使うならONでスリープでも着信できるようにする
自分では未確認ですが、「モバイル/Wi-Fi」で回線が切り替わると登録(レジスト)の状態が一時的に無効となりアプリの通信が不安定になるケースもあるようです。
その際は、アプリの再起動(起動→終了)で直ることもあるとか。

優先的に利用するネットワーク設定の選択は、使い方や使用しているSIMに依ると思います。SIM/Wi-Fiの回線速度・安定性・データ容量などで判断。

コーデック毎に必要な回線速度と通信量は公式サイトのFAQが分かりやすいです。

Android側の設定

SMARTalkアプリを省電力やバックグラウンド動作の制限から除外する
「設定」→「アプリと通知」→「SMARTalk」
  • 「通知」→「全て有効/ON」
    • 「優先通知」「通知の瞬間表示を許可」も有効/ON
  • 「データ使用量」→「バックグラウンド データ」を有効/ON
  • 「電池」→「電池の最適化」→「すべてのアプリ」→「SMARTalk」→「最適化しない」
スリープ中のWiFi/モバイルデータ通信を許可
  • 節電/省電力アプリなどで設定
  • アプリ別に設定できる場合はSMARTalkアプリを除外/例外に

省電力設定は使用している機種/アプリ/OSのバージョンによって違うので注意です。

ハートビートの設定

Androidアプリ「Push Notifications Fixer(PNF No-Root)」を使用してheart heratbeatを変更。

「Heartbeat Fixer for GCM」でも同様の設定ができるようです。

使い方

pnf-norootのハートビートの設定

設定方法は簡単。

「Mobile heartbeat interval」と「Wi-Fi heartbeat interval」の間隔を設定、「Apply settings」をタップすることで設定が適用される。

このアプリはheart beatの設定を変えるだけで常駐はしないようです。

間隔の設定

ハートビートの時間設定

モバイルの方は「1分~28分」、Wi-Fiは「1分~15分」の間で1分毎に設定可能。

推奨設定は「5分」。まずはこの初期設定で試してみるのがおすすめ。

5分で試してみてプッシュ通知に遅延が発生する場合は(※主にモバイルの方)、4分・3分・2分と時間を短くしていく。

設定を変えた後は「Apply settings」で変更の適用を忘れないように。
スマホ/タブレット端末を再起動した際も念のために「Apply settings」。
ハートビート間隔は電池の消費にも影響が出るかもしれません。

イオンモバイル・LINEモバイル・楽天の格安データSIMだとハートビート4~5分でスリープ中もプッシュ通知できるようになりました。
UN-LIMITプランのRakuten Miniでも同様に安定しています。楽天モバイルはMNOになったのでこの設定は不要になった可能生もあります。

まとめ

SMATalkを使い始めたころは、スリープ中のプッシュ通知が安定しなくて困っていました。dozeとheartbeatの設定をしてからは、安定して着信するようになって重宝しています。

プッシュ通知の機能は、機種・OS・回線など影響を受ける範囲が広く、本記事の方法で上手くいかない可能生もあるのでご注意を。

使用端末と公式アプリの相性が悪い場合は、SMARTalkでも使えるソフトフォンアプリ「Zoiper(ゾイパー)」も選択肢になると思います。

ちなみに、SNSやメール等のプッシュ通知遅延も本記事の方法が応用できると思います。

スポンサーリンク
スポンサーリンク
ソフト・アプリ
この記事をシェアする
どんぱっぱをフォローする
スポンサーリンク
となはざな
コメントの通知/購読設定
受け取る通知
guest
0 Comments
Inline Feedbacks
View all comments
タイトルとURLをコピーしました