Push-Benachrichtigungen
Funktionsweise

Im Web Shop können Sie Push-Benachrichtigungen einrichten, die einzelne oder alle Nutzer direkt in ihrem Browser empfangen. Über Push-Benachrichtigungen können Sie Nutzer über neue Artikel, Werbeaktionen und Sonderangebote informieren.
Um einem Nutzer eine Benachrichtigung zu senden (zum Beispiel, nachdem er eine Schlacht verloren hat oder ihm Ressourcen ausgegangen sind), rufen Sie den Xsolla API-Aufruf zum Senden von Benachrichtigungen aufseiten des Spielservers auf.
Klickt der Nutzer auf die Benachrichtigung, gelangt er zum Web Shop, wo er die benötigten Artikel kaufen kann.
Push-Benachrichtigungen werden im Xsolla-Website-Baukasten konfiguriert und funktionieren nur bei veröffentlichten Web Shops.
Xsolla trackt keine Ingame-Ereignisse. Sie legen fest, wann der Spielserver den API-Aufruf ausführt und eine Benachrichtigung sendet, zum Beispiel:
| Ingame-Ereignis | Text der Push-Benachrichtigung |
|---|---|
| Erster Login des Tages, der Woche oder des Monats. | Willkommen zurück! Schau im Web Shop nach deinem Geschenk. |
| Schlacht verloren. | Kopf hoch! Kauf Power-Ups für deine Helden und nimm Rache! |
| Energie oder Währung aufgebraucht. | Keine Energie mehr? Jetzt im Web Shop aufladen und weiterkämpfen! |
| Neue Inhalte freigeschaltet. | Neues Level freigeschaltet! Kauf Power-Ups im Web Shop, die dir bei deinem nächsten Abenteuer weiterhelfen. |
| Mehrere fehlgeschlagene Versuche in Folge. | Schwieriger Bosskampf? Im Web Shop wartet ein Waffenpaket, das dir zum Sieg verhilft. |

Interaktionsablauf
- Der Nutzer öffnet den Web Shop in einem Browser oder über eine installierte PWA und sieht ein Banner, in dem ihm angeboten wird, Benachrichtigungen zu abonnieren.
- Der Nutzer klickt auf “Abonnieren” und erteilt im Browser seine Zustimmung, Benachrichtigungen zu empfangen.
Abonnement-Logik bei aktivierter Option "Berechtigung automatisch anfordern"
Wenn in den Website-Einstellungen die Option "Berechtigung automatisch anfordern" aktiviert ist, bittet der Web Shop beim Öffnen um Erlaubnis, Benachrichtigungen zu versenden, ohne das Abonnement-Banner anzuzeigen. Hat der Nutzer die Erlaubnis bereits zuvor erteilt, werden die Benachrichtigungen automatisch abonniert. Schlägt die Anfrage fehl (z. B. weil der Browser sie blockiert oder der Nutzer die Erlaubnis verweigert hat), wird das Abonnement-Banner angezeigt.
flowchart LR
A[User opens Web Shop] --> B{Permission already granted?}
B -- Yes --> C[Automatic subscription]
B -- No --> D{Can the browser show the system prompt?}
D -- Yes --> E[System prompt]
D -- No --> F[Subscribe banner]
F --> E
E -- Allow --> G[Subscribed]
E -- Block --> H[Not subscribed]
Der Web Shop registriert den Nutzer als Abonnenten im Xsolla-System. Das Abonnement ist mit dem Browser oder der auf dem Gerät des Nutzers installierten PWA verknüpft. Welche Benachrichtigungen Sie an den Nutzer senden können, hängt von dessen Autorisierungsstatus ab:
- Ist der Nutzer im Web Shop angemeldet, wird seine ID mit dem Abonnement verknüpft – daraufhin können Sie diesem Nutzer persönliche Benachrichtigungen senden.
- Ist der Nutzer nicht angemeldet, können Sie ihm nur im Rahmen von Massenbenachrichtigungen informieren. Sobald sich der Nutzer anmeldet, wird das Abonnement automatisch mit seiner Benutzer-ID verknüpft.
Der Spielserver führt den Xsolla-API-Aufruf aus und versendet die Benachrichtigungen.
Der Nutzer empfängt die Push-Benachrichtigung.
Der Nutzer klickt auf die Benachrichtigung und gelangt entweder zu der im Parameter
data.urlangegebenen Seite oder, falls kein Parameter übermittelt wurde, zur Web-Shop-Hauptseite. Besteht für den Nutzer eine aktive Sitzung im Web Shop, bleibt der Nutzer angemeldet.
sequenceDiagram
participant U as User
participant WS as Web Shop
participant G as Game
participant X as Xsolla
note over U,X: Subscription
U->>WS: Opens the site / PWA
WS->>U: Displays the subscription banner
U->>WS: Subscribes and allows notifications
WS->>X: Registers the subscriber (User ID, browser / PWA)
X-->>WS: Confirms the subscription
note over U,X: Sending a notification
G->>X: Calls POST /messages/push/send
X-->>G: Returns message_id
X->>U: Sends the push notification
U->>WS: Clicks the notification, follows data.url
WS->>U: Displays store offers
Einrichtung
- Öffnen Sie Ihr Projekt im Kundenportal, und navigieren Sie zum Menüpunkt Storefronts > Websites.
- Klicken Sie bei der gewünschten Website auf Site Builder öffnen.
- Wechseln Sie zum Abschnitt Push-Benachrichtigungen.
- Aktivieren Sie den Schalter Benachrichtigungen aktivieren.
- Kopieren Sie die Werte aus den Feldern Anwendungs-ID, Client-ID und Geheimer Client-Schlüssel – diese werden benötigt, um API-Anfragen vom Spielserver zu senden. Die Parameter werden einmalig erstellt, wenn der Schalter Benachrichtigungen aktivieren zum ersten Mal aktiviert wird, und gelten für das gesamte Projekt: Wenn das Projekt mehrere Websites umfasst, werden für alle Websites dieselben Werte verwendet.
- Richten Sie bei Bedarf das Abonnement-Banner ein: Ändern Sie den Titel, die Beschreibung, das Symbol und den Schaltflächentext.
- Damit die Website beim Öffnen automatisch um die Erlaubnis des Nutzers zum Versenden von Push-Benachrichtigungen bittet, aktivieren Sie den Schalter Berechtigung automatisch anfordern (optional). Ist der Schalter deaktiviert, wird erst um Erlaubnis gebeten, nachdem der Nutzer auf die Schaltfläche Abonnieren geklickt hat.
- Veröffentlichen Sie die Website, damit die Änderungen übernommen werden.

- Implementieren Sie auf dem Spielserver die Logik zum Senden von Push-Benachrichtigungen. Der Spielserver muss den API-Aufruf zum Senden von Benachrichtigungen ausführen und die ID des Nutzers in der Anfrage übermitteln.
Benachrichtigungen senden
Xsolla versendet keine Benachrichtigungen automatisch – der Versand wird stets von Ihrem Spielserver über einen API-Aufruf ausgelöst.
Basis-URL: https://messaging-platform.xsolla.com
Authentifizierung
Anfragen werden über das OAuth 2.0-Protokoll authentifiziert. Rufen Sie einen Server-JWT mithilfe des API-Aufrufs JWT generieren ab, indem Sie die folgenden Parameter übermitteln:
grant_type– wie der JWT gewährt wird; übermitteln Sie den Wertclient_credentialsclient_id– der Wert im Feld Client-ID aus den Einstellungen im Abschnitt Push-Benachrichtigungenclient_secret– der Wert im Feld Geheimer Client-Schlüssel aus den Einstellungen im Abschnitt Push-Benachrichtigungen
Übermitteln Sie den erhaltenen Token im Authorization: Bearer <token>-Header.
Einem Nutzer Benachrichtigungen senden
Sendet dem per ID angegebenen Nutzer eine persönliche Push-Benachrichtigung. Die Benachrichtigung wird an alle Browser und installierten PWAs geliefert, bei denen der Nutzer Benachrichtigungen abonniert hat.
HTTP-Anfrage
POST https://messaging-platform.xsolla.com/api/v1/messages/push/send
Anfrage-Header
| Header | Erforderlich | Beschreibung |
|---|---|---|
| Authorization | Ja | Bearer-<Token> |
| Idempotency-Key | Ja | Eindeutiger Anfrageschlüssel. Verhindert, dass dieselbe Benachrichtigung mehrmals gesendet wird. |
| Content-Type | Ja | Anwendung/JSON |
Anfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
app_id | String | Anwendungs-ID aufseiten von Xsolla, aus den Einstellungen im Abschnitt Push-Benachrichtigungen. Erforderlich. |
identity | object | Daten des Benachrichtigungsempfängers. |
external_user_id | String | Benutzer-ID. Erforderlich. |
title | String | Benachrichtigungstitel. Erforderlich. |
body | String | Benachrichtigungstext. Erforderlich. |
image_url | String | URL des in der Benachrichtigung angezeigten Bildes. |
data | Objekt | Zusätzliche Benachrichtigungsdaten. |
url | String | URL der Seite, die sich öffnet, wenn der Nutzer auf die Benachrichtigung klickt. Wird der Parameter nicht übermittelt, wird die Web-Shop-Hauptseite geöffnet. |
Antwortparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
message_ids | String-Array | Liste der IDs gesendeter Nachrichten im UUID-Format – jeweils eine ID für jeden Browser oder jede installierte PWA, bei der der Nutzer Benachrichtigungen abonniert hat. |
Beispielanfrage
- json
1{
2 "notification_type": "user_validation",
3 "settings": {
4 "project_id": 123456,
5 "merchant_id": 789012
6 },
7 "user": {
8 "id": "11111111-1111-1111-1111-111111111111"
9 }
10}
Beispielantwort
- json
1{
2 "message_ids": [
3"aa8ef5c2-front-4a3b-9d2e-example00001",
4"bb9fa6d3-front-4b4c-8e3f-example00002"
5 ]
6}
Allen Nutzern Benachrichtigungen senden
Sendet allen oder ausgewählten abonnierten Nutzern eine Push-Benachrichtigung. Die Benachrichtigung wird an alle Browser und installierten PWAs geliefert, bei denen der Nutzer Benachrichtigungen abonniert hat.
HTTP-Anfrage
POST https://messaging-platform.xsolla.com/api/v2/messages/push/send_batch
Anfrage-Header
| Header | Erforderlich | Beschreibung |
|---|---|---|
| Authorization | Ja | Bearer-<Token> |
| Idempotency-Key | Ja | Eindeutiger Anfrageschlüssel. Verhindert, dass dieselbe Benachrichtigung mehrmals gesendet wird. |
| Content-Type | Ja | Anwendung/JSON |
Anfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
app_id | String | Anwendungs-ID aufseiten von Xsolla, aus den Einstellungen im Abschnitt Push-Benachrichtigungen. Erforderlich. |
recipients | Objekt | Definiert die Empfänger der Benachrichtigung. |
type | String | Empfängertyp. Mögliche Werte: all – alle Abonnenten; external_user_id – ausgewählte Nutzer. |
external_user_id | String-Array | Array von Nutzer-IDs. Muss übermittelt werden, wenn der Parameter type auf external_user_id gesetzt ist. Erforderlich. |
title | String | Benachrichtigungstitel. Erforderlich. |
body | String | Benachrichtigungstext. Erforderlich. |
image_url | String | URL des in der Benachrichtigung angezeigten Bildes. |
data | Objekt | Zusätzliche Benachrichtigungsdaten. |
url | String | URL der Seite, die sich öffnet, wenn der Nutzer auf die Benachrichtigung klickt. Wird der Parameter nicht übermittelt, wird die Web-Shop-Hauptseite geöffnet. |
Antwortparameter
Beispielanfrage
Beispielantwort
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.