オープンソース

アプリのプッシュ通知をPCやスマートフォンに送れるOSS〜ntfy〜

プッシュ通知は、該当のアプリを起動していない場合でも、ポップアップで情報を表示することができるため、欲しい情報をすぐに確認することができます。プッシュ通知は、メールやSMS、LINEなどのアプリで利用されています。ここでは、WEBアプリやAPIを利用することで、デスクトップやスマホの画面にプッシュ通知を送信することができる、おすすめのオープンソースソフトウェア「ntfy」について紹介します。

目次

プッシュ通知とは

プッシュ通知とは、パソコンのデスクトップやスマホのロック画面などに表示される、端末に直接送ることができるお知らせやメール、メッセージをいいます。プッシュ通知は、サーバ側から情報を「押し出す」(プッシュ)という意味でプッシュ型通信とも呼ばれています。プッシュ通知は、スマートフォンアプリの新着情報やキャンペーン、ニュース、天気予報などでよく利用されています。プッシュ通知をタップすると、そのプッシュ通知に設定してあるアプリが起動し詳細画面が表示されます。ユーザの個人情報を知らない場合でも、アプリ内でプッシュ通知の設定が有効になっている場合、通知を送ることができます。最近では、アプリを開いていない場合でも、アイコンで通知をお知らせしてくれるなど様々な通知方法があります。

モバイルプッシュ通知画面

プッシュ通知のメリット

プッシュ通知は、PCやスマートフォンでアプリ内のお知らせやセール情報、クーポンなど最新情報の通知として、年々利用が増加しています。スマートフォンの利用時間のうち、アプリの使用が占める時間が90%以上という調査結果もある中、アプリに通知ができるプッシュ通知の需要は増してきています。プッシュ通知を導入することで以下のメリットがあります。

  • ユーザが気づきやすい

    プッシュ通知は、メリットとしてメールなどと比較し、リアルタイムで通知が送付できるため、ユーザが気づきやすいという最大の特徴があります。プッシュ通知として送信されたメッセージは、受け取ったユーザが開封や消去などの行動を起こすまで、ロック画面やタスクバーの通知領域に表示された状態となることが多く、重要な通知の発信に有効です。

  • ログインしていないユーザにも発信できる

    アプリ内メッセージと違い、プッシュ通知にはアプリにログインしていない状況のユーザにも通知ができるというメリットもあります。基本的にプッシュ通知は、配信者側で、表示させたいサイトのURL等や通知が届くタイミングを設定することができます。パソコンの場合では、アプリを開いていないとプッシュ通知が送付できないものもありますが、スマートフォンの場合は、ユーザがアプリを開いていなくても通知することができます。

  • 自社サービスへの誘導ができる

    プッシュ通知は、自分たちが見てほしい情報のURLをピンポイントに指定することができます。また、受け取ったユーザは、通知の内容に合わせ、プッシュ通知からワンタッチでアプリを起動することができます。そのため、広告としてプッシュ通知を使用する場合も、ターゲットの興味を引きアプリへの訪問を促す効果があることから、サービスの利用率の向上や、コンバージョン率を高める効果など、売上への貢献が期待できます。配信したプッシュ通知のクリック数や集客数をレポート化して検証することで、商品のマーケティングの施策としても役立ちます。

プッシュ通知のデメリット

プッシュ通知には、上記の通りメリットが多いですが、以下のデメリットもあります。

  • システムやアプリの利用を減少させる

    通知が頻繁になるとユーザがスマホを利用する妨げとなり、プッシュ通知の設定をオフにしてしまう可能性があります。オフにしてしまうとシステムが利用されなくなってしまう可能性もあるため、プッシュ通知の適切な回数の分析が必要になります。

  • 広告効果がみられない

    そもそもアプリがダウンロードされ、使われていないとプッシュ通知を送ることができません。その上、せっかくプッシュ通知が送られていても、通知を見られていない場合は広告の効果がありません。対象の顧客がクリックしそうな通知の内容を、年齢やエリア等、ターゲットのセグメント別に設定したり、配信する日程や時間帯、頻度を実際にテストするなどの検討が必要になります。

プッシュ通知の仕組み

自社の商品やサービス、社内のシステムにプッシュ通知を導入するには、プッシュ通知の仕組みを理解する必要があります。プッシュ通知には、PCとスマートフォンで異なる2つの仕組みがあります。

デスクトップPCのWEBアプリの場合

PCのブラウザで利用するデスクトップ通知は、サーバとクライアントプログラムの2つで実装が可能です。このため、比較的プログラムで実装するハードルが低くなっています。例えば、APIを利用することで、ブラウザからプッシュ通知を送ることができます。APIは、Webサイトにコードを埋め込むことでプッシュ通知を実装することが可能になります。

スマートフォンの場合

スマートフォンの場合、AndroidとiOSでは、実装の方法が異なります。基本的には、GoogleやAppleが管理する次のシステムを経由してプッシュ通知を送る必要があります。

  • Android:FCM(Firebase Cloud Messaging)

    FCMは、Googleが開発しているAndroidアプリ用のプラットフォームです。FCMを利用するためには、スマホアプリとアプリケーションサーバが必要になります。また、アプリをダウンロードすると自動的にプッシュ通知を受け取ることができます。

  • iOS:APNS(Apple Push Notification Service)

    APNsは、Appleが開発したiPhoneアプリ用のプッシュ通知サービスです。iOSのプッシュ通知は、ユーザが通知を受け取るかどうか自分で設定することができます。

上記のシステムを経由するためには、プッシュ通知を送信するサーバ側と、クライアントの双方に、上記システムを利用するための情報を埋め込む必要があります。また、プログラムの設定とは別に、開発者登録や費用の支払い(特にiOSの場合)等の事務処理が追加で発生します。その上、アプリ開発の知識が必要になるため、スマートフォンへのプッシュ通知は比較的導入のハードルが高くなっています。

プッシュ通知の課題

プッシュ通知を導入していくには、大きく分けて2つの課題があります。

閉域環境での利用が難しい

AndroidやiOSなどのスマートフォンでプッシュ通知を送付する場合は、上記で説明した、AndroidやiOSそれぞれのOSごとに指定されたシステムを経由する必要があります。送付の時にはどうしても、利用しているサービスとスマートフォン等のデバイスが、インターネットに接続できる必要があります。このため、閉域環境での利用が難しくなっています。

スキルレベルが必要

FCMやAPNSと連携するためには、通知を送る側のプログラムにも、受け取る側のアプリにも、経由するためのシステムの情報を埋め込んだり、開発者登録をしたりなどの作業が必要になります。そのため、スマートフォンのアプリ開発が必須になり、基礎のスキルだけではなく、より高い専門のスキルレベルが必要になります。

このページの以下の記事では、以上のような課題を解決することのできる、オープンソースソフトウェアのntfyについて特徴や機能を解説します。

プッシュ通知をPCやスマートフォンに送れるOSS「ntfy」とは

ntfyとは、デスクトップやスマートフォンにプッシュ通知を送信するためのソフトウェアです。ntfyは、Apache License 2.0とGPLv2 Licenseのデュアルライセンスで、オープンソースソフトウェアとして作成されており、ntfy公式サイトやgithubでURLが公開されています。なお、ntfyの読み方は英語の「notify(ノーティファイ、ノウティファイ)」と同じです。

ntfyには、通知を管理するサーバプログラムと、クライアントとなるWEBアプリ、スマホアプリが存在します。そのため、スマートフォンへの通知も可能になります。また、ntfyは、オープンソースソフトウェアのためライセンスが無料で、プッシュ通知を実装していないサービスに対しても、簡単に配信を実現することができます。

ntfy画面

ntfyの用途

ntfyは、さまざまな既存のシステムと連携して活用することが可能です。ここからは、デージーネットでおすすめするカスタマイズ方法をご紹介します。

システムの監視アラート通知

Zabbixなどの監視システムと連携させることで、システムから出るアラート通知をデスクトップ画面やスマホ画面に通知することが可能になります。最新のアラートを即時に通知できるため、e-mailで運用している場合に比べ、担当者がすぐに通知に気が付くことができます。さらに、スマホに通知を送るように設定しておけば、社内にいなくても内容を確認することが可能になります。

インシデント管理システム

上記で説明した、監視システムとntfyを連携させた後、問い合わせ管理システムのCuMASやZammadと連携することで、Web上でアラートを一覧で確認することができるようになります。システム内で、担当者を選択することができるので、対応している担当者も一覧で表示されます。これを利用することで、担当者がついていない案件もすぐにわかるため、対応の遅れを防ぐことができます。通知したいシステムと問合せ管理システムを連携させることで、インシデント管理のツールとして活用が可能です。

社内システムのメール通知の代替

例えば、社内システムを会社独自に作成している場合、自社向けのプッシュ通知専用のシステムを作成していなくても、ntfyを使うことで手軽に通知を送ることができます。通知を予約しておき、クリックしてほしいURLを設定することで、指定した時間になると自動的にメッセージが送信されるため、通知し忘れを防止できます。提出日の警告や承認の依頼など、出先でも確認が取れるようになるので、仕事を円滑に進めることが可能です。

ntfyの特徴

いろいろなソフトウェアと連携させて利用することができるntfyですが、以下の特徴があります。

APIを利用してプッシュ通知が可能

ntfyには、メッセージを送るだけではなく、他システムと連携するためのAPIが存在します。APIを利用することで、他システムのデータをPCやスマホの端末に送付することができるようになります。これにより、通常はプッシュ通知が行えないサービスにも導入が可能になります。

プッシュ通知用のアプリ開発が不要

ntfyは、様々なシステムの情報を、ntfyサーバを経由して、ntfyのアプリで通知することが可能です。つまり、どのようなサービスでもntfyサーバに通知を行うことができれば、プッシュ通知専用のアプリ開発なしで、簡単に端末への通知を実装できるようになります。

Androidでは、閉域環境でのプッシュ通知が可能

Android OSは、バックグラウンドの処理の制限が比較的ゆるいため、ntfyならば閉域環境でのプッシュ通知の実装が可能です。しかし、現状、iOSでは、バックグラウンドで処理できる範囲を厳しく制限しているため、完全閉鎖環境のプッシュ通知を行うことができません。

閉域環境でない場合でも、ntfyを利用してiOS(iPhone/iPad)でプッシュ通知を利用する場合、ntfyサーバとntfyアプリだけでは、プッシュ通知を送ることができません。iOS(iPhone/iPad)でプッシュ通知を行うためには、FCM/APNsを経由して通知を送る必要があります。ただし、FCM/APNsを利用する場合、開発者登録やアプリ自体にプッシュ通知をやりとりするための情報を埋め込むなど、別途の開発が必要となります。そこでntfyには、より簡単にiOSでのプッシュ通知を実装する手段が用意されています。しかし、この実装方法には、公式のntfyサーバやFCM/APNsを介して行う必要があるため、セキュリティ等に注意が必要です。

WEBブラウザから購読や通知が可能

ntfyは、WEBブラウザから購読するトピックや通知の設定が可能です。ntfyでは、トピックと呼ばれる単位で通知を管理します。ユーザは、特定のトピックを購読する設定を行うことで、そのトピックの通知を受け取ることができます。さらに元々ntfyは、システムやサービスからの通知を目的として開発されているため、システムから通知を送りやすいように、コマンドやWEB APIなどで、通知を送る仕組みも存在します。現状、ntfyにはユーザ管理のGUIがないため、ユーザの登録や削除を行う際は、コマンドライン操作が必要になります。

専用のモバイルアプリから購読が可能

ntfyには、モバイルアプリが存在します。こちらでは、設定したトピックの購読のみを行うことが可能です。購読している会員に向けてトピックの通知を行いたい場合は、モバイルアプリからではなく、Webブラウザで設定する必要があります。App StoreやGoogle Playで提供されているため、通常のアプリと同様にインストールが可能です。

モバイル画面

モバイル画面

モバイル画面

ユーザ単位で権限を設定できる

ntfyのデフォルトの設定では、誰でも任意のトピックに通知を送ることができます。さらにntfyで権限を設定することで、対象となるユーザとトピックに対して、通知の送信やトピックの購読を制限することができます。アクセス制限は、読み書きどちらも可能、読み込みのみ可能、書き込みのみ可能など、必要に応じて細かく設定することが可能です。

ユーザー画面

プッシュ通知の制限が可能

ntfyは、大量の通知を制限するためにレートリミットの設定が行えます。許可するリクエストの回数と、制限を計算する秒数を入力することで、通知上限の設定ができます。特定のユーザーのみを選択し、上限を除外する設定も行うことが可能です。この機能を使い、頻繁な通知が原因となるユーザーの離脱を回避する対策を行うことができます。

デージーネットの取り組み

デージーネットでは、Zabbixなどの監視システムやRoket.chatなどのチャットシステムのモバイルアプリとntfyを組み合わせて、自動的に通知を送る仕組みを検討しています。また、監視システムのプッシュ通知を問合せ管理システムと連携して活用することも可能です。

その他、社内システムにプッシュ通知を利用したい場合に、ntfyを利用したシステムの構築サービスを行っています。弊社で構築を行ったシステムは、導入後の支援として保守サービスに加入することができます。保守サービスでは、Q&Aやセキュリティ情報提供、障害の調査・回避を行います。保守のタイプによって保守の範囲や料金が異なるため、具体的な内容はお問い合わせください。

ntfyのインストール手順や設定方法などの詳細は、デージーネットで調査・検証したntfy調査報告書に掲載されています。

「情報の一覧」

ntfy調査報告書

無料資料ダウンロード

ntfyは、プッシュ通知に特化したソフトウェアです。ntfyを使うことで、デスクトップやスマートフォンにプッシュ通知を送信することができます。本書は、ntfyについて調査した内容をまとめたもので、無料でダウンロードが可能です。

Zabbix〜ログ監視も可能なOSSの監視ツール〜

Zabbix_OSS情報

Zabbixとは、サーバ、ネットワーク、アプリケーションを集中監視するための統合監視ソフトウェアです。Zabbixを導入することでシステム全体を監視することが可能です。

Rocket.Chat〜オンプレ用のチャット〜

Rocket.Chat_OSS情報

Rocket.Chatとは、OSSのウェブチャットソフトウェアです。Rocket.Chatにより、オンプレミス環境にシンプルなチャットシステムを構築することができます。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

アプリのプッシュ通知をPCやスマートフォンに送れるOSS〜ntfy〜の先頭へ