Discourse Amazon SNS 通知

:information_source: 概要 Amazon SNS を使用してカスタムモバイルアプリケーションにプッシュ通知を送信します。
:hammer_and_wrench: リポジトリリンク GitHub - discourse/discourse-amazon-sns
:open_book: インストールガイド Discourse にプラグインをインストールする方法

discourse-amazon-sns プラグインは、Amazon Simple Notification Service (SNS) を介して Discourse フォーラムでプッシュ通知を有効にします。これは、モバイルアプリと連携して、APNS および GCM/FCM を介して iOS および Android デバイスにプッシュ通知を配信するように設計されています。Amazon SNS が各プロトコルとの通信を処理し、このプラグインは Discourse のイベント (返信、監視中のトピック、プライベートメッセージなど) が SNS でイベントをトリガーすることを保証します。

特徴

  • iOS (APNS) および Android (GCM/FCM) プラットフォームの両方に対するプッシュ通知サポート
  • デバイス トークンの登録と管理
  • 無効または無効なエンドポイントの自動処理
  • Discourse の既存の通知システムとの統合
  • React Native Webview 通信のサポート

要件

  • SNS へのアクセス権を持つ AWS アカウント
  • 以下のために設定された Amazon SNS プラットフォーム アプリケーション:
    • iOS (APNS または APNS_SANDBOX)
    • Android (GCM/FCM)
  • SNS への発行権限を持つ AWS 認証情報
  • プッシュ通知の登録と受信が可能なモバイル アプリケーション

設定

名前 説明
enable_amazon_sns_pns プラグイン機能を有効/無効にします
amazon_sns_access_key_id AWS アクセス キー ID
amazon_sns_secret_access_key AWS シークレット アクセス キー
amazon_sns_region AWS リージョン (例: us-east-1)
amazon_sns_apns_application_arn SNS の iOS プラットフォーム アプリケーションの ARN
amazon_sns_gcm_application_arn SNS の Android プラットフォーム アプリケーションの ARN
「いいね!」 5

皆さん、こんにちは!私はdiscourse/discourseイメージを使用してDiscourse 3.5.2を使用していますが、インストール時に5xxエラーが発生する原因となっているのはこのプラグインだけです。エラーは次のとおりです。

ActionView::Template::Error (アセット 'plugins/discourse-amazon-sns.js' がロードパスに見つかりませんでした。)
lib/freedom_patches/propshaft_patches.rb:16:in `compute_asset_path'
app/helpers/application_helper.rb:97:in `script_asset_path'
app/helpers/application_helper.rb:147:in `block in preload_script'
app/helpers/application_helper.rb:146:in `map'
app/helpers/application_helper.rb:146:in `preload_script'
app/views/layouts/application.html.erb:36
app/views/layouts/application.html.erb:35:in `each'
app/views/layouts/application.html.erb:35
lib/topic_list_responder.rb:16:in `block (2 levels) in respond_with_list'
lib/topic_list_responder.rb:7:in `respond_with_list'
app/controllers/list_controller.rb:115:in `block (2 levels) in <class:ListController>'
app/controllers/application_controller.rb:433:in `block in with_resolved_locale'
app/controllers/application_controller.rb:433:in `with_resolved_locale'
app/controllers/application_controller.rb:1065:in `ensure_dont_cache_page'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:410:in `call'

すべてのアセットはすでに次のコマンドでプリコンパイルされています。

RAILS_ENV=production bundle exec rake assets:precompile

この問題の原因について理解するのを手伝っていただけますか?

申し訳ありません。これは新しいエラーですか?つまり、このプラグインはすでにインストールされていて、ある時点で動作しなくなったということでしょうか?

これは新しいもので、他のプラグインはすべて動作しているのですが、インストールにプラグインを導入したところ、サイトが 5xx エラーを返し、ログを確認するとお送りした内容が表示されます。私の Dockerfile は以下のようになっています。

FROM discourse/discourse:3.5.2

WORKDIR /var/www/discourse

# discourse-amazon-sns プラグインをインストール
RUN git clone https://github.com/discourse/discourse-amazon-sns.git /var/www/discourse/plugins/discourse-amazon-sns \
    && chown -R discourse:discourse /var/www/discourse/plugins/discourse-amazon-sns

EXPOSE 80

それは実験的なイメージであり、プラグインとの互換性の問題が多く発生するでしょう。

「いいね!」 2

ええと、@caue-paretoさん、すみません、これはその画像に関する問題だと思います。標準のインストールに従った私のセルフホスト型インストールでは、このプラグインに問題は見られません。

「いいね!」 1