Notifiche push per app iPhone e Android

:information_source: Riepilogo Invia notifiche push di Discourse a iOS o Android tramite la tua app
:hammer_and_wrench: Link al repository GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app
:open_book: Guida all’installazione Come installare plugin in Discourse

FunzionalitĂ 

Se hai un’app che le persone possono utilizzare per navigare nel tuo forum Discourse, questo plugin consentirà al tuo forum di inviare notifiche push tramite l’app. (Se non hai ancora un’app ma potresti volerne una, dai un’occhiata a questa soluzione minimalista.)

Comodo per gli utenti: quando un utente riceve una notifica push su un messaggio privato, toccando tale notifica si aprirà la tua app e visualizzerà direttamente quel messaggio privato. Questo è un grande vantaggio rispetto all’utilizzo di Notifiche Pushover di Discourse, dove le notifiche push aprono l’app Pushover e non è chiaro come raggiungere il messaggio. D’altra parte, Notifiche Pushover è utile se desideri notifiche push senza un’app.

Universale: utilizza Google Firebase come livello di messaggistica, quindi tutti i dispositivi iOS e Android possono ricevere queste notifiche push, a condizione che il paese non abbia vietato Google.

Configurazione

  1. Installa e attiva il plugin.
  2. Crea un progetto Google Firebase gratuito per la tua app. Aggiungi l’ID del progetto Firebase, il token e il file json (con dati OAuth) alle impostazioni del plugin in Discourse.
  3. Modifica il codice della tua app:
  • Iscrivi l’utente attivo alle notifiche push inviando il token del dispositivo a TUO_FORUM.com/fcm_notifications/automatic_subscribe?token=… . Assicurati di chiamare questo ogni volta che il token del dispositivo cambia.

  • Annulla l’iscrizione dell’utente attivo chiamando TUO_FORUM.com/fcm_notifications/automatic_subscribe?token=REMOVE

  • Le notifiche push avranno il formato:

    'data': {
      "linked_obj_type" => 'link',
      "linked_obj_data" => <url al post/messaggio a cui si fa riferimento nel messaggio>,
    },
    'notification': {
      title: <qualcosa come "USERNAME ti ha inviato un messaggio privato in TOPIC">,
      body: <inizio del messaggio>,
    }
    

Quindi devi visualizzare la notifica push con titolo/corpo e toccandola dovrebbe aprirsi l’URL da linked_obj_data in un browser in-app. Questo è ciò che devi definire nel codice dell’app.

Esempio di implementazione

Puoi ottenere il codice per un’app minimalista ma completamente funzionale che funziona con questo plugin qui. (È la versione whitelabel di un’app di produzione che abbiamo creato, che necessitava di questo plugin.) Se desideri solo un’app che visualizzi il tuo forum, invii notifiche push e ricordi il login / l’ultimo argomento letto delle persone, devi solo cambiare il branding e inviarla agli App Store e hai finito. Altrimenti, potrebbe essere una base.

I proventi di questa app finanzieranno la manutenzione e lo sviluppo futuro del plugin.

4 Mi Piace

La notifica push funziona con l’app Discourse Hub?

L’app Discourse Hub è già dotata di notifiche push.

Anche per i siti self-hosted?

1 Mi Piace

Hmm… non ne sono sicuro al 100%, ma non credo. In tal caso questo plugin sarà molto utile.

Non al momento: qualunque app tu abbia, richiede modifiche al codice.

Non credo che sarà possibile utilizzare questo plugin con qualsiasi app che non possiedi, perché le notifiche push dipendono dalla condivisione dell’autenticazione Google (o di un’altra autenticazione se non si utilizza Google Firebase) tra il forum e l’app. Questo serve a far sapere a Google chi è responsabile dell’invio di potenziali notifiche dannose o di spam e a chiudere il suo account. Inoltre, l’autenticazione Google può essere utilizzata per fare altre cose con l’account Google della persona, a seconda di come è configurata. Quindi non credo che i creatori dell’app Discourse Hub (o qualsiasi creatore di app) vorrebbero condividere la loro autenticazione Google con chiunque abbia un forum Discourse auto-installato, e naturalmente non possono aggiungere l’autenticazione Google di tutti al codice dell’app (né chiedere agli utenti finali di farlo dopo aver scaricato). Per le notifiche push di Google Firebase, il forum e l’app devono essere di proprietà della stessa organizzazione, non vedo una soluzione.

C’è un’app live che possiamo testare?

Vedi sopra: non puoi installare questo plugin sul tuo forum e collegarlo a nessuna app esistente perché ciò significherebbe che il proprietario dell’app dovrebbe condividere la propria autenticazione Google con te.

Se vuoi vedere un’implementazione di esempio, dai un’occhiata a https://youtube.com/shorts/iGmTBmhpD4A?feature=share (l’app mostrata è questo codice senza alcuna modifica). Ma la tua app potrebbe avere un aspetto completamente diverso: il plugin abilita solo il tuo forum a inviare notifiche push alla tua app, come vengono visualizzate dipende da te.