Push-Nachrichten Versenden Mit Push-Nachrichten können gezielt Informationen an Benutzer der App gesendet werden. Dies kann alle registrierten Benutzer betreffen oder spezifische Zielgruppen wie Abteilungen, Gruppen oder Rollen. Typische Anwendungsfälle umfassen Ankündigungen, Veranstaltungsänderungen oder wichtige Benachrichtigungen. Verfügbare Push-Kanäle abrufen Zuerst müssen wir die verfügbaren Push-Kanäle ermitteln, um eine Nachricht gezielt an einen Kanal zu senden. Dazu nutzen wir die Query listPushChannels. Die Antwort liefert uns eine Liste der Kanäle, inklusive der ID, welche für den gezielten Versand benötigt wird: query ListPushChannels { listPushChannels { id number name description imageResourceId soundId autoSubscribe initialSubscribe active subscriptionCount allowedGroupIds } } Die Response zeigt uns eine Übersicht aller Push-Kanäle: { "data": { "listPushChannels": [ { "id": "5e8dcabb34fc37d152ae23cf", "number": 1, "name": "Allgemeine News", "description": "Hier werden allgemeine News veröffentlicht", "imageResourceId": null, "soundId": null, "autoSubscribe": true, "initialSubscribe": true, "active": true, "subscriptionCount": 400, "allowedGroupIds": null }, { "id": "5ec3de8434fc8a61a1c3f2ea", "number": 2, "name": "Beispielkanal 1", "description": "", "imageResourceId": null, "soundId": null, "autoSubscribe": false, "initialSubscribe": false, "active": false, "subscriptionCount": 0, "allowedGroupIds": null } ] } } Push-Nachricht versenden Mit der Mutation sendPushNotificationToDevices können wir nun eine Push-Nachricht versenden. Im folgenden Beispiel senden wir die Nachricht nur an den Kanal "Allgemeine News". Es besteht jedoch auch die Möglichkeit, gezielt an bestimmte Abteilungen, Gruppen oder Rollen zu senden, so wie Sie es aus dem Modul der App bzw. dem CMS kennen. Um dies zu erreichen, müssen Sie die entsprechenden IDs in die Felder departmentIds (Schlüssel der Abteilung, abrufbar mit listEnumValues oder durch Nachschlagen im CMS), groupIds (abrufbar mit listGroups) und/oder roleIds (Schlüssel der Rolle, ebenfalls über listEnumValues oder im CMS auffindbar) eintragen. Bei der Auswahl mehrerer Kriterien (z. B. Abteilungen, Gruppen und Rollen) wird eine logische UND-Verknüpfung angewendet. Das bedeutet, dass ein Benutzer alle ausgewählten Kriterien erfüllen muss, um die Nachricht zu erhalten. mutation SendPushNotificationToDevices { sendPushNotificationToDevices( notification: { mode: NORMAL message: "Unsere Mannschaft hat gewonnen!!" channelIds: ["5e8dcabb34fc37d152ae23cf"] } ) { id message } } Die folgende Response zeigt die versendete Nachricht: { "data": { "sendPushNotificationToDevices": { "id": "5e8dcabb34fc37d152ae23cf", "message": "Unsere Mannschaft hat gewonnen!!" } } } Weitere nützliche Queries: calculatePushNotificationMaxReceivers – Berechnet die maximale Anzahl der Empfänger für eine Push-Nachricht. findPushNotifications – Findet alle gesendeten Push-Nachrichten. Weitere nützliche Mutationen: updatePushNotification – Aktualisiert eine bereits gesendete Push-Nachricht. deletePushNotification – Löscht eine Push-Nachricht. sendPushNotificationToProfile – Sendet eine Push-Nachricht an ein bestimmtes Benutzerprofil. sendPushNotificationToDevices – Versendet Push-Nachrichten im Modus "NORMAL" oder "TEST". sendPushNotificationToEventAttendees – Sendet Nachrichten an Teilnehmer eines Events.