Skip to content

Commit cd5413b

Browse files
committed
Updated promo offer logic
1 parent 9d997c9 commit cd5413b

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

example/ios/Podfile.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ PODS:
7575
- glog (0.3.5)
7676
- libevent (2.1.12)
7777
- OpenSSL-Universal (1.1.1100)
78-
- Qonversion (5.12.3):
79-
- Qonversion/Main (= 5.12.3)
80-
- Qonversion/Main (5.12.3)
81-
- QonversionSandwich (5.1.5):
82-
- Qonversion (= 5.12.3)
78+
- Qonversion (5.13.0):
79+
- Qonversion/Main (= 5.13.0)
80+
- Qonversion/Main (5.13.0)
81+
- QonversionSandwich (5.2.0):
82+
- Qonversion (= 5.13.0)
8383
- RCT-Folly (2021.07.22.00):
8484
- boost
8585
- DoubleConversion
@@ -289,8 +289,8 @@ PODS:
289289
- React-jsinspector (0.70.7)
290290
- React-logger (0.70.7):
291291
- glog
292-
- react-native-qonversion (8.1.3):
293-
- QonversionSandwich (= 5.1.5)
292+
- react-native-qonversion (8.1.5):
293+
- QonversionSandwich (= 5.2.0)
294294
- React
295295
- React-perflogger (0.70.7)
296296
- React-RCTActionSheet (0.70.7):
@@ -535,8 +535,8 @@ SPEC CHECKSUMS:
535535
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
536536
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
537537
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
538-
Qonversion: d1a0c6aeff9ba9772ed5020899c2b13422f6aff1
539-
QonversionSandwich: 427599ed4e5c655a63eba1cf029647e49a12a457
538+
Qonversion: 37addeba74c5b328de9e1173b580c971b6d764ec
539+
QonversionSandwich: 3ffa118b7214ebd2dcd3f3a1a0a33a39f9c48c8e
540540
RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
541541
RCTRequired: 837880d26ec119e105317dc28a456f3016bf16d1
542542
RCTTypeSafety: 5c854c04c3383cab04f404e25d408ed52124b300
@@ -551,7 +551,7 @@ SPEC CHECKSUMS:
551551
React-jsiexecutor: e95cdd036e7947ddf87f3049319ac3064deb76b5
552552
React-jsinspector: 1c34fea1868136ecde647bc11fae9266d4143693
553553
React-logger: e9f407f9fdf3f3ce7749ae6f88affe63e8446019
554-
react-native-qonversion: c848653c8fd84f59b0a43f5ea871785fb919c145
554+
react-native-qonversion: 2149025c324df0b9cfb0b03cd73833907259e160
555555
React-perflogger: 52a94f38c19a518d05726624b49bfc192639374d
556556
React-RCTActionSheet: 7b89fe64a852bc3ae39b91dbd142ef09931ef3f7
557557
React-RCTAnimation: ad84bfbf8c5f6f77e65092d0c2b0506b80b5cf99
@@ -571,4 +571,4 @@ SPEC CHECKSUMS:
571571

572572
PODFILE CHECKSUM: f9772353ed0452b7cd7aaeb49261dbd07dd4af10
573573

574-
COCOAPODS: 1.13.0
574+
COCOAPODS: 1.15.2

ios/RNQonversion.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ + (BOOL)requiresMainQueueSetup
5252
}];
5353
}
5454

55-
RCT_EXPORT_METHOD(purchase:(NSString *)productId quantity:(NSInteger)quantity contextKeys:(NSArray *)contextKeys completion:(RCTResponseSenderBlock)completion rejecter:(RCTPromiseRejectBlock)reject) {
56-
[_qonversionSandwich purchase:productId quantity:quantity contextKeys:contextKeys completion:^(NSDictionary<NSString *,id> * _Nullable result, SandwichError * _Nullable error) {
55+
RCT_EXPORT_METHOD(purchase:(NSString *)productId quantity:(NSInteger)quantity contextKeys:(NSArray *)contextKeys promoOffer:(NSDictionary *)promoOffer completion:(RCTResponseSenderBlock)completion rejecter:(RCTPromiseRejectBlock)reject) {
56+
[_qonversionSandwich purchase:productId quantity:quantity contextKeys:contextKeys promoOffer:promoOffer completion:^(NSDictionary<NSString *,id> * _Nullable result, SandwichError * _Nullable error) {
5757
[self handleResult:result error:error completion:completion rejecter:reject];
5858
}];
5959
}

react-native-qonversion.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ Pod::Spec.new do |s|
2222
s.requires_arc = true
2323

2424
s.dependency "React"
25-
s.dependency "QonversionSandwich", "5.1.7"
25+
s.dependency "QonversionSandwich", "5.2.0"
2626
end

src/internal/QonversionInternal.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export default class QonversionInternal implements QonversionApi {
6666
if (isAndroid()) {
6767
return null;
6868
}
69-
const promoOffer = RNQonversion.getPromotionalOffer(product.qonversionID, discount.identifier)
69+
const promoOffer = await RNQonversion.getPromotionalOffer(product.qonversionID, discount.identifier);
7070
const mappedPromoOffer: PromotionalOffer = Mapper.convertPromoOffer(promoOffer);
7171

7272
return mappedPromoOffer;
@@ -79,8 +79,16 @@ export default class QonversionInternal implements QonversionApi {
7979
}
8080

8181
let purchasePromise: Promise<Record<string, QEntitlement> | null | undefined>;
82+
const promoOffer = {
83+
productDiscountId: options.promotionalOffer?.productDiscount.identifier,
84+
keyIdentifier: options.promotionalOffer?.paymentDiscount.keyIdentifier,
85+
nonce: options.promotionalOffer?.paymentDiscount.nonce,
86+
signature: options.promotionalOffer?.paymentDiscount.signature,
87+
timestamp: options.promotionalOffer?.paymentDiscount.timestamp
88+
};
89+
8290
if (isIos()) {
83-
purchasePromise = RNQonversion.purchase(product.qonversionID, options.quantity, options.contextKeys, options.promotionalOffer);
91+
purchasePromise = RNQonversion.purchase(product.qonversionID, options.quantity, options.contextKeys, promoOffer);
8492
} else {
8593
purchasePromise = RNQonversion.purchase(
8694
product.qonversionID,

0 commit comments

Comments
 (0)