Покупки из 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 следующим образом:
- Сделайте так, чтобы AppDelegate вашего проекта соответствовал протоколу PWPurchaseDelegate:
@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>
- Реализуйте методы 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