# Outsystems

## Installation des Pushwoosh-Plugins

Beginnen Sie mit der Installation des Pushwoosh-Plugins aus der [OutSystems Forge](https://www.outsystems.com/forge/component-overview/1556/pushwoosh-plugin). Der schnellste Weg hierfür ist, in Ihrer Entwicklungsumgebung zum Tab „OutSystems“ zu gehen und es von dort aus zu installieren.

### Konfiguration von Pushwoosh

Sie müssen Pushwoosh für jede Plattform konfigurieren, die Sie unterstützen werden. Sobald Ihre Konfiguration abgeschlossen ist, erhalten Sie von Pushwoosh einen Application Code, der mit Ihrem Plugin verwendet wird.

#### Für iOS

Erfahren Sie, wie Sie [Pushwoosh für iOS konfigurieren](/de/developer/first-steps/connect-messaging-services/ios-configuration/ios-platform-configuration/).

#### Für Android

Erfahren Sie, wie Sie [Pushwoosh für Android konfigurieren](/de/developer/first-steps/connect-messaging-services/android-configuration/android-firebase-configuration/).

### Hinzufügen des Pushwoosh-Plugins zu Ihrer Anwendung

1. Verwenden Sie in Ihrer Anwendung „Manage Dependencies…“, um eine Referenz auf das Pushwoosh-Plugin hinzuzufügen.

<img src="/outsystems.webp" alt=""/>

2. Fügen Sie den Block „PushwooshNotifications“ hinzu zu:

   - Dem „Layout“-Block, wenn Ihre Anwendung keine Anmeldung hat
   - Dem „LayoutBlank“-Block, wenn Ihre Anwendung eine Anmeldung hat

   Vermeiden Sie es, den „PushwooshNotifications“-Block in Platzhaltern hinzuzufügen, da einige nur zur Designzeit verfügbar sind und Pushwoosh zur Laufzeit nicht funktioniert.

3. Legen Sie die folgenden Parameter in den PushwooshNotifications fest:

   - **PushwooshApplicationCode:** Der Pushwoosh-Code, den Sie nach dem Erstellen der Anwendung in Pushwoosh erhalten haben.
   - **FCMSenderId:** Die Identifikationsnummer, die Sie bei der Konfiguration von Android erhalten haben. Sie können dieses Feld leer lassen, wenn Ihre Anwendung nur für iOS verfügbar ist.
   - **NotificationReceivedEvent (Optional):** Ein Ereignis, das aufgerufen wird, wenn eine Benachrichtigung empfangen wird, während sich die Anwendung im Vordergrund befindet.
   - **NotificationOpenedEvent (Optional):** Ein Ereignis, das aufgerufen wird, wenn ein Benutzer auf eine Benachrichtigung auf seinem Gerät klickt.

Wenn Sie das Pushwoosh-Plugin in Ihrer Android-App verwenden, gehen Sie wie folgt vor:

1. [Holen Sie sich die `google-services.json`](https://support.google.com/firebase/answer/7015592) von Firebase. Der Paketname aus den Google-Diensten muss mit der App-ID der zu erstellenden OutSystems-Anwendung übereinstimmen.
2. Erstellen Sie eine ZIP-Datei, die die `google-services.json` im Stammverzeichnis enthält.
3. Laden Sie die Datei „google-services.zip“ aus dem vorherigen Schritt in Ihre OutSystems-Anwendung hoch und stellen Sie sicher, dass Sie:
   - Den „Namen“ auf „google-services.zip“ setzen
   - „Deploy to Target Directory“ auf „google-services“ setzen

<img src="/outsystems2.webp" alt=""/>

Damit Ihr Gerät Push-Benachrichtigungen empfangen kann, müssen Sie es registrieren. Wenn sich Ihre Benutzer zur Nutzung der Anwendung anmelden müssen, gehen Sie zum Bildschirm „Login“ und bearbeiten Sie die Aktion „Login“.

<img src="/outsystems3.webp" alt=""/>


Fügen Sie den Code zur Registrierung des Geräts nach der Aktion „DoLogin“ hinzu. Es sollte ungefähr so aussehen:

<img src="/outsystems4.webp" alt=""/>

Wenn Ihre Anwendung keine Anmeldung hat, können Sie diesen Code zum Ereignis `OnInitializeOver` im Block `PushwooshNotifications` hinzufügen.

<img src="/outsystems5.webp" alt=""/>

Rufen Sie in diesem Ereignishandler die Aktion `RegisterDevice` auf.

<img src="/outsystems6.webp" alt=""/>

Wenn Sie eine iOS-Mobil-App mit einem Entwicklerzertifikat generieren, müssen Sie eine Präferenz zur Eigenschaft „Extensibility Configurations“ Ihres OutSystems-Moduls hinzufügen:

```json
{
  "preferences": {
    "global": [
      {
        "name": "aps-environment",
        "value": "development"
      }
    ]
  }
}
```

<img src="/outsystems7.webp" alt=""/>

Diese Präferenz wird Ihrer Entitlements-Datei hinzugefügt (erfahren Sie mehr über Entitlements in der [Apple Developer-Dokumentation](https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html)).

Wenn Sie eine iOS-Mobil-App mit einem Produktionszertifikat generieren, müssen Sie keine Präferenz angeben, da der Standardwert der `aps-environment`-Präferenz in OutSystems `production` ist.

Ihre Anwendung ist jetzt bereit, Push-Benachrichtigungen zu empfangen. [Konfigurieren und generieren Sie Ihre mobile App](https://success.outsystems.com/documentation/10/delivering_mobile_apps/generate_and_distribute_your_mobile_app/) und installieren Sie sie auf Ihrem Gerät. An diesem Punkt können Sie die Pushwoosh-Schnittstelle verwenden, um Benachrichtigungen an Ihre App zu senden und sicherzustellen, dass alles ordnungsgemäß konfiguriert ist. Beachten Sie, dass Sie keine Benachrichtigung sehen, wenn die App läuft. Stattdessen wird das Ereignis `NotificationReceivedEvent` sofort ausgelöst.

### Senden von Benachrichtigungen

Um Benachrichtigungen zu senden, benötigen Sie ein Pushwoosh [API Access Token](/de/developer/api-reference/api-access-token/). Erstellen Sie eines, indem Sie auf die Pushwoosh-Konsole zugreifen, zu „API Access“ gehen und auf „Generate new access token“ klicken.

<img src="/outsystems8.webp" alt=""/>

Um eine Benachrichtigung an alle Geräte zu senden, verwenden Sie die Aktion `SendPushNotificationToAll`.

<img src="/outsystems9.webp" alt=""/>

Diese Aktion verwendet die folgenden Parameter:

- **PushwooshApplicationCode:** Der Pushwoosh-Code, den Sie nach dem Erstellen der Anwendung in Pushwoosh erhalten haben.
- **ApiAccessToken:** Das zuvor erhaltene Pushwoosh API Access Token.
- **Message:** Der Nachrichtentext, den Sie senden möchten.
- **Badge:** Eine Zahl, die auf dem iOS-Anwendungssymbol angezeigt wird.
- **Deeplink:** Ein Deep-Link, der mit der Benachrichtigung gesendet wird. Erfahren Sie, [wie man Deep-Links definiert](https://success.outsystems.com/documentation/how_to_guides/development/how_to_define_mobile_app_deep_links/).

Wenn Sie beispielsweise diese Aktion verwenden, um die Nachricht „Hello from OutSystems“ an eine Anwendung namens „PushTest“ zu senden, würde Folgendes in iOS angezeigt:

<img src="/outsystems10.webp" alt=""/>

### Zusätzliche Informationen

- Wenn Ihre App läuft, wird die Benachrichtigung nicht auf dem Gerät angezeigt. Stattdessen wird sie an die App gesendet und das Ereignis `NotificationReceivedEvent` wird ausgelöst. Sie müssen definieren, was die App in dieser Situation tun soll.
- Es kann eine Weile dauern, bis Push-Benachrichtigungen aktiv werden. Wenn Sie keine Benachrichtigungen erhalten, warten Sie einige Minuten, bevor Sie mit der Fehlerbehebung fortfahren.

## Teilen Sie uns Ihr Feedback mit

Ihr Feedback hilft uns, eine bessere Erfahrung zu schaffen. Daher würden wir uns freuen, von Ihnen zu hören, wenn Sie während des SDK-Integrationsprozesses auf Probleme stoßen. Sollten Sie auf Schwierigkeiten stoßen, zögern Sie bitte nicht, uns Ihre Gedanken [über dieses Formular](https://docs.google.com/forms/d/e/1FAIpQLSd_0b8jwn-V_JmoPLIxIFYbHACCQhrzidOZV3ELywoQPXRSxw/viewform) mitzuteilen.