Push-Benachrichtigungen für iPhone- und Android-Apps

:information_source: Zusammenfassung Senden Sie Discourse-Push-Benachrichtigungen an iOS oder Android über Ihre eigene App
:hammer_and_wrench: Repository-Link GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app
:open_book: Installationsanleitung So installieren Sie Plugins in Discourse

Funktionen

Wenn Sie eine App haben, mit der Leute Ihr Discourse-Forum durchsuchen können, können Sie mit diesem Plugin Benachrichtigungen über die App senden. (Wenn Sie noch keine App haben, aber eine möchten, schauen Sie sich diese minimalistische Lösung an.)

Bequem für Benutzer: Wenn ein Benutzer eine Push-Benachrichtigung über eine private Nachricht erhält, öffnet das Tippen auf diese Benachrichtigung Ihre App und zeigt diese private Nachricht direkt an. Dies ist ein großer Vorteil gegenüber der Verwendung von Discourse Pushover Notifications, bei denen Push-Benachrichtigungen die Pushover-App öffnen und es nicht offensichtlich ist, wie man zur Nachricht gelangt. Andererseits sind Pushover-Benachrichtigungen gut, wenn Sie Push-Benachrichtigungen ohne App wünschen.

Universell: Verwendet Google Firebase als Nachrichtenebene, sodass alle iOS- und Android-Geräte diese Push-Benachrichtigungen empfangen können, solange das Land Google nicht verboten hat.

Konfiguration

  1. Installieren und aktivieren Sie das Plugin.
  2. Erstellen Sie ein kostenloses Google Firebase-Projekt für Ihre App. Fügen Sie die Firebase-Projekt-ID, den Token und die JSON-Datei (mit OAuth-Daten) zu den Plugin-Einstellungen in Discourse hinzu.
  3. Passen Sie Ihren App-Code an:
  • Abonnieren Sie den aktiven Benutzer für Push-Benachrichtigungen, indem Sie den Geräte-Token an YOUR_FORUM.com/fcm_notifications/automatic_subscribe?token=… senden. Stellen Sie sicher, dass Sie dies jedes Mal aufrufen, wenn sich der Geräte-Token ändert.

  • Abonnieren Sie den aktiven Benutzer ab, indem Sie YOUR_FORUM.com/fcm_notifications/automatic_subscribe?token=REMOVE aufrufen.

  • Push-Benachrichtigungen haben das Format:

    '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>,
    }
    

Sie müssen also die Push-Benachrichtigung mit Titel/Text anzeigen, und das Tippen darauf sollte die URL aus linked_obj_data in einem In-App-Browser öffnen. Dies müssen Sie im Code der App definieren.

Beispielimplementierung

Den Code für eine minimalistische, aber voll funktionsfähige App, die mit diesem Plugin funktioniert, erhalten Sie hier. (Es ist die Whitelabel-Version einer von uns erstellten Produktions-App, die dieses Plugin benötigte.) Wenn Sie nur eine App möchten, die Ihr Forum anzeigt, Push-Benachrichtigungen sendet und sich die Anmeldungen/zuletzt gelesenen Themen der Benutzer merkt, müssen Sie nur das Branding ändern und sie in den App Stores einreichen, und Sie sind fertig. Andernfalls könnte sie eine Grundlage sein.

Die Einnahmen aus dieser App werden die Wartung und Weiterentwicklung des Plugins finanzieren.

4 „Gefällt mir“

Funktioniert die Push-Benachrichtigung mit der Discourse Hub-App?

Die Discourse Hub App verfügt bereits über Push-Benachrichtigungen.

Auch für selbst gehostete Websites?

1 „Gefällt mir“

Hmm… nicht ganz sicher, aber ich glaube nicht. In diesem Fall wäre dieses Plugin sehr nützlich.

Im Moment nicht – jede App, die du hast, erfordert Änderungen am Code.

Ich glaube nicht, dass dieses Plugin mit einer App verwendet werden kann, die dir nicht gehört, da Push-Benachrichtigungen die gemeinsame Nutzung der Google-Authentifizierung (oder einer anderen Authentifizierung, falls nicht Google Firebase verwendet wird) zwischen dem Forum und der App erfordern. So weiß Google, wer für potenziell bösartige oder Spam-Benachrichtigungen verantwortlich ist, und kann dessen Konto sperren. Außerdem kann die Google-Authentifizierung potenziell für andere Dinge mit dem Google-Konto der Person verwendet werden, je nachdem, wie sie eingerichtet ist. Daher glaube ich nicht, dass die Entwickler der Discourse Hub App (oder andere App-Entwickler) ihre Google-Authentifizierung mit jedem teilen möchten, der ein selbst installiertes Discourse-Forum hat, und natürlich können sie nicht die Google-Authentifizierung jedes Einzelnen zum App-Code hinzufügen (noch die Endbenutzer bitten, dies nach dem Download zu tun). Für Google Firebase Push-Benachrichtigungen müssen das Forum und die App derselben Organisation gehören, ich sehe keinen Ausweg.

Gibt es eine Live-App, die wir testen können?

Siehe oben – Sie können dieses Plugin nicht auf Ihrem Forum installieren und mit einer vorhandenen App verbinden, da dies bedeuten würde, dass der App-Besitzer seine Google-Authentifizierung mit Ihnen teilen muss.

Wenn Sie eine Beispielimplementierung sehen möchten, schauen Sie sich https://youtube.com/shorts/iGmTBmhpD4A?feature=share an (die gezeigte App ist dieser Code ohne jegliche Modifikationen). Aber Ihre App könnte völlig anders aussehen – das Plugin ermöglicht Ihrem Forum lediglich, Push-Benachrichtigungen an Ihre App zu senden, wie diese angezeigt werden, bleibt Ihnen überlassen.