Il plugin discourse-amazon-sns abilita le notifiche push nei forum Discourse tramite Amazon Simple Notification Service (SNS). È progettato per funzionare in combinazione con un’app mobile per inviare notifiche push ai dispositivi iOS e Android tramite APNS e GCM/FCM. Amazon SNS gestisce la comunicazione con ciascun protocollo, questo plugin garantisce che gli eventi di Discourse (risposte, argomenti monitorati, PM, ecc.) attivino eventi in SNS.
Funzionalità
Supporto per notifiche push per le piattaforme iOS (APNS) e Android (GCM/FCM)
Registrazione e gestione dei token dei dispositivi
Gestione automatica degli endpoint disabilitati o non validi
Integrazione con il sistema di notifiche esistente di Discourse
Supporto per la comunicazione webview di React Native
Requisiti
Account AWS con accesso SNS
Applicazioni della piattaforma Amazon SNS configurate per:
iOS (APNS o APNS_SANDBOX)
Android (GCM/FCM)
Credenziali AWS con autorizzazioni per pubblicare su SNS
Applicazione mobile in grado di registrarsi e ricevere notifiche push
Impostazioni
Nome
Descrizione
enable_amazon_sns_pns
Abilita/disabilita la funzionalità del plugin
amazon_sns_access_key_id
ID chiave di accesso AWS
amazon_sns_secret_access_key
Chiave di accesso segreta AWS
amazon_sns_region
Regione AWS (es. us-east-1)
amazon_sns_apns_application_arn
ARN per l’applicazione della piattaforma iOS in SNS
amazon_sns_gcm_application_arn
ARN per l’applicazione della piattaforma Android in SNS
Ciao a tutti! Sto usando Discourse 3.5.2 tramite l’immagine discourse/discourse e questo è l’unico plugin che causa problemi durante l’installazione, provocando un errore 5xx nella nostra installazione. L’errore è il seguente:
ActionView::Template::Error (L'asset 'plugins/discourse-amazon-sns.js' non è stato trovato nel percorso di caricamento.)
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'
Tutti gli asset sono già stati precompilati eseguendo:
È qualcosa di nuovo, abbiamo appena introdotto il plugin nella nostra installazione (abbiamo altri plugin e funzionano tutti), ma poi il sito restituisce un errore 5xx, e quando controllo i log, vedo quello che ti ho inviato. Il mio Dockerfile è simile a questo:
FROM discourse/discourse:3.5.2
WORKDIR /var/www/discourse
# Installa il 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
Sì, @caue-pareto, scusa, penso che questo abbia a che fare con quell’immagine. Non vedo problemi con questo plugin sulla mia installazione self-hosted seguendo l’installazione standard.