Pular para o conteúdo

Compras em mensagens in-app para iOS

Para permitir que seus usuários façam compras diretamente das mensagens in-app exibidas em seu aplicativo iOS, você pode implementar a solução pronta para uso para suas Rich Medias e adicionar callbacks para obter mais informações sobre as compras in-app.

Implementação JavaScript de Rich Media

Anchor link to

Para implementar compras in-app em suas Rich Medias, use uma simples chamada de função JavaScript:

pushwooshImpl.makePurchaseWithIdentifier("Premium"); // identificador do produto especificado nas informações do seu produto na App Store

Métodos AppDelegate para callbacks

Anchor link to

Se você precisar que callbacks sejam executados em uma compra, implemente o protocolo PWPurchaseDelegate da seguinte forma:

1. Faça com que o AppDelegate do seu projeto esteja em conformidade com o protocolo PWPurchaseDelegate:

@interface AppDelegate : PWAppDelegate <PushNotificationDelegate, PWPurchaseDelegate>

2. Implemente os métodos do PWPurchaseDelegate em seu 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);
}

Lista de métodos PWPurchaseDelegate disponíveis

Anchor link to

Lista de produtos

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Informações detalhadas sobre a lista de produtos em seu aplicativo
-(void)onPWInAppPurchaseHelperProducts:(NSArray<SKProduct *>* _Nullable)products;
@end

Transação bem-sucedida

Anchor link to
@protocol PWPurchaseDelegate &#x3C;NSObject>
// Uma transação processada com sucesso
<strong>-(void)onPWInAppPurchaseHelperPaymentComplete:(NSString* _Nullable)identifier;
</strong>
@end

Transação que falhou

Anchor link to
@protocol PWPurchaseDelegate &#x3C;NSObject>
<strong>// Uma transação que falhou
</strong>-(void)onPWInAppPurchaseHelperPaymentFailedProductIdentifier:(NSString* _Nullable)identifier error:(NSError* _Nullable)error;
@end

Promovido da App Store

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Uma compra in-app é iniciada a partir da App Store, e a transação continua em seu aplicativo.
-(void)onPWInAppPurchaseHelperCallPromotedPurchase:(NSString* _Nullable)identifier;
@end

Falha ao restaurar transações concluídas

Anchor link to
@protocol PWPurchaseDelegate <NSObject>
// Ocorreu um erro ao restaurar as transações
-(void)onPWInAppPurchaseHelperRestoreCompletedTransactionsFailed:(NSError * _Nullable)error;
@end