MQTTを使用したカスタムプッシュ通知サービスの構築
MQTT(Message Queue Telemetry Transport)は、IBMがIOT向けに特別に設計した軽量メッセージングプロトコルです。 MQTTはPublish-Subscribeモデルで動作します。
Facebook&WhatsAppはメッセージングエンジンにMQTTを使用しています。
さて、チュートリアルでは、MQTTを使用してプッシュ通知サービスを実装する方法を紹介します。 私は完全なサービスを実装するつもりはありませんが、それがどのようにできるかについてのプロトタイプを実装します。
,
- EMQ(MQTTブローカー)
- MongoDB(ユーザーの情報を格納する)
- 管理ダッシュボード(通知を公開する)
- Androidアプリ(クライアント)
- Eclipse Paho MQTTクライアント(Android、JavaScript)
- Eclipse Paho MQTTクライアント(Android、JavaScript)
その全体像は、システム内のコンポーネントがどのように相互作用しているかです。
アイデアは、ユーザーがmqttブローカーに接続し、ブローカーがmongodbのデータでそれらを認証することです。
通知を発行するユーザーをシステム管理者と仮定します&他のユーザーは、これらの通知を受信するために購読されます。 と仮定すると、[email protected] ユーザーであり、メールアドレスで認証した後、ユーザーはトピックにサブスクライブされます([email protected])から、トピックにメッセージを公開する場合は、管理者ダッシュボードから[email protected] ユーザーはそれを受け取ります。 それがすべてです。
,
{ "user_email": "email address of user", "user_password": "password of user", "type": "admin/user"}
これが管理者ダッシュボードであると仮定します,
3つのボタンがあります。 ログアウトするには、ユーザーを追加し、プッシュ通知を送信するには、別のものです。
画面にプッシュ通知ビューが表示されます。 管理ダッシュボードはWebsocket経由でMQTTブローカーに接続されています。 ユーザーのメールアドレスは、メッセージが公開されるトピックです。 送信をクリックすると、Websocketを使用してメッセージが公開されます。
それぞれの電子メールアドレスが接続されている場合&それぞれのトピックに購読されている場合、クライアントはメッセージを受信します。
注:これは教育目的のための単なる試作品であり、生産準備は整っていません。 本番システムで使用するには、必要に応じてセキュリティ&その他のチューニングを実装する必要があります。
Leave a Reply