| 概要 | あなた自身のアプリを通じて、Discourseのプッシュ通知をiOSまたはAndroidに送信する | |
| リポジトリリンク | GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app | |
| インストールガイド | Discourseにプラグインをインストールする方法 |
特徴
Discourseフォーラムを閲覧するためのアプリをお持ちの場合、このプラグインを使用すると、フォーラムからアプリ経由でプッシュ通知を送信できます。(まだアプリをお持ちでないが、欲しいかもしれない場合は、このミニマリストソリューションをご覧ください。)
ユーザーにとって便利: ユーザーがプライベートメッセージに関するプッシュ通知を受け取った場合、その通知をタップするとアプリが開き、そのプライベートメッセージが直接表示されます。これは、プッシュ通知がPushoverアプリを開き、メッセージへの到達方法が不明瞭になるDiscourse Pushover Notificationsを使用する場合と比較して大きな利点です。一方で、Pushover Notificationsは、アプリなしでプッシュ通知を取得したい場合に適しています。
ユニバーサル: メッセージレイヤーとしてGoogle Firebaseを使用するため、Googleが国によって禁止されていない限り、すべてのiOSおよびAndroidデバイスがこれらのプッシュ通知を受信できます。
設定
- プラグインをインストールして有効化します。
- アプリ用の無料Google Firebaseプロジェクトを作成します。FirebaseプロジェクトID、トークン、およびJSON(OAuthデータを含む)をDiscourseのプラグイン設定に追加します。
- アプリコードを調整します。
-
デバイスのトークンをYOUR_FORUM.com/fcm_notifications/automatic_subscribe?token=… に送信して、アクティブなユーザーをプッシュ通知にサブスクライブします。デバイスのトークンが変更されるたびにこれを呼び出すようにしてください。
-
YOUR_FORUM.com/fcm_notifications/automatic_subscribe?token=REMOVE を呼び出して、アクティブなユーザーのサブスクリプションを解除します。
-
プッシュ通知は次の形式になります。
'data': { "linked_obj_type" => 'link', "linked_obj_data" => <url to the post/message referenced in the message>, }, 'notification': { title: <something like "USERNAME sent you a private message in TOPIC">, body: <beginning of the message>, }
したがって、プッシュ通知をタイトル/本文で表示し、それをタップするとアプリ内ブラウザでlinked_obj_dataのURLを開く必要があります。これはアプリのコードで定義する必要があるものです。
実装例
このプラグインと連携する、ミニマリストでありながら完全に機能するアプリのコードはこちらから入手できます。(これは、このプラグインを必要とした当社が作成した本番アプリのホワイトラベルバージョンです。)フォーラムを表示し、プッシュ通知を送信し、ユーザーのログイン/最後に読んだトピックを記憶するアプリだけが必要な場合は、ブランディングを変更してApp Storeに提出するだけで完了です。そうでなければ、基盤として使用できます。
このアプリからの収益は、プラグインの保守とさらなる開発の資金となります。
