メインコンテンツへスキップ

概要

サイレント通知を使用すると、可視メッセージを表示したり音を鳴らしたりすることなく、アプリを起動してバックグラウンドタスク(同期やデータの更新など)を実行できます。 iOSでは、これらをバックグラウンド通知と呼び、Androidではデータ通知として知られています。これらはまとめてサイレントプッシュと呼ばれ、通常の可視通知とは異なる動作をします。 このガイドでは、サポートされているプラットフォームでOneSignalを使用してサイレント通知を構成および送信する方法について説明します。

制限事項

サイレント通知は通常のプッシュメッセージとは異なる動作をし、複数のプラットフォーム固有の制限があります。
  • アプリがサイレントプッシュを受信できない場合
    • iOS:アプリスイッチャーからスワイプして消した場合など、ユーザーがアプリを閉じた場合。(Appleサポートを参照)。
    • Android:デバイス設定を通じてアプリが強制終了された場合、またはスワイプして消したときに一部のメーカーによって自動的に終了された場合。(詳細はこちら)。
  • 配信は保証されません
    • AppleとGoogleの両方がサイレント通知をベストエフォートとして扱います。iOSは低電力モード、バックグラウンドアプリの更新がオフ、またはユーザーがアプリを閉じた場合に配信を遅延またはドロップする可能性があります。AndroidはDozeまたはOEMの省電力ルールの下で配信を制限またはバッチ処理する可能性があります。
    • このため、サイレント通知は重要な更新には使用しないでください
  • 購読ユーザーのみ:OneSignal SDKは購読しているサブスクリプションにのみデータ通知を送信します。非購読ユーザーに到達するには、この回避策に従ってください。
  • クロスプラットフォームSDKの限定的なサポート

OneSignalからサイレント通知を送信

OneSignalからサイレント通知を送信するには、次の手順に従います:
1

可視コンテンツを省略

メッセージから可視テキストまたはタイトルを削除します。これには次が含まれます:
  • APICreate notification APIリクエストのcontentsheadingssubtitle
  • Dashboard:Message、Title、Subtitle
2

content_availableを設定

  • APIcontent_availabletrueに設定します。
  • Dashboard:「Send to Apple iOS」の下のContent availableをチェックします。これはすべてのプラットフォームに適用され、システムにメッセージが送信されていないことを伝えるだけです。
3

通知にデータを追加

  • APIdataパラメータを使用します。
  • DashboardAdditional Dataフィールドを使用します。

プラットフォーム固有の設定

iOSバックグラウンド通知の設定

バックグラウンド通知を処理するには、iOSアプリのXcodeでBackground Modes > Remote Notifications機能を有効にする必要があります。これは通常、モバイルSDKセットアップに従った場合に含まれています。 Appleドキュメント:
ユーザーがアプリを閉じた場合(アプリスイッチャーからスワイプして消した場合)、iOSは通知を配信しません。そのような場合は、可視のcontentsメッセージを含め、UNNotificationServiceExtension.didReceiveでデータを処理します。

Androidデータ通知の設定

通知サービス拡張機能を使用してAndroidでデータ通知を処理します。 これにより次が可能になります:
  • アプリが強制終了されていない限り通知を処理
  • 通知の表示または抑制方法をカスタマイズ

VoIP通知の送信

VoIP通知はサポートされていますが、標準のOneSignal SDKの外で追加の構成が必要です。OneSignalはVoIPトークンを自動的に登録しません。 セットアップ手順については、VoIP通知セットアップガイドを参照してください。

FAQ

サイレント通知をアンインストールまたは購読解除の検出に使用できますか?

技術的には可能ですが、信頼性がありません。上記の制限事項セクションで説明したように、サイレント通知の配信は保証されていません。 代わりに:
  • 少なくとも月に1回、すべてのユーザーに可視通知(コンテンツを含む)を送信してください。
  • オプションで補足チェックとしてサイレント通知を送信してください。
購読ステータスの変更の処理に関する詳細については、サブスクリプションガイドを参照してください。

確認配信はサイレント通知で機能しますか?

確認配信はサイレント通知では機能しません。