Skip to content

Покупки из 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 следующим образом:

  1. Укажите в AppDelegate вашего проекта соответствие протоколу PWPurchaseDelegate:
@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>
  1. Реализуйте методы 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”
@protocol PWPurchaseDelegate <NSObject>
// Подробная информация о списке продуктов в вашем приложении
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products;
@end
@protocol PWPurchaseDelegate <NSObject>
// Успешно обработанная транзакция
<strong>-(void)onPWInAppPurchaseHelperPaymentComplete:(NSString* _Nullable)identifier;
</strong>
@end
@protocol PWPurchaseDelegate <NSObject>
<strong>// Неудачная транзакция
</strong>-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error;
@end
@protocol PWPurchaseDelegate <NSObject>
// Встроенная покупка инициирована из App Store, и транзакция продолжается в вашем приложении.
-(void)onPWInAppPurchaseHelperCallPromotedPurchase:(NSString* _Nullable)identifier;
@end

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

Section titled “Ошибка восстановления завершенных транзакций”
@protocol PWPurchaseDelegate <NSObject>
// Произошла ошибка при восстановлении транзакций
-(void)onPWInAppPurchaseHelperRestoreCompletedTransactionsFailed:(NSError * _Nullable)error;
@end