Перейти к содержанию

Покупки из In-App сообщений в iOS

Чтобы пользователи могли совершать покупки прямо из in-app сообщений, отображаемых в вашем iOS-приложении, вы можете реализовать готовое решение для ваших Rich Media и добавить колбэки для получения дополнительной информации о покупках в приложении.

Реализация на JavaScript для Rich Media

Anchor link to

Чтобы реализовать встроенные покупки в ваших Rich Media, используйте простой вызов функции JavaScript:

pushwooshImpl.makePurchaseWithIdentifier("Premium"); // идентификатор продукта, указанный в информации о вашем продукте в App Store

Методы AppDelegate для колбэков

Anchor link to

Если вам нужны колбэки, которые будут выполняться при покупке, реализуйте протокол PWPurchaseDelegate следующим образом:

  1. Сделайте так, чтобы AppDelegate вашего проекта соответствовал протоколу PWPurchaseDelegate:
@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>
  1. Реализуйте методы PWPurchaseDelegate в вашем AppDelegate:
#pragma mark - Purchase delegate methods
- (void) onPWInAppPurchaseHelperPaymentComplete:(NSString*) identifier {
NSLog(@“Пользовательский делегат покупки -- платеж завершен для идентификатора: %@“, identifier);
}
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products {
NSLog(@“Пользовательский делегат покупки -- получен список продуктов”);
}
-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error {
NSLog(@“Пользовательский делегат покупки -- ошибка платежа для идентификатора %@ с ошибкой %@“, identifier, error.description);
}

Список доступных методов PWPurchaseDelegate

Anchor link to

Список продуктов

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Подробная информация о списке продуктов в вашем приложении
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products;
@end

Успешная транзакция

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Успешно обработанная транзакция
<strong>-(void)onPWInAppPurchaseHelperPaymentComplete:(NSString* _Nullable)identifier;
</strong>
@end

Неудачная транзакция

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
<strong>// Неудачная транзакция
</strong>-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error;
@end

Продвижение из App Store

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Покупка в приложении инициируется из App Store, и транзакция продолжается в вашем приложении.
-(void)onPWInAppPurchaseHelperCallPromotedPurchase:(NSString* _Nullable)identifier;
@end

Ошибка восстановления завершенных транзакций

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Произошла ошибка при восстановлении транзакций
-(void)onPWInAppPurchaseHelperRestoreCompletedTransactionsFailed:(NSError * _Nullable)error;
@end