Benachrichtigungen senden
improve this page | report issueÜbersicht
Für das Senden von Push- oder SMS-Benachrichtigungen an iOS-, Android- oder Windows-Geräte muss zunächst MobileFirst Server mit den FCM-Details für Android, einem APNS-Zertifikat für iOS oder mit WNS-Berechtigungsnachweisen für Windows 8.1 Universal / Windows 10 UWP konfiguriert werden. Anschließend können Benachrichtigungen an alle Geräte gesendet werden (Broadcast), an Geräte, die für bestimmte Tags registriert sind, an eine einzelne Geräte-ID, an Benutzer-IDs, nur an iOS-Geräte, nur an Android-Geräte, nur an Windows-Geräte oder augehend vom authentifizierten Benutzer.
Voraussetzung: Arbeiten Sie das Lernprogramm Benachrichtigungen im Überblick durch.
Fahren Sie mit folgenden Abschnitten fort:
- Benachrichtigungen einrichten
- Tags definieren
- Benachrichtigungen senden
- HTTP/2-Unterstützung für APNS-Push-Benachrichtigungen
- Proxyunterstützung
- Nächste Lernprogramme
Benachrichtigungen einrichten
Für die Aktivierung der Unterstützung für Benachrichtigungen müssen mehrere Konfigurationsschritte in MobileFirst Server und in der Clientanwendung ausgeführt werden.
Fahren Sie mit dem Abschnitt zum serverseitigen Setup fort oder lesen Sie den Abschnitt Clientseitiges Setup.
Auf der Serverseite gehören zum Setup das Konfigurieren des erforderlichen Anbieters (APNS, FCM oder WNS) und die Zuordnung des Bereichs “push.mobileclient”.
Firebase Cloud Messaging
Hinweis: Google unterstützt GCM nicht mehr und hat das Cloud-Messaging mit Firebase integriert. Wenn Sie ein GCM-Projekt verwenden, müssen Sie die GCM-Client-Apps für Android auf FCM umstellen .
Android-Geräte verwenden den Service Firebase Cloud Messaging (FCM) für Push-Benachrichtigungen.
Gehen Sie wie folgt vor, um FCM zu konfigurieren:
- Öffnen Sie die Firebase Console.
- Erstellen Sie ein neues Projekt und geben Sie einen Projektnamen an.
- Klicken Sie auf das Zahnradsymbol für die Einstellungen und wählen Sie Project settings aus.
- Klicken Sie auf das Register Cloud Messaging, um einen Server API Key und eine Sender ID zu generieren. Klicken Sie dann auf Save.
Sie können FCM auch mit der REST-API für den MobileFirst-Push-Service oder der REST-API für den MobileFirst-Verwaltungsservice konfigurieren.
Hinweise
Wenn es in Ihrer Organisation eine Firewall gibt, die den Datenverkehr zum oder vom Internet einschränkt, müssen Sie die folgenden Schritte ausführen:
- Konfigurieren Sie die Firewall so, dass Verbindungen zu FCM möglich sind, damit Ihre FCM-Client-Apps Nachrichten empfangen können.
- Die Ports 5228, 5229 und 5230 müssen geöffnet werden. FCM verwendet normalerweise nur den Port 5228, manchmal aber auch die Ports 5229 und 5230.
- FCM stellt keine bestimmte IP-Adresse bereit. Stellen Sie daher sicher, dass Ihre Firewall abgehende Verbindungen zu allen IP-Adressen akzeptiert, die in den IP-Blöcken enthalten sind, die in Google ASN 15169 aufgelistet sind.
- Stellen Sie sicher, dass Ihre Firewall am Port 443 abgehende Verbindungen von MobileFirst Server zu fcm.googleapis.com akzeptiert.
Apple Push Notifications Service
iOS-Geräte verwenden den Apple Push Notification Service (APNS) für Push-Benachrichtigungen.
Gehen Sie wie folgt vor, um APNS zu konfigurieren:
- Generieren Sie ein Zertifikat für Push-Benachrichtigungen für die Entwicklung oder Produktion. Eine ausführliche Beschreibung der Schritte finden Sie hier im Abschnitt
For iOS
. - Wählen Sie in der MobileFirst Operations Console unter [Ihre Anwendung] → Push → Push-Einstellungen den Zertifikattyp aus und geben Sie die Zertifikatdatei und das Kennwort an. Klicken Sie dann auf Speichern.
Hinweise
- Die folgenden Server müssen für eine MobileFirst-Server-Instanz zugänglich sein, damit Push-Benachrichtigungen gesendet werden können:
- Sandbox-Server:
- gateway.sandbox.push.apple.com:2195
- feedback.sandbox.push.apple.com:2196
- Produktionsserver:
- gateway.push.apple.com:2195
- Feedback.push.apple.com:2196
- 1-courier.push.apple.com 5223
- Sandbox-Server:
- Verwenden Sie in der Entwicklungsphase die Sandbox-Zertifikatdatei apns-certificate-sandbox.p12.
- Verwenden Sie in der Produktionsphase die Produktionszertifikatdatei apns-certificate-production.p12.
- Das APNS-Produktionszertifikat kann erst getestet werden, wenn die Anwendung, die das Zertifikat verwendet, erfolgreich an den Apple App Store übergeben wurde.
Hinweis: MobileFirst bietet keine Unterstützung für universelle Zertifikate.
Sie können den APNS auch mit der REST-API für den MobileFirst-Push-Service oder der REST-API für den MobileFirst-Verwaltungsservice konfigurieren.
Windows Push Notifications Service
Windows-Geräte verwenden den Windows Push Notifications Service (WNS) für Push-Benachrichtigungen.
Gehen Sie wie folgt vor, um den WNS zu konfigurieren:
- Folgen Sie den Anweisungen von Microsoft für das Generieren der Werte für Paketsicherheits-ID (SID) und Geheimer Clientschlüssel.
- Fügen Sie diese Werte in der MobileFirst Operations Console unter [Ihre Anwendung] → Push → Push-Einstellungen hinzu und klicken Sie auf Speichern.
Sie können den WNS auch mit der REST-API für den MobileFirst-Push-Service oder der REST-API für den MobileFirst-Verwaltungsservice konfigurieren.
SMS-Benachrichtigungsservice
Das SMS-Gateway wird mit folgender JSON für das Senden von SMS-Benachrichtigungen eingerichtet. Verwenden Sie die REST-API smsConf, um MobileFirst Server mit der SMS-Gateway-Konfiguration zu aktualisieren.
{
"host": "2by0.com",
"name": "dummy",
"port": "80",
"programName": "gateway/add.php",
"parameters": [{
"name": "xmlHttp",
"value": "false",
"encode": "true"
}, {
"name": "httpsEnabled",
"value": "false",
"encode": "true"
}]
}
Weitere SMS-bezogene REST-APIs finden Sie in den Referenzinformationen zur Push-Service-API.
Bereichszuordnung
Ordnen Sie der Anwendung das Bereichselement push.mobileclient zu.
- Laden Sie die MobileFirst Operations Console und navigieren Sie zu [Ihre Anwendung] → Sicherheit → Zuordnung von Bereichselementen und klicken Sie auf Neu.
-
Schreiben Sie in das Feld Bereichselement den Wert “push.mobileclient”. Klicken Sie dann auf Hinzufügen.
Bereich Beschreibung apps.read Berechtigung, eine Anwendungsressource zu lesen apps.write Berechtigung, eine Anwendungsressource zu erstellen, zu aktualisieren und zu löschen gcmConf.read Berechtigung, die GCM-Konfigurationseinstellungen (API Key und Sender ID) zu lesen gcmConf.write Berechtigung, die GCM-Konfigurationseinstellungen zu aktualisieren und zu löschen apnsConf.read Berechtigung, APNS-Konfigurationseinstellungen zu lesen apnsConf.write Berechtigung, APNS-Konfigurationseinstellungen zu aktualisieren und zu löschen devices.read Berechtigung, ein Gerät zu lesen devices.write Berechtigung, ein Gerät zu erstellen, zu aktualisieren und zu löschen subscriptions.read Berechtigung, Abonnements zu lesen subscriptions.write Berechtigung, Abonnements zu erstellen, zu aktualisieren und zu löschen messages.write Berechtigung, Push-Benachrichtigungen zu senden webhooks.read Berechtigung, Ereignisbenachrichtigungen zu lesen webhooks.write Berechtigung, Ereignisbenachrichtigungen zu senden smsConf.read Berechtigung, SMS-Konfigurationseinstellungen zu lesen smsConf.write Berechtigung, SMS-Konfigurationseinstellungen zu aktualisieren und zu löschen wnsConf.read Berechtigung, WNS-Konfigurationseinstellungen zu lesen wnsConf.write Berechtigung, WNS-Konfigurationseinstellungen zu aktualisieren und zu löschen
Authentifizierte Benachrichtigungen
Authentifizierte Benachrichtigungen werden an userIds
gesendet.
Ordnen Sie der für die Anwendung verwendeten Sicherheitsüberprüfung das Bereichselement push.mobileclient zu.
- Laden Sie die MobileFirst Operations Console und navigieren Sie zu [Ihre Anwendung] → Sicherheit → Zuordnung von Bereichselementen und klicken Sie auf Neu oder bearbeiten Sie einen vorhandenen Bereichszuordnungseintrag.
-
Wählen Sie eine Sicherheitsüberprüfung aus. Klicken Sie dann auf Hinzufügen.
Tags definieren
Klicken Sie in der MobileFirst Operations Console unter [Ihre Anwendung] → Push → Tags
auf Neu.
Geben Sie den entsprechenden Tagnamen
und eine Beschreibung
an und klicken Sie auf Speichern.
Bei einem Abonnement werden eine Geräteregistrierung und ein Tag miteinander verbunden. Wenn die Registrierung eines Gerätes für einen Tag aufgehoben wird, beendet das Gerät selbst alle zugehörigen Abonnements. Wenn ein Gerät von mehreren Benutzern verwendet wird, sollten Abonnements auf der Basis von Benutzeranmeldungskriterien in mobilen Anwendungen implementiert werden. Der Aufruf für das Abonnement könnte beispielsweise erfolgen, nachdem sich ein Benutzer erfolgreich bei einer Anwendung angemeldet hat. Der Aufruf zum Beenden des Abonnements würde explizit im Rahmen der Abmeldeaktion abgesetzt.
Benachrichtigungen senden
Push-Benachrichtigungen können von der MobileFirst Operations Console aus oder über REST-APIs gesendet werden.
- Von der MobileFirst Operations Console aus können zwei Arten von Benachrichtigungen gesendet werden, tagbasierte Benachrichtigungen und Broadcastbenachrichtigungen.
- Mit den REST-APIs können alle Arten von Benachrichtigungen gesendet werden, tagbasierte und authentifizierte Benachrichtigungen sowie Broadcastbenachrichtigungen.
MobileFirst Operations Console
Benachrichtigungen können an eine einzelne Geräte-ID, an bestimmte Benutzer-IDs, nur an iOS-Geräte oder nur an Android-Geräte oder an Geräte, die Tags abonniert haben, gesendet werden.
Tagbasierte Benachrichtigungen
Tagbasierte Benachrichtigungen sind Hinweisnachrichten, die an alle Geräte gesendet werden, die einen bestimmten Tag abonniert haben. Tags stehen für Themen, die für den Benutzer von Interesse sind, und ermöglichen dem Benutzer, Benachrichtigungen zu den ihn interessierenden Themen zu erhalten.
Wählen Sie in der MobileFirst Operations Console unter [Ihre Anwendung] → Push das Register Benachrichtigungen senden aus. Wählen Sie dann auf der Registerkarte Senden an die Option Geräte nach Tags aus und geben Sie den Benachrichtigungstext an. Klicken Sie dann auf Senden.
Broadcastbenachrichtigungen
Broadcastbenachrichtigungen sind eine Form der tagbasierten Push-Benachrichtigungen, die an alle eingeschriebenen Geräte gesendet werden. Broadcastbenachrichtigungen werden standardmäßig
für alle Push-fähigen MobileFirst-Anwendungen
durch das Abonnement eines reservierten Tags Push.all
aktiviert. (Der Tag wird automatisch für jedes Gerät erstellt.) Das Abonnement des Tags
Push.all
kann programmgestützt beendet werden.
Wählen Sie in der MobileFirst Operations Console unter [Ihre Anwendung] → Push das Register Benachrichtigung senden aus. Wählen Sie dann auf der Registerkarte Senden an die Option Alle aus und geben Sie den Benachrichtigungstext an. Klicken Sie dann auf Senden.
REST-APIs
Mit den REST-APIs können alle Arten von Benachrichtigungen gesendet werden, tagbasierte Benachrichtigungen und Broadcastbenachrichtigungen sowie authentifizierte Benachrichtigungen.
Für das Senden einer Benachrichtigung wird eine POST-Anforderung an den REST-Endpunkt abgesetzt: imfpush/v1/apps/<Anwendungs-ID>/messages
.
Beispiel-URL:
https://myserver.com:443/imfpush/v1/apps/com.sample.PinCodeSwift/messages
Eine Übersicht über alle REST-APIs für Push-Benachrichtigungen finden Sie im Abschnitt REST-API-Laufzeitservices der Benutzerdokumentation.
Nutzdaten von Benachrichtigungen
Die Anforderung kann die folgenden Nutzdateneigenschaften enthalten:
Eigenschaften der Nutzdaten | Definition |
message | Die zu sendende Alertnachricht | |
settings | Die Einstellungen sind verschiedene Attribute der Benachrichtigung. | |
target | Ziele können Consumer-IDs, Geräte, Plattformen oder Tags sein. Es kann nur ein Ziel festgelegt werden. | |
deviceIds | Array der Geräte, die durch die Gerätekennungen repräsentiert werden. Geräte mit diesen IDs empfangen eine Unicastbeanchrichtigung. | |
notificationType | Ganzzahliger Wert für den Kanal (Push/SMS), über den die Nachricht gesendet wird. Gültige Werte sind 1 (nur Push), 2 (nur SMS) und 3 (Push und SMS). | |
platforms | Array der Geräteplattformen. Geräte mit diesen Plattformen empfangen die Benachrichtigung. Unterstützte Werte sind A (Apple/iOS), G (Google/Android) und M (Microsoft/Windows). | |
tagNames | Array mit Tags, die als Tagnamen angegeben sind. Geräte, die diese Tags abonniert haben, empfangen die Benachrichtigung. Verwenden Sie diese Einstellung für “target” für tagbasierte Benachrichtigungen. | |
userIds | Array mit Benutzern, repräsentiert durch die Benutzer-IDs, an die eine Unicastbenachrichtigung gesendet wird. | |
phoneNumber | Telefonnummer für die Registrierung des Geräts und den Empfang von Unicastbenachrichtigungen. |
JSON-Beispiel für die Nutzdaten von Push-Benachrichtigungen
{
"message" : {
"alert" : "Test message",
},
"settings" : {
"apns" : {
"badge" : 1,
"iosActionKey" : "Ok",
"payload" : "",
"sound" : "song.mp3",
"type" : "SILENT",
},
"gcm" : {
"delayWhileIdle" : ,
"payload" : "",
"sound" : "song.mp3",
"timeToLive" : ,
},
},
"target" : {
// Die folgende Liste dient nur zur Demonstration. Gemäß Dokumentation ist immer nur jeweils 1 Ziel erlaubt.
"deviceIds" : [ "MyDeviceId1", ... ],
"platforms" : [ "A,G", ... ],
"tagNames" : [ "Gold", ... ],
"userIds" : [ "MyUserId", ... ],
},
}
JSON-Beispiel für die Nutzdaten von SMS-Benachrichtigungen
{
"message": {
"alert": "Hello World from an SMS message"
},
"notificationType":3,
"target" : {
"deviceIds" : ["38cc1c62-03bb-36d8-be8e-af165e671cf4"]
}
}
Benachrichtigung senden
Die Benachrichtigung kann mit verschiedenen Tools gesendet werden.
Nachfolgend wird für Testzwecke Postman verwendet.
Wenn Sie eine Push-Benachrichtigung über die REST-API senden, werden die jeweils durch ein Leerzeichen getrennten Bereichselemente messages.write
und push.application.<Anwendungs-ID>
verwendet.
<img class="gifplayer" alt="Vertraulichen Client konfigurieren" src="push-confidential-client.png"/>
- Setzen Sie eine POST-Anforderung an http://localhost:9080/imfpush/v1/apps/com.sample.PushNotificationsAndroid/messages ab.
- Wenn Sie MobileFirst über Fernzugriff verwenden, ersetzen Sie
Hostnamen
undPort
durch Ihre eigenen Werte. - Aktualisieren Sie die Anwendungs-ID. Geben Sie Ihren eigenen Wert an.
- Wenn Sie MobileFirst über Fernzugriff verwenden, ersetzen Sie
- Legen Sie einen Header fest:
- Authorization:
Bearer eyJhbGciOiJSUzI1NiIsImp ...
- Ersetzen Sie den Wert hinter “Bearer” durch den Wert Ihres Zugriffstokens aus Schritt (1).
- Authorization:
- Legen Sie einen Hauptteil fest:
- Aktualisieren Sie die Eigenschaften gemäß der Beschreibung im obigen Abschnitt Nutzdaten von Benachrichtigungen.
- Fügen Sie beispielsweise die Eigenschaft target mit dem Attribut userIds hinzu, wenn Sie eine Benachrichtigung an bestimmte registrierte Benutzer senden möchten.
{ "message" : { "alert" : "Hello World!" } }
Wenn Sie auf die Schaltfläche Senden geklickt haben, müsste das Gerät eine Benachrichtigung empfangen haben:
Benachrichtigungen anpassen
Vor dem Senden der Benachrichtigung können Sie die folgenden Benachrichtigungsattribute anpassen.
Blenden Sie in der MobileFirst Operations Console unter [Ihre Anwendung] → Push → Tags auf der Registerkarte Benachrichtigungen senden den Abschnitt Angepasste iOS/Android-Einstellungen ein, um die Benachrichtigungsattribute zu ändern.
Android
- Benachrichtigungsklang, Dauer der Aufbewahrung einer Benachrichtigung im FCM-Speicher, angepasste Nutzdaten usw.
- Wenn Sie den Benachrichtigungstitel ändern möchten, fügen Sie zur Datei
strings.xml des Android-Projekts
push_notification_tile
hinzu.
iOS
- Benachrichtigungsklang, angepasste Nutzdaten, Titel für Aktionsschlüssel, Benachrichtigungstyp und Kennzeichnungsnummer
HTTP/2-Unterstützung für APNS-Push-Benachrichtigungen
Der Apple Push Notification Service (APNS) unterstützt ein neues, API-basiertes HTTP/2-Netzprotokoll. Die Unterstützung für HTTP/2 bringt viele Vorteile mit sich, zu denen unter anderem folgende gehören:
- Die Nachrichtenlänge erhöht sich von 2 KB auf 4 KB, sodass es in Benachrichtigungen mehr Inhalt geben kann.
- Zwischen Client und Server sind nicht mehr mehrere Verbindungen notwendig, sodass sich der Durchsatz verbessert.
- Für universelle Push-Benachrichtigungen werden Client-SSL-Zertifikate unterstützt.
MobileFirst bietet jetzt neben der Unterstützung für traditionelle, auf TCP-Sockets basierende Benachrichtigungen auch Unterstützung für auf HTTP/2 basierende APNS-Push-Benachrichtigungen.
HTTP/2 aktivieren
HTTP/2-basierte Benachrichtigungen können über eine JNDI-Eigenschaft aktiviert werden.
<jndiEntry jndiName="imfpush/mfp.push.apns.http2.enabled" value= "true"/>
Hinweis: Wenn die obige JNDI-Eigenschaft hinzugefügt wird, werden keine traditionellen, auf TCP-Sockets basierenden Benachrichtungen verwendet, sondern nur die HTTP/2-basierten Benachrichtigungen.
Proxyunterstützung für HTTP/2
HTTP/2-basierte Benachrichtigungen können über einen HTTP-Proxy gesendet werden. Informationen zur Weiterleitung der Benachrichtigungen über einen Proxy finden Sie hier.
Proxyunterstützung
In den Proxy-Einstellungen können Sie den optionalen Proxy festlegen, über den Benachrichtigungen an Android- und iOS-Geräte gesendet werden. Verwenden Sie die Konfigurationseigenschaften push.apns.proxy. und push.gcm.proxy., um den Proxy festzulegen. Weitere Informationen finden Sie in der Liste der JNDI-Eigenschaften für den MobileFirst-Server-Push-Service.
Nächste Lernprogramme
Da die Serverseite jetzt eingerichtet ist, fahren Sie mit dem clientseitigen Setup und der Handhabung empfangener Benachrichtigungen fort.
- Handhabung von Push-Benachrichtigungen
- Handhabung von SMS-Benachrichtigungen
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.