Le plugin discourse-amazon-sns permet les notifications push dans les forums Discourse via Amazon Simple Notification Service (SNS). Il est conçu pour fonctionner en conjonction avec une application mobile afin de diffuser des notifications push aux appareils iOS et Android via APNS et GCM/FCM. Amazon SNS gère la communication avec chaque protocole, ce plugin garantit que les événements Discourse (réponses, sujets suivis, MP, etc.) déclenchent des événements dans SNS.
Fonctionnalités
Prise en charge des notifications push pour les plateformes iOS (APNS) et Android (GCM/FCM)
Enregistrement et gestion des jetons d’appareil
Gestion automatique des points de terminaison désactivés ou invalides
Intégration avec le système de notification existant de Discourse
Prise en charge de la communication via webview React Native
Prérequis
Compte AWS avec accès SNS
Applications de plateforme Amazon SNS configurées pour :
iOS (APNS ou APNS_SANDBOX)
Android (GCM/FCM)
Identifiants AWS avec les autorisations nécessaires pour publier sur SNS
Application mobile capable de s’enregistrer et de recevoir des notifications push
Paramètres
Nom
Description
enable_amazon_sns_pns
Activer/désactiver la fonctionnalité du plugin
amazon_sns_access_key_id
ID de clé d’accès AWS
amazon_sns_secret_access_key
Clé d’accès secrète AWS
amazon_sns_region
Région AWS (par exemple, us-east-1)
amazon_sns_apns_application_arn
ARN de l’application de plateforme iOS dans SNS
amazon_sns_gcm_application_arn
ARN de l’application de plateforme Android dans SNS
Bonjour à tous ! J’utilise Discourse 3.5.2 avec l’image discourse/discourse, et c’est le seul plugin qui cause des problèmes lors de l’installation, entraînant une erreur 5xx dans notre installation. L’erreur est la suivante :
ActionView::Template::Error (L'asset 'plugins/discourse-amazon-sns.js' n'a pas été trouvé dans le chemin de chargement.)
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'
Tous les assets ont déjà été précompilés en exécutant :
C’est quelque chose de nouveau, nous venons d’introduire le plugin dans notre installation (nous avons d’autres plugins et ils fonctionnent tous), mais ensuite le site affiche une erreur 5xx, et lorsque je consulte les journaux, je vois ce que je vous ai envoyé. Mon Dockerfile ressemble à ceci :
FROM discourse/discourse:3.5.2
WORKDIR /var/www/discourse
# Installer le plugin 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
Oui, @caue-pareto, désolé, je pense que cela est lié à cette image. Je ne vois aucun problème avec ce plugin sur mon installation auto-hébergée en suivant l’installation standard.