モバイルアプリに必須のプッシュ通知 - 基礎知識からサービス比較まで網羅して解説 -

プッシュ通知とは、モバイルアプリやWebサイトからユーザーのデバイスに直接メッセージを送信することです。皆さんもスマートフォンのロック画面に通知を表示させたり、アプリアイコンにバッジが表示させたりと活用されているかと思います。

通知の種類

プッシュ通知というと、「リモートプッシュ通知」が一般的です。AppleやGoogleのサーバーへリクエストを出して、端末(iOSやAndroid)でバナーの通知を出す仕組みです。その他にも、アプリ内で作成する「ローカルプッシュ通知」など、幾つかの種類があります。

リモートプッシュ通知

特徴:サーバーから端末へ、インターネット経由で送信されるプッシュ通知です。
用途: 新着ニュース、SNSの通知、ゲームのアップデートなど、リアルタイムの情報配信に適しています。

ローカルプッシュ通知

特徴:端末内で完結するプッシュ通知です。アプリ内の設定やユーザーの操作に基づいて送信されます。
用途:リマインダー、アラーム、オフラインでも動作する通知などに適しています。

サイレントプッシュ通知

特徴:画面に表示されずに、バックグラウンドで動作するプッシュ通知です。
用途:アプリのデータ更新、位置情報の取得、サーバーとの通信など、ユーザーに意識させずに処理を実行したい場合に利用されます。

Webプッシュ通知

特徴:Webブラウザ上で動作するプッシュ通知です。アプリをインストールしていなくても、Webサイトを訪れたユーザーに通知を送ることができます。
   最近では、サードパーティーCookieの利用制限やiOS16.4からiOS SarariにもWebプッシュ通知が可能となるなどの影響で、
   Webプッシュ通知に再び注目が集まっています。
用途:ニュースサイトの新着記事、ECサイトの新商品入荷のお知らせなど、Webサイトの利用促進に役立ちます。

リッチプッシュ通知

特徴:画像、動画、音声などのリッチなコンテンツを含めることができるプッシュ通知です。
用途:より魅力的な通知を作成し、ユーザーの注意を引きつけたい場合に利用されます。一方でリモートプッシュ通知と比べて派手なため、
   多用するとユーザーがストレスを感じます。

一覧

種類特徴用途
リモートプッシュ通知サーバーから送信新着ニュース、SNS通知、ゲームアップデート
ローカルプッシュ通知端末内で完結リマインダー、アラーム、オフライン通知
サイレントプッシュ通知画面に表示されないデータ更新、位置情報取得、サーバー通信
Webプッシュ通知Webブラウザ上で動作Webサイトの新着情報、ECサイトの新商品入荷
リッチプッシュ通知リッチなコンテンツテキストよりも情報量の多い・目立つ通知の作成

プッシュ通知実現の方法

最も一般的な、リモートプッシュ通知の実現方法と必須となるプッシュ通知サービスにはどのようなものがあるのかご紹介します。

手順

1.プッシュ通知サービスの選択

Firebase Cloud Messaging(FCM)やAmazon SNSは、プッシュ通知サービスとして広く利用されていますが、他にも様々なSaaSサービスが存在します。
主なサービスの特徴は後述します。

2.アプリ側の設定

① デバイストークンの取得:各プラットフォームのSDK(ソフトウェア開発キット)を使用して、デバイスを一意に識別するトークンを取得します。
② サーバーへの登録   :取得したデバイストークンを、選択したプッシュ通知サービスのサーバーに登録します。

3.サーバー側の設定

① プッシュ通知サービスとの連携:選択したプッシュ通知サービスのAPIを利用して、サーバーからプッシュ通知を送信する仕組みを構築します。
② メッセージの作成      :送信したいメッセージの内容を作成します。テキストだけでなく、画像や音声を含めることも可能です。
③ ターゲット設定       :特定のユーザーやグループに対して通知を送信したい場合は、デバイストークンに基づいてターゲットを設定します。

4.通知の送信

① API呼び出し           :サーバーからプッシュ通知サービスのAPIを呼び出し、作成したメッセージとターゲット情報を送信します。
② プッシュ通知サービスによる配信:プッシュ通知サービスが、登録されているデバイスにメッセージを配信します。

実現フローの例(FCMの場合)

1.アプリ側

FCM SDKを導入し、初期化
デバイストークンを取得
取得したトークンをサーバーに送信

2.サーバー側

FCMのAPIキーを取得
FCMのAPIにリクエストを送信 (送信内容: デバイストークン、メッセージ内容)

3.FCM側

リクエストを受け取り、該当するデバイスにプッシュ通知を送信

プッシュ通知サービス4選

FCMやAmazon SNSを含めた、主なSaaSプッシュ通知サービスを4つご紹介します。

1.Firebase Cloud Messaging (FCM)

特徴 :Googleが提供する無料のクロスプラットフォームメッセージングソリューション。
    Firebaseとの親和性が高く、スケーラブルで信頼性の高いプッシュ通知を送信できます。
強み :無料で利用できる
    Firebaseとの連携がスムーズ
    大規模なユーザーベースに対応可能
活用例:Android、iOS、Webアプリへのプッシュ通知
    ゲームアプリのアップデート通知
    ソーシャルアプリの通知

2.Amazon Simple Notification Service (Amazon SNS)

特徴 :AWSが提供するマネージド型のプッシュ通知サービス。
    モバイルデバイスだけでなく、メールやSMS、HTTPエンドポイントなど、
    様々なターゲットにメッセージを送信できます。
強み :AWSの他のサービスとの連携が容易
    高度な機能(セグメンテーション、A/Bテストなど)
    大規模なシステムにも対応可能
活用例:Eコマースサイトの新商品通知
    IoTデバイスへのメッセージ送信
    クラウドアプリケーションのステータス通知

3.OneSignal

特徴 :無料プランから利用でき、多様なプラットフォームに対応。
    セグメンテーションやA/Bテストなど、マーケティング機能も充実しています。
強み :無料プランが充実
    ユーザーインターフェースが直感的
    Webプッシュ通知にも対応
活用例:モバイルアプリのエンゲージメント向上
    Webサイトのコンバージョン率向上

4.Airship

特徴 :エンタープライズ向けの機能が充実しており、高度なカスタマイズや分析が可能です。
    A/Bテストやパーソナライゼーション機能も強力です。
強み :エンタープライズ向け機能
    高度な分析機能
    パーソナライゼーション
活用例:大規模なアプリのプッシュ通知
    高度なマーケティングキャンペーンの実施

一覧

サービス予算カスタマイズ性対応プラットフォームスケーラビリティ統合性
FirebaseCloudMessaging
(FCM)
無料プランあり、大規模利用時は従量課金比較的低めAndroid, iOS, Web高いFirebase製品との連携が容易
AmazonSimpleNotification Service
(Amazon SNS)
AWSの利用料金体系に準ずる比較的高めAndroid, iOS, Windows, BlackBerry, Baidu高いAWSの他のサービスとの連携が容易
OneSignal無料プランあり、大規模利用時は従量課金高いAndroid, iOS, Web, macOS, Chrome, Firefox高い様々な外部サービスとの連携が可能
Airshipエンタープライズ向け、個別見積もり高いAndroid, iOS, Web, Wear OS, tvOS高い様々なマーケティングツールとの連携が可能

サービスのアップデートなどにより、情報が変更となる場合がございます。最新の情報につきましては、必ず公式情報をご確認ください。

用途に応じて最適なものを選びましょう

プッシュ通知には、「リモートプッシュ通知」など、いくつかの種類があり、それぞれ特徴や用途が異なります。本記事では、これらの種類や、特に「リモートプッシュ通知」の実現方法について解説しました。

「リモートプッシュ通知」を実現するうえで欠かせないのが、プッシュ通知サービスです。Firebase Cloud Messaging(FCM)、Amazon Simple Notification Service(Amazon SNS)、OneSignal、Airshipといった主要なサービスを紹介し、予算やカスタマイズ性などの観点から比較しました。
プッシュ通知は、アプリの利用率向上やユーザーの継続的な利用を促すなど、ユーザーエンゲージメントを高める上で重要なツールです。ハイペリオンでは、FCMを用いたプッシュ通知の実現をはじめ、モバイルアプリ開発を総合的にサポートしております。プッシュ通知に関するご質問や、モバイルアプリ開発でお困りのことがございましたら、お気軽にお問い合わせください。