# Käufe aus iOS In-App-Nachrichten

Damit Ihre Benutzer Käufe direkt aus den In-App-Nachrichten tätigen können, die in Ihrer iOS-App angezeigt werden, können Sie die sofort einsatzbereite Lösung für Ihre Rich Media implementieren und Callbacks hinzufügen, um weitere Informationen über In-App-Käufe zu erhalten.

<Aside>
Verfügbar ab der iOS SDK-Version 6.4.5.
</Aside>

## Rich Media JavaScript-Implementierung

Um In-App-Käufe in Ihren Rich Media zu implementieren, verwenden Sie einen einfachen **JavaScript-Funktionsaufruf**:

```javascript
pushwooshImpl.makePurchaseWithIdentifier("Premium"); // Produkt-ID, die in Ihren App Store-Produktinformationen angegeben ist
```

## AppDelegate-Methoden für Callbacks

Wenn Sie Callbacks benötigen, die bei einem Kauf ausgeführt werden sollen, implementieren Sie das **PWPurchaseDelegate-Protokoll** wie folgt:

1\. Sorgen Sie dafür, dass der AppDelegate Ihres Projekts dem PWPurchaseDelegate-Protokoll entspricht:

```objective-c
@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>
```

2\. Implementieren Sie die Methoden von PWPurchaseDelegate in Ihrem AppDelegate:

```objective-c
#pragma mark - Kauf-Delegatmethoden
- (void) onPWInAppPurchaseHelperPaymentComplete:(NSString*) identifier {
    NSLog(@“Benutzerdefinierter Kauf-Delegat -- Zahlung für ID abgeschlossen: %@“, identifier);
}
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products {
    NSLog(@“Benutzerdefinierter Kauf-Delegat -- Produktliste abgerufen”);
}
-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error {
    NSLog(@“Benutzerdefinierter Kauf-Delegat -- Zahlung mit ID %@ und Fehler %@ fehlgeschlagen“, identifier, error.description);
}
```

### Liste der verfügbaren PWPurchaseDelegate-Methoden

#### Produktliste

```objective-c
@protocol PWPurchaseDelegate <NSObject>
// Detaillierte Informationen über die Produktliste in Ihrer App
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products;
@end
```

#### Erfolgreiche Transaktion

```objective-c
@protocol PWPurchaseDelegate &#x3C;NSObject>
// Eine erfolgreich verarbeitete Transaktion
<strong>-(void)onPWInAppPurchaseHelperPaymentComplete:(NSString* _Nullable)identifier;
</strong>
@end
```

#### Fehlgeschlagene Transaktion

```objective-c
@protocol PWPurchaseDelegate &#x3C;NSObject>
<strong>// Eine fehlgeschlagene Transaktion
</strong>-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error;
@end
```

#### Vom App Store beworben

```objective-c
@protocol PWPurchaseDelegate <NSObject>
// Ein In-App-Kauf wird aus dem App Store initiiert und die Transaktion wird in Ihrer App fortgesetzt.
-(void)onPWInAppPurchaseHelperCallPromotedPurchase:(NSString* _Nullable)identifier;
@end
```

#### Wiederherstellung abgeschlossener Transaktionen fehlgeschlagen

```objective-c
@protocol PWPurchaseDelegate <NSObject>
// Beim Wiederherstellen von Transaktionen ist ein Fehler aufgetreten
-(void)onPWInAppPurchaseHelperRestoreCompletedTransactionsFailed:(NSError * _Nullable)error;
@end
```

<Aside type="note">
Wenn Ihre Anforderungen mit den in diesem Leitfaden beschriebenen Methoden nicht abgedeckt sind, wenden Sie sich bitte an unser [Customer Support-Team](https://help.pushwoosh.com/hc/en-us/requests/new?utm_content=pwwebsite&utm_term=footer&utm_campaign=support), und wir helfen Ihnen gerne weiter.
</Aside>