Покупки из in-app сообщений в iOS
Чтобы ваши пользователи могли совершать покупки прямо из in-app сообщений, отображаемых в вашем iOS-приложении, вы можете внедрить готовое решение для ваших Rich Media и добавить колбэки для получения дополнительной информации о встроенных покупках.
Реализация на JavaScript для Rich Media
Section titled “Реализация на JavaScript для Rich Media”Чтобы реализовать встроенные покупки в ваших Rich Media, используйте простой вызов функции JavaScript:
wavesendImpl.makePurchaseWithIdentifier("Premium"); // идентификатор продукта, указанный в информации о вашем продукте в App StoreМетоды AppDelegate для колбэков
Section titled “Методы AppDelegate для колбэков”Если вам нужны колбэки, которые будут выполняться при покупке, реализуйте протокол PWPurchaseDelegate следующим образом:
- Укажите в AppDelegate вашего проекта соответствие протоколу PWPurchaseDelegate:
@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>- Реализуйте методы PWPurchaseDelegate в вашем AppDelegate:
#pragma mark - Purchase delegate methods- (void) onPWInAppPurchaseHelperPaymentComplete:(NSString*) identifier { NSLog(@“Custom purchase delegate -- payment complete for identifier: %@“, identifier);}-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products { NSLog(@“Custom purchase delegate -- retrieved list of products”);}-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error { NSLog(@“Custom purchase delegate -- payment failed with identifier %@ and error %@“, identifier, error.description);}Список доступных методов PWPurchaseDelegate
Section titled “Список доступных методов PWPurchaseDelegate”Список продуктов
Section titled “Список продуктов”@protocol PWPurchaseDelegate <NSObject>// Подробная информация о списке продуктов в вашем приложении-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products;@endУспешная транзакция
Section titled “Успешная транзакция”@protocol PWPurchaseDelegate <NSObject>// Успешно обработанная транзакция<strong>-(void)onPWInAppPurchaseHelperPaymentComplete:(NSString* _Nullable)identifier;</strong>@endНеудачная транзакция
Section titled “Неудачная транзакция”@protocol PWPurchaseDelegate <NSObject><strong>// Неудачная транзакция</strong>-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error;@endПродвижение из App Store
Section titled “Продвижение из App Store”@protocol PWPurchaseDelegate <NSObject>// Встроенная покупка инициирована из App Store, и транзакция продолжается в вашем приложении.-(void)onPWInAppPurchaseHelperCallPromotedPurchase:(NSString* _Nullable)identifier;@endОшибка восстановления завершенных транзакций
Section titled “Ошибка восстановления завершенных транзакций”@protocol PWPurchaseDelegate <NSObject>// Произошла ошибка при восстановлении транзакций-(void)onPWInAppPurchaseHelperRestoreCompletedTransactionsFailed:(NSError * _Nullable)error;@end