# So richten Sie Events ein

**Events** werden verwendet, um verschiedene Aktionen zu verfolgen, die von Benutzern in der App ausgeführt werden. Die Daten von Events werden historisch gespeichert, wodurch eine Zeitleiste des Benutzerverhaltens erstellt wird. Alle kontextbezogenen Informationen über das Event können als eine Reihe von Attributen und deren Werten übergeben werden.

Sobald diese Daten ordnungsgemäß erfasst sind, können sie verwendet werden, um:

* verhaltensbasierte Nachrichten auszulösen;
* den Kommunikationsfluss des Benutzers innerhalb einer Customer Journey basierend auf seinem Verhalten zu ändern;
* Segmente von Benutzern zu erstellen, die eine bestimmte Aktion in der App ausführen;
* Einblicke in den Benutzerfluss, Nutzungsmetriken und andere statistische Daten zu erhalten.

## Arten von Events

Es gibt zwei Arten von Events in Pushwoosh:
- Standard-Events
- Benutzerdefinierte Events

### Standard-Events
Standard-Events sind grundlegende Interaktionen, die Benutzer in Apps oder auf Websites unabhängig von deren Branche oder Funktionalität durchführen. Diese wichtigen Benutzeraktionen bilden den Kern der Kundenkommunikation und können für jedes Produkt und jeden Kunden in jeder Phase des Kundenlebenszyklus genutzt werden.
Standard-Events sind mit den neuesten SDK-Versionen standardmäßig verfügbar und erfordern keine zusätzliche Einrichtung, mit Ausnahme von [PW_InAppPurchase](/de/product/audience-data-and-segmentation/events/default-events#pw_inapppurchase).

Erfahren Sie mehr über [Standard-Events](/de/product/audience-data-and-segmentation/events/default-events)

### Benutzerdefinierte Events
Im Gegensatz zu Standard-Events, die für viele Apps und Sektoren universell sind, sind benutzerdefinierte Events diejenigen, die Sie speziell für Ihre App erstellen. Diese Events verfolgen spezifische Aktionen, die auf Ihre Bedürfnisse zugeschnitten sind, wie z. B. das Abschließen eines Trainings oder das Verlängern eines Abonnements, und helfen Ihnen zu verstehen, wie Benutzer mit Ihren spezifischen Funktionen interagieren.

Benutzerdefinierte Events müssen von Ihnen implementiert werden.


## Implementierung von benutzerdefinierten Events

### 1. Events erstellen und Attribute festlegen

Alle von Ihrer App gesendeten Events müssen zuerst in Pushwoosh mit den entsprechenden Attributen und deren Typen erstellt werden; andernfalls wird Pushwoosh sie nicht erkennen.

Sie können Ihr Marketing-Team bitten, Events direkt im [Pushwoosh Control Panel](/de/product/audience-data-and-segmentation/events#1-create-events-in-pushwoosh-control-panel) zu erstellen oder die API-Methode [createEvent](/de/developer/api-reference/events#createevent) zu verwenden. Dies beinhaltet die Angabe des Event-Namens und aller zugehörigen Daten, die Sie verfolgen möchten.

### 2. /postEvent API aufrufen

Wenn ein Event, das Sie verfolgen möchten, in Ihrer App auftritt, rufen Sie die [`/postEvent`](/de/developer/api-reference/user-centric-api#postevent) API auf, um dieses Event an Pushwoosh zu senden.

#### iOS

Rufen Sie [`postEvent`](/de/developer/api-reference/user-centric-api#postevent) auf, um ein Event an Pushwoosh zu senden:

<Tabs>
<TabItem label="Swift">
```swift
PWInAppManager.shared().postEvent("eventName", withAttributes: nil)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:@{}];
```
</TabItem>
</Tabs>

Um Details zum Event hinzuzufügen (siehe Attribute), verwenden Sie den Parameter `attributes` wie folgt:

<Tabs>
<TabItem label="Swift">
```swift
let attributes: [String : Any] = ["AttributedString" : "someString",
                                  "AttributeInt" : 42,
                                  "AttributeList" : [123, 456, "someString"],
                                  "AttributeBool" : true,
                                  "AttributeDate" : NSDate()]

PWInAppManager.shared().postEvent("eventName", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
NSDictionary *attributes = @{ 
  @"AttributeString" : @"someString",
  @"AttributeInt" : @(42),
  @"AttributeList" : @[ @(123), @(456), @"someString" ],
  @"AttributeBool" : @YES,
  @"AttributeDate" : [NSDate date] 
};

[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:attributes];
```
</TabItem>
</Tabs>

#### Android

Wenn ein Event in Ihrer Android-App auftritt, verwenden Sie die folgenden Anweisungen, um dieses Event an Pushwoosh zu senden.

Rufen Sie [`postEvent`](/de/developer/api-reference/user-centric-api#postevent) auf, um ein Event an Pushwoosh zu senden:

```java
PushwooshInApp.getInstance().postEvent("eventName");
```

Um Details zum Event hinzuzufügen (siehe Attribute), verwenden Sie den Parameter `attributes` wie folgt:

```java
TagsBundle attributes = new TagsBundle.Builder()
				.putInt("AttributeInt", 17)
				.putString("AttributeString", "str")
				.putDate("AttributeDate", new Date())
				.putBoolean("AttributeBool", true)
				.putList("AttributeList", Arrays.asList("item1", "item2", "item3"))
				.build();

PushwooshInApp.getInstance().postEvent("eventName", attributes);
```

<Aside type="note">
Sie können Events auch über [**In-App-Javascript**](/de/developer/guides/messaging-channels/inapp-with-javascript/) senden.
</Aside>