MQTTを使用したカスタムプッシュ通知サービスの構築

MQTT(Message Queue Telemetry Transport)は、IBMがIOT向けに特別に設計した軽量メッセージングプロトコルです。 MQTTはPublish-Subscribeモデルで動作します。
Facebook&WhatsAppはメッセージングエンジンにMQTTを使用しています。

さて、チュートリアルでは、MQTTを使用してプッシュ通知サービスを実装する方法を紹介します。 私は完全なサービスを実装するつもりはありませんが、それがどのようにできるかについてのプロトタイプを実装します。

,

  1. EMQ(MQTTブローカー)
  2. MongoDB(ユーザーの情報を格納する)
  3. 管理ダッシュボード(通知を公開する)
  4. Androidアプリ(クライアント)
  5. Eclipse Paho MQTTクライアント(Android、JavaScript)
  6. 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