@@ -45,7 +45,7 @@ +(void)startSessionWithUserActivity:(NSUserActivity*)userActivity{
4545RCT_EXPORT_MODULE ();
4646
4747- (NSArray <NSString *> *)supportedEvents {
48- return @[@" SingularLinkHandler" , @" ConversionValueUpdatedHandler" , @" ShortLinkHandler" ];
48+ return @[@" SingularLinkHandler" , @" ConversionValueUpdatedHandler" , @" ShortLinkHandler" , @" ConversionValuesUpdatedHandler " ];
4949}
5050
5151// Init method using a json string representing the config
@@ -83,6 +83,10 @@ +(void)startSessionWithUserActivity:(NSUserActivity*)userActivity{
8383 singularConfig.conversionValueUpdatedCallback = ^(NSInteger conversionValue) {
8484 [SingularBridge handleConversionValueUpdated: conversionValue];
8585 };
86+ singularConfig.conversionValuesUpdatedCallback = ^(NSNumber *fineValue, NSNumber *coarseValue, BOOL lockWindow) {
87+ [SingularBridge handleConversionValuesUpdated: fineValue andCoarseValue: coarseValue andLockWindow: lockWindow];
88+ };
89+
8690 singularConfig.waitForTrackingAuthorizationWithTimeoutInterval =
8791 [[singularConfigDict objectForKey: @" waitForTrackingAuthorizationWithTimeoutInterval" ] intValue ];
8892
@@ -202,6 +206,10 @@ +(void)startSessionWithUserActivity:(NSUserActivity*)userActivity{
202206 return [Singular skanUpdateConversionValue: conversionValue] ? @YES : @NO ;
203207}
204208
209+ RCT_EXPORT_METHOD (skanUpdateConversionValue:(NSInteger )conversionValue coarse:(NSInteger )coarse lock:(BOOL )lock){
210+ [Singular skanUpdateConversionValue: conversionValue coarse: coarse lock: lock];
211+ }
212+
205213RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD (skanGetConversionValue){
206214 return [Singular skanGetConversionValue ];
207215}
@@ -246,10 +254,6 @@ +(NSDictionary*)jsonToDictionary:(NSString*)json{
246254 return data;
247255}
248256
249-
250-
251-
252-
253257+(void )handleSingularLink : (SingularLinkParams*)params {
254258 // Raising the Singular Link handler in the react-native code
255259 [eventEmitter sendEventWithName: @" SingularLinkHandler" body: @{
@@ -260,12 +264,27 @@ +(void)handleSingularLink:(SingularLinkParams*)params {
260264
261265}
262266
263-
264-
265-
266267+(void )handleConversionValueUpdated : (NSInteger )conversionValue {
267268 // Raising the Conversion Value handler in the react-native code
268269 [eventEmitter sendEventWithName: @" ConversionValueUpdatedHandler" body: @(conversionValue)];
269270}
270271
272+ +(void )handleConversionValuesUpdated : (NSNumber *)fineValue andCoarseValue : (NSNumber *)coarseValue andLockWindow : (BOOL )lockWindow {
273+ NSInteger fine = -1 ;
274+ NSInteger coarse = -1 ;
275+
276+ if (fineValue != nil ) {
277+ fine = [fineValue intValue ];
278+ }
279+ if (coarseValue != nil ) {
280+ coarse = [coarseValue intValue ];
281+ }
282+
283+ [eventEmitter sendEventWithName: @" ConversionValuesUpdatedHandler" body: @{
284+ @" conversionValue" : @(fine),
285+ @" coarse" : @(coarse),
286+ @" lock" : @(lockWindow)
287+ }];
288+ }
289+
271290@end
0 commit comments