# Einrichtung der High-Speed Delivery

## Übersicht

In Pushwoosh werden Zielgruppensegmente mithilfe von **Segmenten** definiert.

Bei Standard-Push-Kampagnen wird das Segment **nach** dem Senden der [`/createMessage`](/de/developer/api-reference/messages-api/#createmessage)-Anfrage kompiliert. Das bedeutet, dass es eine kurze Verzögerung geben kann, bevor die Nachricht versendet wird, insbesondere wenn das Segment komplex ist.

Bei der High-Speed Delivery werden Segmente alle 10 Minuten vorkompiliert. Dies hält sie aktuell und einsatzbereit, sodass Nachrichten sofort gesendet werden können – ohne auf die Kompilierung des Segments warten zu müssen.

High-Speed Delivery ist besonders nützlich, wenn das Timing entscheidend ist. Sportorganisationen wie die UEFA und FIBA können sie beispielsweise nutzen, um Echtzeit-Updates zu liefern, bei denen jede Sekunde zählt.

Dieser Leitfaden erklärt, wie Sie die High-Speed Delivery am Beispiel einer Sport-App einrichten. Sie lernen, wie Sie Zielgruppensegmente erstellen, um Benutzer über bevorstehende Spiele und Live-Ereignisse zu benachrichtigen.

## Warum High-Speed Delivery?

Die Voraussetzungen für die Nutzung der High-Speed Delivery durch Sportorganisationen sind wie folgt:

* Alle Spiele sind im Voraus geplant, sodass Sie wissen, wann die entsprechenden Segmente erstellt werden müssen, und Zielgruppensegmente vorkompilieren können.
* Jedes Spiel ist mit einer eindeutigen ID verknüpft. Zum Beispiel ist die Match-ID für das Champions-League-Finale 0123.
* Jedes Team ist mit einer eindeutigen ID verknüpft. Zum Beispiel ist die Juventus-ID 111, die Real Madrid-ID 222 usw.
* Es gibt eine Reihe von Live-Ereignissen, über die Sie Benutzer benachrichtigen möchten (Tore, Aufstellungen, Anpfiff usw.).

## Einrichtung

<Aside type="caution" icon="setting" title="Entwicklerunterstützung erforderlich">
****
Die Einrichtung der High-Speed Delivery erfordert Entwicklerunterstützung. Bitte teilen Sie diesen Leitfaden mit ihnen für eine korrekte Implementierung.
</Aside>

Alle Segmente für die High-Speed Delivery sollten im Voraus erstellt werden – im Beispiel-Anwendungsfall idealerweise vor Spielbeginn. Pushwoosh wendet Segmentbedingungen auf die Benutzerbasis der App an und **vorkompiliert Segmente alle 10 Minuten** (dieses Intervall ist anpassbar).

Wenn Sie eine [`/createMessage`](/de/developer/api-reference/messages-api/#createmessage)-API-Anfrage mit dem Push-Inhalt und dem Segmentnamen senden, verfügt Pushwoosh bereits über eine vorkompilierte Empfängerliste, sodass die Push-Benachrichtigung sofort gesendet werden kann.

<Aside type="caution" title="Wichtig">
****
Die Segmentkompilierung ist ressourcenintensiv und ihre Geschwindigkeit hängt ab von:
- der Komplexität der Segmentbedingungen (Anzahl der verwendeten Tags, hohe Kardinalität der Tag-Werte);
- der Anzahl der gleichzeitig vorkompilierten eindeutigen Segmente;
- der Anzahl der für die App angemeldeten Benutzer.

Daher müssen **alle Segmente für ein Spiel vor Spielbeginn über die API erstellt und danach gelöscht werden**, um die Anzahl der aktiven vorkompilierten Segmente auf ein Minimum zu beschränken und Rechenressourcen zu sparen.
</Aside>

### Tags erstellen

Erstellen Sie zunächst einen Satz von Tags, die angewendet werden sollen, und legen Sie Tag-Werte für die Geräte der Benutzer fest.
[Erstellen Sie Tags](/de/product/audience-data-and-segmentation/user-data-tags/tags/) vom Typ LIST, die Live-Spielereignissen wie **Anpfiff, Tor, Rote Karte** usw. entsprechen.

Zum Beispiel:
**MATCH-KICKOFF, MATCH-GOAL, MATCH-RED\_CARD**
![Tags erstellen](/push-notifications-high-speed-delivery-2.webp)

Erstellen Sie denselben Satz von Tags, die Live-Spielereignisse für Teams beschreiben.
Zum Beispiel:
**TEAM-KICKOFF, TEAM-GOAL, TEAM-RED\_CARD**

<Aside type="tip">
Um Tags über die API zu erstellen, rufen Sie [`/addTag`](/de/developer/api-reference/tags/#addtag) auf.
</Aside>

Durch das Abonnieren dieser Tags können App-Benutzer wählen, welche Benachrichtigungen sie erhalten möchten:

- Benachrichtigungen über das spezifische Spiel (z. B. Spiel Juventus - Real Madrid);
- Benachrichtigungen über Spiele der Lieblingsmannschaft (z. B. nur Juventus-Spiele);
- Benachrichtigungen über Ereignisse während des Spiels (z. B. nur Tore im Spiel Juventus - Real Madrid);
- Benachrichtigungen über spezifische Ereignisse der Lieblingsmannschaft (z. B. Tore und Aufstellungen bei Juventus-Spielen).

### Tags setzen

Jetzt können Sie die zuvor angegebenen Tag-Werte über die [`setTags`](/de/developer/api-reference/device-api/#settags)-API-Anfrage füllen und Benutzer für bestimmte Kategorien von Push-Benachrichtigungen anmelden.

Zum Beispiel:
Wenn ein Benutzer Updates zu Anpfiff und Toren des Champions-League-Finales abonniert, rufen Sie [`/setTags`](/de/developer/api-reference/device-api/#settags) mit der enthaltenen Match-ID auf:

```
{
  "request": {
    "application": "app_code",
    "hwid": "device_hardware_id",
    "tags": {
      "MATCH_KICKOFF": "0123", // Match-ID
      "MATCH_GOAL": "0123"     // Match-ID
    }
  }
}
```

Der Benutzer erhält Benachrichtigungen über den Anpfiff und erzielte Tore im Champions-League-Finale.
Wenn ein Benutzer Updates zu Toren und roten Karten bei Spielen von Real Madrid abonniert, rufen Sie [`/setTags`](/de/developer/api-reference/device-api/#settags) wie folgt auf:

```
{
  "request": {
    "application": "app_code",
    "hwid": "device_hardware_id",
    "tags": {
      "TEAM_KICKOFF": "222", // Team-ID
      "TEAM_GOAL": "222"     // Team-ID
    }
  }
}
```

Dieser Benutzer erhält Benachrichtigungen über Anpfiffe und Tore, wann immer Real Madrid spielt.

### Segmente erstellen

Jetzt können Sie Segmente für Spielereignisse basierend auf Tags und deren Werten (Match-IDs und Team-IDs) erstellen. Segmente sollten über die [`/createFilter`](/de/developer/api-reference/segmentation-filters-api/#createfilter)-API-Anfrage 30 Minuten vor Spielbeginn erstellt werden.

Um Benutzer über erzielte Tore im Champions-League-Finale aus dem obigen Beispiel zu benachrichtigen, rufen Sie [`/createFilter`](/de/developer/api-reference/segmentation-filters-api/#createfilter) mit den folgenden Parametern auf:
**Segmentname**: 0123_GOAL
**Segmentbedingungen**: `#TEAM-GOAL(111, 222) OR #MATCH-GOAL(0123)`

```
{
  "request": {
    "auth": "auth_token",
    "name": "0123_GOAL",
    "conditions": [
      ["TEAM-GOAL", "IN", ["111", "222"]],
      ["MATCH-GOAL", "IN", ["0123"]]
    ],
    "operator": "OR", // optional. Operator-Werte: 'AND', 'OR'
    "application" : "AAAAA-00000"
  }
}
```

Diese Anfrage kompiliert das Segment der Benutzer, die für Tor-Updates des Champions-League-Finales (Match-ID=0123) angemeldet sind ODER Benutzer, die entweder Juventus oder Real Madrid folgen (Team-ID=111, 222).

Um eine High-Speed Delivery in Ihrem Pushwoosh Control Panel einzurichten, [erstellen Sie ein neues Segment](/de/product/audience-data-and-segmentation/segmentation/create-segments) mit entsprechenden Tag-Werten und verknüpfen es mit der App, an die Sie Pushes senden möchten. App-spezifische Segmente werden alle 10 Minuten vorkompiliert, um die Zielgruppensegmente immer aktuell zu halten.

![Neues Segment erstellen](/push-notifications-high-speed-delivery-1.webp)

Wenn das Spielereignis eintritt (Tor erzielt, Spielanpfiff, Rote Karte usw.), rufen Sie [`/createMessage`](/de/developer/api-reference/messages-api/#createmessage) mit dem Inhalt der Push-Benachrichtigung und dem enthaltenen Segmentnamen auf:

```json
{
  "request": {
    "application": "AAAAA_00000",
    "auth": "auth_token",
    "notifications": [
      {
        "content": "12’ Juventus goal! Juventus 1 – 0 Real Madrid",
        "filter": "0123_GOAL",
        "send_date": "now"
      }
    ]
  }
}
```

Sobald wir den [`/createMessage`](/de/developer/api-reference/messages-api/#createmessage)-Aufruf erhalten, haben wir bereits eine vorkompilierte Liste von Geräten, die den Segmentkriterien entsprechen, und senden die Benachrichtigung sofort an die APNs- und FCM-Gateways.

<Aside type="caution" title="Wichtig">
*****
High-Speed Delivery Segmente unterstützen nicht die Verwendung des **daysago**-Operators. Wenn Sie versuchen, ein Segment mit diesem Operator zu erstellen, erhalten Sie eine Fehlermeldung.

Diese Einschränkung besteht, weil High-Speed Delivery Segmente, um ordnungsgemäß zu funktionieren, auf Änderungen angewiesen sind, die in der App auf den Benutzergeräten stattgefunden haben (wie das Abonnieren von Push-Benachrichtigungen oder das Setzen eines bestimmten Tag-Werts). Der **daysago**-Operator beinhaltet keine solchen Änderungen, daher wird das Segment nicht wie beabsichtigt funktionieren.
Beachten Sie auch, dass High-Speed Delivery Segmente nicht mit geplanten Nachrichten verwendet werden können.
</Aside>

## Segmente löschen

Nachdem das Spiel vorbei ist, sollten alle entsprechenden Segmente gelöscht werden, damit keine Rechenressourcen für die weitere Neukompilierung von Segmenten verschwendet werden, die nicht mehr relevant sind, insbesondere auf Kosten von Segmenten für Spiele, die als nächstes geplant sind. Löschen Sie Segmente über die [`/deleteFilter`](/de/developer/api-reference/segmentation-filters-api/#deletefilter)-API-Anfrage, zum Beispiel:

```json
{
  "request": {
    "auth": "auth_token",
    "name": "0123_GOAL"
  }
}
```

Um das manuelle Löschen von Segmenten zu vermeiden, legen Sie das Ablaufdatum des Segments über die [`/createFilter`](/de/developer/api-reference/segmentation-filters-api/#createfilter)-Anfrage fest, sodass das Segment am angegebenen Datum automatisch gelöscht wird:

```
{
  "request": {
    "auth": "auth_token",
    "name": "0123_GOAL",
    "conditions": [
      ["TEAM-GOAL", "IN", ["111", "222"]],
      ["MATCH-GOAL", "IN", ["0123"]]
    ],
    "operator": "OR",  // optional. Werte: 'AND', 'OR'
    "application": "AAAAA-00000",
    "expiration_date": "YYYY-MM-DD"  // optional. Segment (Filter) Ablaufdatum
  }
}
```