cloudx-react-native 3.4.7 → 3.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/cloudxreactnative/CloudXAdEvents.kt +11 -5
- package/android/src/main/java/com/cloudxreactnative/CloudXAdInfo.kt +14 -0
- package/android/src/main/java/com/cloudxreactnative/CloudXAdView.kt +9 -15
- package/android/src/main/java/com/cloudxreactnative/CloudXAdViewEvent.kt +1 -1
- package/android/src/main/java/com/cloudxreactnative/CloudXModuleImpl.kt +202 -0
- package/android/src/newarch/com/cloudxreactnative/CloudXModule.kt +7 -0
- package/android/src/oldarch/com/cloudxreactnative/CloudXModule.kt +7 -0
- package/cloudx-react-native.podspec +3 -3
- package/ios/CloudX.h +2 -2
- package/ios/CloudX.mm +284 -9
- package/ios/CloudXAdView.h +10 -12
- package/ios/CloudXAdView.mm +10 -15
- package/ios/CloudXAdViewManager.h +6 -6
- package/ios/CloudXAdViewManager.mm +4 -4
- package/lib/commonjs/CloudX.js +5 -1
- package/lib/commonjs/CloudX.js.map +1 -1
- package/lib/commonjs/CloudXAdViewBase.js +11 -9
- package/lib/commonjs/CloudXAdViewBase.js.map +1 -1
- package/lib/commonjs/CloudXAppOpenAd.js +98 -0
- package/lib/commonjs/CloudXAppOpenAd.js.map +1 -0
- package/lib/commonjs/CloudXBannerView.js +2 -2
- package/lib/commonjs/CloudXMRECView.js +2 -2
- package/lib/commonjs/hooks.js +81 -0
- package/lib/commonjs/hooks.js.map +1 -1
- package/lib/commonjs/index.js +37 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/CloudXAdViewNativeComponent.js +1 -1
- package/lib/commonjs/specs/NativeCloudX.js.map +1 -1
- package/lib/commonjs/types/AppOpenAd.js +6 -0
- package/lib/commonjs/types/AppOpenAd.js.map +1 -0
- package/lib/commonjs/types/Arbiter.js +6 -0
- package/lib/commonjs/types/Arbiter.js.map +1 -1
- package/lib/commonjs/types/RevenueData.js +21 -0
- package/lib/commonjs/types/RevenueData.js.map +1 -0
- package/lib/commonjs/types/index.js +17 -0
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/CloudX.js +5 -1
- package/lib/module/CloudX.js.map +1 -1
- package/lib/module/CloudXAdViewBase.js +11 -9
- package/lib/module/CloudXAdViewBase.js.map +1 -1
- package/lib/module/CloudXAppOpenAd.js +91 -0
- package/lib/module/CloudXAppOpenAd.js.map +1 -0
- package/lib/module/CloudXBannerView.js +2 -2
- package/lib/module/CloudXMRECView.js +2 -2
- package/lib/module/hooks.js +80 -0
- package/lib/module/hooks.js.map +1 -1
- package/lib/module/index.js +7 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/CloudXAdViewNativeComponent.js +1 -1
- package/lib/module/specs/NativeCloudX.js.map +1 -1
- package/lib/module/types/AppOpenAd.js +2 -0
- package/lib/module/types/AppOpenAd.js.map +1 -0
- package/lib/module/types/Arbiter.js +6 -0
- package/lib/module/types/Arbiter.js.map +1 -1
- package/lib/module/types/RevenueData.js +15 -0
- package/lib/module/types/RevenueData.js.map +1 -0
- package/lib/module/types/index.js +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/src/CloudX.d.ts.map +1 -1
- package/lib/typescript/src/CloudXAdViewBase.d.ts +1 -1
- package/lib/typescript/src/CloudXAdViewBase.d.ts.map +1 -1
- package/lib/typescript/src/CloudXAppOpenAd.d.ts +4 -0
- package/lib/typescript/src/CloudXAppOpenAd.d.ts.map +1 -0
- package/lib/typescript/src/CloudXBannerView.d.ts +2 -2
- package/lib/typescript/src/CloudXMRECView.d.ts +2 -2
- package/lib/typescript/src/hooks.d.ts +14 -0
- package/lib/typescript/src/hooks.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +6 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/CloudXAdViewNativeComponent.d.ts +1 -1
- package/lib/typescript/src/specs/NativeCloudX.d.ts +13 -0
- package/lib/typescript/src/specs/NativeCloudX.d.ts.map +1 -1
- package/lib/typescript/src/types/AppOpenAd.d.ts +8 -0
- package/lib/typescript/src/types/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/src/types/Arbiter.d.ts +12 -2
- package/lib/typescript/src/types/Arbiter.d.ts.map +1 -1
- package/lib/typescript/src/types/CloudX.d.ts +6 -0
- package/lib/typescript/src/types/CloudX.d.ts.map +1 -1
- package/lib/typescript/src/types/RevenueData.d.ts +32 -0
- package/lib/typescript/src/types/RevenueData.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +4 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +6 -2
- package/src/CloudX.ts +6 -0
- package/src/CloudXAdViewBase.tsx +12 -11
- package/src/CloudXAppOpenAd.ts +109 -0
- package/src/CloudXBannerView.tsx +2 -2
- package/src/CloudXMRECView.tsx +2 -2
- package/src/hooks.ts +103 -0
- package/src/index.ts +18 -2
- package/src/specs/CloudXAdViewNativeComponent.ts +1 -1
- package/src/specs/NativeCloudX.ts +22 -0
- package/src/types/AppOpenAd.ts +8 -0
- package/src/types/Arbiter.ts +20 -2
- package/src/types/CloudX.ts +7 -0
- package/src/types/RevenueData.ts +39 -0
- package/src/types/index.ts +4 -0
- package/src/version.ts +1 -1
package/ios/CloudX.mm
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#import "CloudX.h"
|
|
7
7
|
#import "CloudXExtraParameters.h"
|
|
8
8
|
#import <React/RCTUtils.h>
|
|
9
|
+
#import <math.h>
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
@interface UIColor (CLXUtils)
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
|
|
59
60
|
// Fullscreen ad storage — lazily created on first load/show, keyed by ad unit ID.
|
|
60
61
|
@property (nonatomic, strong) NSMutableDictionary<NSString *, CLXInterstitial *> *interstitials;
|
|
62
|
+
@property (nonatomic, strong) NSMutableDictionary<NSString *, CLXAppOpen *> *appOpenAds;
|
|
61
63
|
@property (nonatomic, strong) NSMutableDictionary<NSString *, CLXRewarded *> *rewardedAds;
|
|
62
64
|
|
|
63
65
|
// Overlay banner/MREC state — each ad unit ID owns exactly one CLXBannerAdView,
|
|
@@ -108,6 +110,14 @@ static NSString *const ON_INTERSTITIAL_DISPLAY_FAILED_EVENT = @"OnInterstitialD
|
|
|
108
110
|
static NSString *const ON_INTERSTITIAL_HIDDEN_EVENT = @"OnInterstitialHiddenEvent";
|
|
109
111
|
static NSString *const ON_INTERSTITIAL_AD_REVENUE_PAID = @"OnInterstitialAdRevenuePaid";
|
|
110
112
|
|
|
113
|
+
static NSString *const ON_APPOPEN_LOADED_EVENT = @"OnAppOpenLoadedEvent";
|
|
114
|
+
static NSString *const ON_APPOPEN_LOAD_FAILED_EVENT = @"OnAppOpenLoadFailedEvent";
|
|
115
|
+
static NSString *const ON_APPOPEN_CLICKED_EVENT = @"OnAppOpenClickedEvent";
|
|
116
|
+
static NSString *const ON_APPOPEN_DISPLAYED_EVENT = @"OnAppOpenDisplayedEvent";
|
|
117
|
+
static NSString *const ON_APPOPEN_DISPLAY_FAILED_EVENT = @"OnAppOpenDisplayFailedEvent";
|
|
118
|
+
static NSString *const ON_APPOPEN_HIDDEN_EVENT = @"OnAppOpenHiddenEvent";
|
|
119
|
+
static NSString *const ON_APPOPEN_AD_REVENUE_PAID = @"OnAppOpenAdRevenuePaid";
|
|
120
|
+
|
|
111
121
|
static NSString *const ON_REWARDED_AD_LOADED_EVENT = @"OnRewardedAdLoadedEvent";
|
|
112
122
|
static NSString *const ON_REWARDED_AD_LOAD_FAILED_EVENT = @"OnRewardedAdLoadFailedEvent";
|
|
113
123
|
static NSString *const ON_REWARDED_AD_CLICKED_EVENT = @"OnRewardedAdClickedEvent";
|
|
@@ -130,6 +140,7 @@ static NSString *const BOTTOM_RIGHT = @"bottom_right";
|
|
|
130
140
|
static NSString *const ARBITER_PLATFORM_CLOUDX = @"CLOUDX";
|
|
131
141
|
static NSString *const ARBITER_PLATFORM_LEVELPLAY = @"LEVELPLAY";
|
|
132
142
|
static NSString *const ARBITER_PLATFORM_PUBMATIC = @"PUBMATIC";
|
|
143
|
+
static NSString *const ARBITER_PLATFORM_CUSTOM = @"CUSTOM";
|
|
133
144
|
|
|
134
145
|
static CloudX *CloudXShared;
|
|
135
146
|
|
|
@@ -158,6 +169,7 @@ RCT_EXPORT_MODULE(CloudX)
|
|
|
158
169
|
CloudXShared = self;
|
|
159
170
|
|
|
160
171
|
self.interstitials = [NSMutableDictionary dictionaryWithCapacity: 2];
|
|
172
|
+
self.appOpenAds = [NSMutableDictionary dictionaryWithCapacity: 2];
|
|
161
173
|
self.rewardedAds = [NSMutableDictionary dictionaryWithCapacity: 2];
|
|
162
174
|
|
|
163
175
|
self.adViews = [NSMutableDictionary dictionaryWithCapacity: 2];
|
|
@@ -284,6 +296,20 @@ RCT_EXPORT_METHOD(arbiter:(NSDictionary<NSString *, id> *)configuration resolve:
|
|
|
284
296
|
}];
|
|
285
297
|
}
|
|
286
298
|
|
|
299
|
+
#pragma mark - Publisher-reported Revenue
|
|
300
|
+
|
|
301
|
+
RCT_EXPORT_METHOD(reportRevenueData:(NSDictionary<NSString *, id> *)data resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
302
|
+
{
|
|
303
|
+
CLXRevenueData *revenueData = [self revenueDataFromDictionary: data];
|
|
304
|
+
if ( !revenueData )
|
|
305
|
+
{
|
|
306
|
+
resolve(@(NO));
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
resolve(@([[CloudXCore shared] reportRevenueData: revenueData]));
|
|
311
|
+
}
|
|
312
|
+
|
|
287
313
|
#pragma mark - Banners
|
|
288
314
|
|
|
289
315
|
RCT_EXPORT_METHOD(createBanner:(NSString *)adUnitIdentifier position:(NSString *)bannerPosition)
|
|
@@ -474,6 +500,60 @@ RCT_EXPORT_METHOD(destroyInterstitial:(NSString *)adUnitIdentifier)
|
|
|
474
500
|
}
|
|
475
501
|
}
|
|
476
502
|
|
|
503
|
+
#pragma mark - App Open
|
|
504
|
+
|
|
505
|
+
RCT_EXPORT_METHOD(loadAppOpen:(NSString *)adUnitIdentifier)
|
|
506
|
+
{
|
|
507
|
+
[self log: @"loadAppOpen called from JS — adUnitId: %@", adUnitIdentifier];
|
|
508
|
+
CLXAppOpen *appOpen = [self retrieveAppOpenForAdUnitIdentifier: adUnitIdentifier];
|
|
509
|
+
[appOpen load];
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
RCT_EXPORT_METHOD(setAppOpenExtraParameters:(NSString *)adUnitIdentifier extraParameters:(NSDictionary<NSString *, id> *)extraParameters)
|
|
513
|
+
{
|
|
514
|
+
CLXAppOpen *appOpen = [self retrieveAppOpenForAdUnitIdentifier: adUnitIdentifier];
|
|
515
|
+
[CloudXExtraParameters applyExtraParameters: extraParameters toFullscreenAd: appOpen logBlock:^(NSString *message) {
|
|
516
|
+
[self log: @"%@", message];
|
|
517
|
+
}];
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
RCT_EXPORT_METHOD(isAppOpenReady:(NSString *)adUnitIdentifier resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
521
|
+
{
|
|
522
|
+
CLXAppOpen *appOpen = [self retrieveAppOpenForAdUnitIdentifier: adUnitIdentifier];
|
|
523
|
+
resolve(@([appOpen isReady]));
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
RCT_EXPORT_METHOD(showAppOpen:(NSString *)adUnitIdentifier placement:(nullable NSString *)placement customData:(nullable NSString *)customData)
|
|
527
|
+
{
|
|
528
|
+
UIViewController *vc = [self topViewController];
|
|
529
|
+
if ( !vc )
|
|
530
|
+
{
|
|
531
|
+
[self log: @"showAppOpen: no visible view controller — emitting display failure"];
|
|
532
|
+
NSDictionary *body = @{@"adUnitId": adUnitIdentifier ?: @"",
|
|
533
|
+
@"code": @(-1),
|
|
534
|
+
@"message": @"No visible view controller to present app open ad from"};
|
|
535
|
+
[self sendReactNativeEventWithName: ON_APPOPEN_DISPLAY_FAILED_EVENT body: body];
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
CLXAppOpen *appOpen = [self retrieveAppOpenForAdUnitIdentifier: adUnitIdentifier];
|
|
540
|
+
[appOpen showFromViewController: vc placement: placement customData: customData];
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
RCT_EXPORT_METHOD(destroyAppOpen:(NSString *)adUnitIdentifier)
|
|
544
|
+
{
|
|
545
|
+
[self log: @"Destroying app open ad with ad unit identifier \"%@\"", adUnitIdentifier];
|
|
546
|
+
|
|
547
|
+
CLXAppOpen *appOpen = self.appOpenAds[adUnitIdentifier];
|
|
548
|
+
if ( appOpen )
|
|
549
|
+
{
|
|
550
|
+
appOpen.delegate = nil;
|
|
551
|
+
appOpen.revenueDelegate = nil;
|
|
552
|
+
[appOpen destroy];
|
|
553
|
+
[self.appOpenAds removeObjectForKey: adUnitIdentifier];
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
|
|
477
557
|
#pragma mark - Rewarded
|
|
478
558
|
|
|
479
559
|
RCT_EXPORT_METHOD(loadRewarded:(NSString *)adUnitIdentifier)
|
|
@@ -553,6 +633,10 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
553
633
|
{
|
|
554
634
|
name = ON_INTERSTITIAL_LOADED_EVENT;
|
|
555
635
|
}
|
|
636
|
+
else if ( adFormat == CLXAdFormatAppOpen )
|
|
637
|
+
{
|
|
638
|
+
name = ON_APPOPEN_LOADED_EVENT;
|
|
639
|
+
}
|
|
556
640
|
else if ( adFormat == CLXAdFormatRewarded )
|
|
557
641
|
{
|
|
558
642
|
name = ON_REWARDED_AD_LOADED_EVENT;
|
|
@@ -580,6 +664,11 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
580
664
|
[self sendReactNativeEventWithName: ON_INTERSTITIAL_LOAD_FAILED_EVENT
|
|
581
665
|
body: [self adLoadFailedInfoForAd: key withError: error]];
|
|
582
666
|
}
|
|
667
|
+
for ( NSString *key in self.appOpenAds )
|
|
668
|
+
{
|
|
669
|
+
[self sendReactNativeEventWithName: ON_APPOPEN_LOAD_FAILED_EVENT
|
|
670
|
+
body: [self adLoadFailedInfoForAd: key withError: error]];
|
|
671
|
+
}
|
|
583
672
|
for ( NSString *key in self.rewardedAds )
|
|
584
673
|
{
|
|
585
674
|
[self sendReactNativeEventWithName: ON_REWARDED_AD_LOAD_FAILED_EVENT
|
|
@@ -598,14 +687,18 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
598
687
|
{
|
|
599
688
|
name = ON_INTERSTITIAL_LOAD_FAILED_EVENT;
|
|
600
689
|
}
|
|
690
|
+
else if ( self.appOpenAds[adUnitId] )
|
|
691
|
+
{
|
|
692
|
+
name = ON_APPOPEN_LOAD_FAILED_EVENT;
|
|
693
|
+
}
|
|
601
694
|
else if ( self.rewardedAds[adUnitId] )
|
|
602
695
|
{
|
|
603
696
|
name = ON_REWARDED_AD_LOAD_FAILED_EVENT;
|
|
604
697
|
}
|
|
605
698
|
else
|
|
606
699
|
{
|
|
607
|
-
[self log: @"didFailToLoadAd — adUnitId '%@' not found in any dictionary (keys: adViews=%@, interstitials=%@, rewardedAds=%@)",
|
|
608
|
-
adUnitId, self.adViews.allKeys, self.interstitials.allKeys, self.rewardedAds.allKeys];
|
|
700
|
+
[self log: @"didFailToLoadAd — adUnitId '%@' not found in any dictionary (keys: adViews=%@, interstitials=%@, appOpenAds=%@, rewardedAds=%@)",
|
|
701
|
+
adUnitId, self.adViews.allKeys, self.interstitials.allKeys, self.appOpenAds.allKeys, self.rewardedAds.allKeys];
|
|
609
702
|
return;
|
|
610
703
|
}
|
|
611
704
|
|
|
@@ -630,6 +723,10 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
630
723
|
{
|
|
631
724
|
name = ON_INTERSTITIAL_CLICKED_EVENT;
|
|
632
725
|
}
|
|
726
|
+
else if ( adFormat == CLXAdFormatAppOpen )
|
|
727
|
+
{
|
|
728
|
+
name = ON_APPOPEN_CLICKED_EVENT;
|
|
729
|
+
}
|
|
633
730
|
else if ( adFormat == CLXAdFormatRewarded )
|
|
634
731
|
{
|
|
635
732
|
name = ON_REWARDED_AD_CLICKED_EVENT;
|
|
@@ -648,13 +745,17 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
648
745
|
{
|
|
649
746
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
650
747
|
CLXAdFormat adFormat = ad.adFormat;
|
|
651
|
-
if ( adFormat != CLXAdFormatInterstitial && adFormat != CLXAdFormatRewarded ) return;
|
|
748
|
+
if ( adFormat != CLXAdFormatInterstitial && adFormat != CLXAdFormatAppOpen && adFormat != CLXAdFormatRewarded ) return;
|
|
652
749
|
|
|
653
750
|
NSString *name;
|
|
654
751
|
if ( adFormat == CLXAdFormatInterstitial )
|
|
655
752
|
{
|
|
656
753
|
name = ON_INTERSTITIAL_DISPLAYED_EVENT;
|
|
657
754
|
}
|
|
755
|
+
else if ( adFormat == CLXAdFormatAppOpen )
|
|
756
|
+
{
|
|
757
|
+
name = ON_APPOPEN_DISPLAYED_EVENT;
|
|
758
|
+
}
|
|
658
759
|
else
|
|
659
760
|
{
|
|
660
761
|
name = ON_REWARDED_AD_DISPLAYED_EVENT;
|
|
@@ -668,13 +769,17 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
668
769
|
{
|
|
669
770
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
670
771
|
CLXAdFormat adFormat = ad.adFormat;
|
|
671
|
-
if ( adFormat != CLXAdFormatInterstitial && adFormat != CLXAdFormatRewarded ) return;
|
|
772
|
+
if ( adFormat != CLXAdFormatInterstitial && adFormat != CLXAdFormatAppOpen && adFormat != CLXAdFormatRewarded ) return;
|
|
672
773
|
|
|
673
774
|
NSString *name;
|
|
674
775
|
if ( adFormat == CLXAdFormatInterstitial )
|
|
675
776
|
{
|
|
676
777
|
name = ON_INTERSTITIAL_DISPLAY_FAILED_EVENT;
|
|
677
778
|
}
|
|
779
|
+
else if ( adFormat == CLXAdFormatAppOpen )
|
|
780
|
+
{
|
|
781
|
+
name = ON_APPOPEN_DISPLAY_FAILED_EVENT;
|
|
782
|
+
}
|
|
678
783
|
else
|
|
679
784
|
{
|
|
680
785
|
name = ON_REWARDED_AD_DISPLAY_FAILED_EVENT;
|
|
@@ -688,13 +793,17 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
688
793
|
{
|
|
689
794
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
690
795
|
CLXAdFormat adFormat = ad.adFormat;
|
|
691
|
-
if ( adFormat != CLXAdFormatInterstitial && adFormat != CLXAdFormatRewarded ) return;
|
|
796
|
+
if ( adFormat != CLXAdFormatInterstitial && adFormat != CLXAdFormatAppOpen && adFormat != CLXAdFormatRewarded ) return;
|
|
692
797
|
|
|
693
798
|
NSString *name;
|
|
694
799
|
if ( adFormat == CLXAdFormatInterstitial )
|
|
695
800
|
{
|
|
696
801
|
name = ON_INTERSTITIAL_HIDDEN_EVENT;
|
|
697
802
|
}
|
|
803
|
+
else if ( adFormat == CLXAdFormatAppOpen )
|
|
804
|
+
{
|
|
805
|
+
name = ON_APPOPEN_HIDDEN_EVENT;
|
|
806
|
+
}
|
|
698
807
|
else
|
|
699
808
|
{
|
|
700
809
|
name = ON_REWARDED_AD_HIDDEN_EVENT;
|
|
@@ -751,6 +860,10 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
751
860
|
{
|
|
752
861
|
name = ON_INTERSTITIAL_AD_REVENUE_PAID;
|
|
753
862
|
}
|
|
863
|
+
else if ( adFormat == CLXAdFormatAppOpen )
|
|
864
|
+
{
|
|
865
|
+
name = ON_APPOPEN_AD_REVENUE_PAID;
|
|
866
|
+
}
|
|
754
867
|
else if ( adFormat == CLXAdFormatRewarded )
|
|
755
868
|
{
|
|
756
869
|
name = ON_REWARDED_AD_REVENUE_PAID;
|
|
@@ -1108,6 +1221,21 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1108
1221
|
return result;
|
|
1109
1222
|
}
|
|
1110
1223
|
|
|
1224
|
+
- (CLXAppOpen *)retrieveAppOpenForAdUnitIdentifier:(NSString *)adUnitIdentifier
|
|
1225
|
+
{
|
|
1226
|
+
CLXAppOpen *result = self.appOpenAds[adUnitIdentifier];
|
|
1227
|
+
if ( !result )
|
|
1228
|
+
{
|
|
1229
|
+
result = [[CloudXCore shared] createAppOpenWithAdUnitId: adUnitIdentifier];
|
|
1230
|
+
result.delegate = self;
|
|
1231
|
+
result.revenueDelegate = self;
|
|
1232
|
+
|
|
1233
|
+
self.appOpenAds[adUnitIdentifier] = result;
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
return result;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1111
1239
|
- (CLXRewarded *)retrieveRewardedAdForAdUnitIdentifier:(NSString *)adUnitIdentifier
|
|
1112
1240
|
{
|
|
1113
1241
|
CLXRewarded *result = self.rewardedAds[adUnitIdentifier];
|
|
@@ -1457,6 +1585,107 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1457
1585
|
return vc;
|
|
1458
1586
|
}
|
|
1459
1587
|
|
|
1588
|
+
- (nullable CLXRevenueData *)revenueDataFromDictionary:(NSDictionary<NSString *, id> *)dictionary
|
|
1589
|
+
{
|
|
1590
|
+
if ( ![dictionary isKindOfClass: [NSDictionary class]] )
|
|
1591
|
+
{
|
|
1592
|
+
[self log: @"reportRevenueData: ignoring data with missing or invalid required fields"];
|
|
1593
|
+
return nil;
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
NSString *platform = [self stringValueFromDictionary: dictionary key: @"platform"];
|
|
1597
|
+
NSNumber *revenueNumber = [self revenueNumberValueFromDictionary: dictionary key: @"revenue"];
|
|
1598
|
+
NSString *adFormat = [self stringValueFromDictionary: dictionary key: @"adFormat"];
|
|
1599
|
+
CLXRevenuePlatform revenuePlatform = [self revenuePlatformFromString: platform];
|
|
1600
|
+
if ( !revenuePlatform || !revenueNumber || [self isBlankString: adFormat] )
|
|
1601
|
+
{
|
|
1602
|
+
[self log: @"reportRevenueData: ignoring data with missing or invalid required fields"];
|
|
1603
|
+
return nil;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
double revenue = revenueNumber.doubleValue;
|
|
1607
|
+
if ( !isfinite(revenue) )
|
|
1608
|
+
{
|
|
1609
|
+
[self log: @"reportRevenueData: ignoring data with non-finite revenue=%@", revenueNumber];
|
|
1610
|
+
return nil;
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
return [CLXRevenueData revenueDataWithPlatform: revenuePlatform
|
|
1614
|
+
revenue: revenue
|
|
1615
|
+
adFormat: adFormat
|
|
1616
|
+
builderBlock:^(CLXRevenueDataBuilder *builder) {
|
|
1617
|
+
builder.currencyCode = [self nonBlankStringValueFromDictionary: dictionary key: @"currencyCode"];
|
|
1618
|
+
builder.precision = [self revenuePrecisionFromString: [self stringValueFromDictionary: dictionary key: @"precision"]];
|
|
1619
|
+
builder.networkName = [self nonBlankStringValueFromDictionary: dictionary key: @"networkName"];
|
|
1620
|
+
builder.adUnitId = [self nonBlankStringValueFromDictionary: dictionary key: @"adUnitId"];
|
|
1621
|
+
builder.thirdPartyAdPlacementId = [self nonBlankStringValueFromDictionary: dictionary key: @"thirdPartyAdPlacementId"];
|
|
1622
|
+
builder.creativeId = [self nonBlankStringValueFromDictionary: dictionary key: @"creativeId"];
|
|
1623
|
+
builder.networkPlacement = [self nonBlankStringValueFromDictionary: dictionary key: @"networkPlacement"];
|
|
1624
|
+
builder.countryCode = [self nonBlankStringValueFromDictionary: dictionary key: @"countryCode"];
|
|
1625
|
+
builder.userSegment = [self nonBlankStringValueFromDictionary: dictionary key: @"userSegment"];
|
|
1626
|
+
}];
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
- (nullable CLXRevenuePlatform)revenuePlatformFromString:(nullable NSString *)platform
|
|
1630
|
+
{
|
|
1631
|
+
if ( !platform )
|
|
1632
|
+
{
|
|
1633
|
+
return nil;
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
NSString *trimmedPlatform = [platform stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
|
1637
|
+
if ( trimmedPlatform.length == 0 )
|
|
1638
|
+
{
|
|
1639
|
+
return nil;
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
if ( [trimmedPlatform caseInsensitiveCompare: CLXRevenuePlatformAdMob] == NSOrderedSame )
|
|
1643
|
+
{
|
|
1644
|
+
return CLXRevenuePlatformAdMob;
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
if ( [trimmedPlatform caseInsensitiveCompare: CLXRevenuePlatformInMobi] == NSOrderedSame )
|
|
1648
|
+
{
|
|
1649
|
+
return CLXRevenuePlatformInMobi;
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
return CLXRevenuePlatformCustom(trimmedPlatform);
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
- (nullable NSString *)nonBlankStringValueFromDictionary:(NSDictionary<NSString *, id> *)dictionary key:(NSString *)key
|
|
1656
|
+
{
|
|
1657
|
+
NSString *value = [self stringValueFromDictionary: dictionary key: key];
|
|
1658
|
+
return [self isBlankString: value] ? nil : value;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
- (nullable NSNumber *)revenueNumberValueFromDictionary:(NSDictionary<NSString *, id> *)dictionary key:(NSString *)key
|
|
1662
|
+
{
|
|
1663
|
+
id value = dictionary[key];
|
|
1664
|
+
if ( ![value isKindOfClass: [NSNumber class]] ) return nil;
|
|
1665
|
+
if ( CFGetTypeID((__bridge CFTypeRef)value) == CFBooleanGetTypeID() ) return nil;
|
|
1666
|
+
return value;
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1669
|
+
- (BOOL)isBlankString:(nullable NSString *)value
|
|
1670
|
+
{
|
|
1671
|
+
if ( ![value isKindOfClass: [NSString class]] ) return YES;
|
|
1672
|
+
return [value stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]].length == 0;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
- (nullable CLXRevenuePrecision *)revenuePrecisionFromString:(nullable NSString *)value
|
|
1676
|
+
{
|
|
1677
|
+
if ( !value ) return nil;
|
|
1678
|
+
|
|
1679
|
+
NSString *lower = [value lowercaseString];
|
|
1680
|
+
if ( [lower isEqualToString: @"exact"] ) return CLXRevenuePrecision.exact;
|
|
1681
|
+
if ( [lower isEqualToString: @"estimated"] ) return CLXRevenuePrecision.estimated;
|
|
1682
|
+
if ( [lower isEqualToString: @"publisher_defined"] ) return CLXRevenuePrecision.publisherDefined;
|
|
1683
|
+
if ( [lower isEqualToString: @"undefined"] ) return CLXRevenuePrecision.undefined;
|
|
1684
|
+
|
|
1685
|
+
[self log: @"reportRevenueData: ignoring unknown precision=%@", value];
|
|
1686
|
+
return nil;
|
|
1687
|
+
}
|
|
1688
|
+
|
|
1460
1689
|
- (CLXLogLevel)logLevelFromString:(NSString *)level
|
|
1461
1690
|
{
|
|
1462
1691
|
NSString *lower = [level lowercaseString];
|
|
@@ -1559,6 +1788,10 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1559
1788
|
{
|
|
1560
1789
|
return [self pubMaticArbiterBidFromDictionary: dictionary];
|
|
1561
1790
|
}
|
|
1791
|
+
if ( [platform isEqualToString: ARBITER_PLATFORM_CUSTOM] )
|
|
1792
|
+
{
|
|
1793
|
+
return [self customArbiterBidFromDictionary: dictionary];
|
|
1794
|
+
}
|
|
1562
1795
|
return nil;
|
|
1563
1796
|
}
|
|
1564
1797
|
|
|
@@ -1622,12 +1855,32 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1622
1855
|
extras: [self stringMapFromDictionaryValue: dictionary[@"extras"]]];
|
|
1623
1856
|
}
|
|
1624
1857
|
|
|
1858
|
+
- (nullable CLXArbiterBid *)customArbiterBidFromDictionary:(NSDictionary<NSString *, id> *)dictionary
|
|
1859
|
+
{
|
|
1860
|
+
NSString *platformName = [self stringValueFromDictionary: dictionary key: @"platformName"];
|
|
1861
|
+
NSNumber *revenuePerImpressionUSD = [self numberValueFromDictionary: dictionary key: @"revenuePerImpressionUSD"];
|
|
1862
|
+
NSString *precision = [self stringValueFromDictionary: dictionary key: @"precision"];
|
|
1863
|
+
if ( platformName.length == 0 || !revenuePerImpressionUSD || precision.length == 0 )
|
|
1864
|
+
{
|
|
1865
|
+
[self log: @"arbiter: ignoring CUSTOM bid with missing required fields"];
|
|
1866
|
+
return nil;
|
|
1867
|
+
}
|
|
1868
|
+
|
|
1869
|
+
NSString *networkName = [self optionalStringValueFromDictionary: dictionary key: @"networkName"] ?: @"";
|
|
1870
|
+
return [CLXArbiterBid customBidWithPlatformName: platformName
|
|
1871
|
+
networkName: networkName
|
|
1872
|
+
revenuePerImpressionUSD: revenuePerImpressionUSD.doubleValue
|
|
1873
|
+
precision: [CLXArbiterPrecision precisionWithName: precision]
|
|
1874
|
+
extras: [self stringMapFromDictionaryValue: dictionary[@"extras"]]];
|
|
1875
|
+
}
|
|
1876
|
+
|
|
1625
1877
|
- (NSDictionary<NSString *, id> *)arbiterResultInfoForResult:(CLXArbiterResult *)result
|
|
1626
1878
|
{
|
|
1627
|
-
return @{@"id":
|
|
1628
|
-
@"platform":
|
|
1629
|
-
@"
|
|
1630
|
-
@"
|
|
1879
|
+
return @{@"id": result.identifier ?: @"",
|
|
1880
|
+
@"platform": result.platform.name ?: @"NONE",
|
|
1881
|
+
@"platformName": result.platformName ?: @"NONE",
|
|
1882
|
+
@"bidId": result.bidId ?: [NSNull null],
|
|
1883
|
+
@"extras": result.extras ?: @{}};
|
|
1631
1884
|
}
|
|
1632
1885
|
|
|
1633
1886
|
- (nullable NSString *)stringValueFromDictionary:(NSDictionary<NSString *, id> *)dictionary key:(NSString *)key
|
|
@@ -1691,6 +1944,11 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1691
1944
|
*result = CLXAdFormatInterstitial;
|
|
1692
1945
|
return YES;
|
|
1693
1946
|
}
|
|
1947
|
+
if ( [upper isEqualToString: @"APP_OPEN"] )
|
|
1948
|
+
{
|
|
1949
|
+
*result = CLXAdFormatAppOpen;
|
|
1950
|
+
return YES;
|
|
1951
|
+
}
|
|
1694
1952
|
if ( [upper isEqualToString: @"REWARDED"] )
|
|
1695
1953
|
{
|
|
1696
1954
|
*result = CLXAdFormatRewarded;
|
|
@@ -1711,6 +1969,7 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1711
1969
|
case CLXAdFormatBanner: return @"BANNER";
|
|
1712
1970
|
case CLXAdFormatMREC: return @"MREC";
|
|
1713
1971
|
case CLXAdFormatInterstitial: return @"INTERSTITIAL";
|
|
1972
|
+
case CLXAdFormatAppOpen: return @"APP_OPEN";
|
|
1714
1973
|
case CLXAdFormatRewarded: return @"REWARDED";
|
|
1715
1974
|
default: return @"";
|
|
1716
1975
|
}
|
|
@@ -1747,6 +2006,14 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1747
2006
|
ON_INTERSTITIAL_HIDDEN_EVENT,
|
|
1748
2007
|
ON_INTERSTITIAL_AD_REVENUE_PAID,
|
|
1749
2008
|
|
|
2009
|
+
ON_APPOPEN_LOADED_EVENT,
|
|
2010
|
+
ON_APPOPEN_LOAD_FAILED_EVENT,
|
|
2011
|
+
ON_APPOPEN_CLICKED_EVENT,
|
|
2012
|
+
ON_APPOPEN_DISPLAYED_EVENT,
|
|
2013
|
+
ON_APPOPEN_DISPLAY_FAILED_EVENT,
|
|
2014
|
+
ON_APPOPEN_HIDDEN_EVENT,
|
|
2015
|
+
ON_APPOPEN_AD_REVENUE_PAID,
|
|
2016
|
+
|
|
1750
2017
|
ON_REWARDED_AD_LOADED_EVENT,
|
|
1751
2018
|
ON_REWARDED_AD_LOAD_FAILED_EVENT,
|
|
1752
2019
|
ON_REWARDED_AD_CLICKED_EVENT,
|
|
@@ -1781,6 +2048,14 @@ RCT_EXPORT_METHOD(destroyRewarded:(NSString *)adUnitIdentifier)
|
|
|
1781
2048
|
@"ON_INTERSTITIAL_HIDDEN_EVENT": ON_INTERSTITIAL_HIDDEN_EVENT,
|
|
1782
2049
|
@"ON_INTERSTITIAL_AD_REVENUE_PAID": ON_INTERSTITIAL_AD_REVENUE_PAID,
|
|
1783
2050
|
|
|
2051
|
+
@"ON_APPOPEN_LOADED_EVENT": ON_APPOPEN_LOADED_EVENT,
|
|
2052
|
+
@"ON_APPOPEN_LOAD_FAILED_EVENT": ON_APPOPEN_LOAD_FAILED_EVENT,
|
|
2053
|
+
@"ON_APPOPEN_CLICKED_EVENT": ON_APPOPEN_CLICKED_EVENT,
|
|
2054
|
+
@"ON_APPOPEN_DISPLAYED_EVENT": ON_APPOPEN_DISPLAYED_EVENT,
|
|
2055
|
+
@"ON_APPOPEN_DISPLAY_FAILED_EVENT": ON_APPOPEN_DISPLAY_FAILED_EVENT,
|
|
2056
|
+
@"ON_APPOPEN_HIDDEN_EVENT": ON_APPOPEN_HIDDEN_EVENT,
|
|
2057
|
+
@"ON_APPOPEN_AD_REVENUE_PAID": ON_APPOPEN_AD_REVENUE_PAID,
|
|
2058
|
+
|
|
1784
2059
|
@"ON_REWARDED_AD_LOADED_EVENT": ON_REWARDED_AD_LOADED_EVENT,
|
|
1785
2060
|
@"ON_REWARDED_AD_LOAD_FAILED_EVENT": ON_REWARDED_AD_LOAD_FAILED_EVENT,
|
|
1786
2061
|
@"ON_REWARDED_AD_CLICKED_EVENT": ON_REWARDED_AD_CLICKED_EVENT,
|
package/ios/CloudXAdView.h
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
//
|
|
2
|
+
// CloudXAdView.h
|
|
3
|
+
// cloudx-react-native
|
|
4
|
+
//
|
|
5
|
+
// In-tree banner/MREC view component. Unlike the imperative overlay banner in
|
|
6
|
+
// CloudX.mm (attached above the whole RN view tree), this hosts a
|
|
7
|
+
// CLXBannerAdView as an ordinary RN view so app overlays layer above it.
|
|
8
|
+
//
|
|
9
9
|
|
|
10
10
|
#import <React/RCTUIManager.h>
|
|
11
11
|
#import <CloudXCore/CloudXCore.h>
|
|
@@ -19,10 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
NS_ASSUME_NONNULL_BEGIN
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* the corresponding callback); delegate call sites guard with `if (self.onX)`.
|
|
25
|
-
*/
|
|
22
|
+
// Nil by default on the Old Architecture (only set when the publisher passes
|
|
23
|
+
// the corresponding callback); delegate call sites guard with `if (self.onX)`.
|
|
26
24
|
@property (nonatomic, copy, nullable) RCTDirectEventBlock onAdLoadedEvent;
|
|
27
25
|
@property (nonatomic, copy, nullable) RCTDirectEventBlock onAdLoadFailedEvent;
|
|
28
26
|
@property (nonatomic, copy, nullable) RCTDirectEventBlock onAdClickedEvent;
|
package/ios/CloudXAdView.mm
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
//
|
|
2
|
+
// CloudXAdView.mm
|
|
3
|
+
// cloudx-react-native
|
|
4
|
+
//
|
|
5
5
|
|
|
6
6
|
#import "CloudXAdView.h"
|
|
7
7
|
#import "CloudXExtraParameters.h"
|
|
@@ -174,7 +174,6 @@ static id CLXIdFromFollyDynamic(const folly::dynamic &dynamicValue)
|
|
|
174
174
|
if ( oldViewProps.adFormat != newViewProps.adFormat )
|
|
175
175
|
{
|
|
176
176
|
[self setAdFormat: RCTNSStringFromString(newViewProps.adFormat)];
|
|
177
|
-
shouldAttach = YES;
|
|
178
177
|
}
|
|
179
178
|
if ( oldViewProps.placement != newViewProps.placement )
|
|
180
179
|
{
|
|
@@ -248,10 +247,8 @@ static id CLXIdFromFollyDynamic(const folly::dynamic &dynamicValue)
|
|
|
248
247
|
{
|
|
249
248
|
if ( self.adView )
|
|
250
249
|
{
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
* actual change; unchanged re-sets on re-render stay quiet.
|
|
254
|
-
*/
|
|
250
|
+
// Ad unit ID is immutable once the ad view is created. Warn only on an
|
|
251
|
+
// actual change; unchanged re-sets on re-render stay quiet.
|
|
255
252
|
if ( ![adUnitId isEqualToString: _adUnitId] )
|
|
256
253
|
{
|
|
257
254
|
RCTLogWarn(@"CloudXAdView: adUnitId cannot change after the ad view is created; remount the component (e.g. via a React key).");
|
|
@@ -326,7 +323,7 @@ static id CLXIdFromFollyDynamic(const folly::dynamic &dynamicValue)
|
|
|
326
323
|
/*
|
|
327
324
|
* createBanner/createMRECWithAdUnitId: returned nil. The JS layer
|
|
328
325
|
* gates mounting on SDK initialization, so a nil here post-init is
|
|
329
|
-
* an invalid/expired ad unit
|
|
326
|
+
* an invalid/expired ad unit — surface it as a load failure instead
|
|
330
327
|
* of leaving a permanently-dead, silent view (self.adView stays nil
|
|
331
328
|
* and props don't re-land, so there is no retry).
|
|
332
329
|
*/
|
|
@@ -390,11 +387,9 @@ static id CLXIdFromFollyDynamic(const folly::dynamic &dynamicValue)
|
|
|
390
387
|
return;
|
|
391
388
|
}
|
|
392
389
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
* ad is always torn down on a genuine unmount.
|
|
397
|
-
*/
|
|
390
|
+
// Superview nil could be a real unmount or brief reparenting (react-native-screens).
|
|
391
|
+
// Defer one main-queue turn; destroy only if it is still detached. Strong ref so the
|
|
392
|
+
// ad is always torn down on a genuine unmount.
|
|
398
393
|
CloudXAdView *viewRef = self;
|
|
399
394
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
400
395
|
if ( viewRef.superview != nil )
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
//
|
|
2
|
+
// CloudXAdViewManager.h
|
|
3
|
+
// cloudx-react-native
|
|
4
|
+
//
|
|
5
|
+
// Old-Architecture (Paper) view manager for the in-tree CloudXAdView.
|
|
6
|
+
//
|
|
7
7
|
|
|
8
8
|
#import <React/RCTViewManager.h>
|
|
9
9
|
|
package/lib/commonjs/CloudX.js
CHANGED
|
@@ -46,6 +46,9 @@ const setDoNotSell = isDoNotSell => {
|
|
|
46
46
|
const arbiter = configuration => {
|
|
47
47
|
return _NativeCloudX.default.arbiter(configuration);
|
|
48
48
|
};
|
|
49
|
+
const reportRevenueData = data => {
|
|
50
|
+
return _NativeCloudX.default.reportRevenueData(data);
|
|
51
|
+
};
|
|
49
52
|
const CloudX = exports.CloudX = {
|
|
50
53
|
isInitialized,
|
|
51
54
|
initialize,
|
|
@@ -59,7 +62,8 @@ const CloudX = exports.CloudX = {
|
|
|
59
62
|
setVisualDebuggingEnabled,
|
|
60
63
|
setHasUserConsent,
|
|
61
64
|
setDoNotSell,
|
|
62
|
-
arbiter
|
|
65
|
+
arbiter,
|
|
66
|
+
reportRevenueData
|
|
63
67
|
};
|
|
64
68
|
var _default = exports.default = CloudX;
|
|
65
69
|
//# sourceMappingURL=CloudX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeCloudX","_interopRequireDefault","require","_version","e","__esModule","default","isInitialized","NativeCloudX","initialize","appKey","PLUGIN_VERSION","isTablet","getVersion","setMinLogLevel","level","setHashedUserID","hashedUserID","setUserKeyValue","key","value","setAppKeyValue","clearAllKeyValues","setVisualDebuggingEnabled","enabled","setHasUserConsent","hasUserConsent","setDoNotSell","isDoNotSell","arbiter","configuration","CloudX","exports","_default"],"sourceRoot":"../../src","sources":["CloudX.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_NativeCloudX","_interopRequireDefault","require","_version","e","__esModule","default","isInitialized","NativeCloudX","initialize","appKey","PLUGIN_VERSION","isTablet","getVersion","setMinLogLevel","level","setHashedUserID","hashedUserID","setUserKeyValue","key","value","setAppKeyValue","clearAllKeyValues","setVisualDebuggingEnabled","enabled","setHasUserConsent","hasUserConsent","setDoNotSell","isDoNotSell","arbiter","configuration","reportRevenueData","data","CloudX","exports","_default"],"sourceRoot":"../../src","sources":["CloudX.ts"],"mappings":";;;;;;AAIA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAA2C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,aAAa,GAAGA,CAAA,KAAwB;EAC1C,OAAOC,qBAAY,CAACD,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,MAAME,UAAU,GAAIC,MAAc,IAA0C;EACxE,OAAOF,qBAAY,CAACC,UAAU,CAACE,uBAAc,EAAED,MAAM,CAAC;AAC1D,CAAC;AAED,MAAME,QAAQ,GAAGA,CAAA,KAAwB;EACrC,OAAOJ,qBAAY,CAACI,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAA,KAAuB;EACtC,OAAOL,qBAAY,CAACK,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,cAAc,GAAIC,KAA0B,IAAW;EACzDP,qBAAY,CAACM,cAAc,CAACC,KAAK,CAAC;AACtC,CAAC;AAED,MAAMC,eAAe,GAAIC,YAAoB,IAAW;EACpDT,qBAAY,CAACQ,eAAe,CAACC,YAAY,CAAC;AAC9C,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACC,GAAW,EAAEC,KAAa,KAAW;EAC1DZ,qBAAY,CAACU,eAAe,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC5C,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACF,GAAW,EAAEC,KAAa,KAAW;EACzDZ,qBAAY,CAACa,cAAc,CAACF,GAAG,EAAEC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAA,KAAY;EAClCd,qBAAY,CAACc,iBAAiB,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,yBAAyB,GAAIC,OAAgB,IAAW;EAC1DhB,qBAAY,CAACe,yBAAyB,CAACC,OAAO,CAAC;AACnD,CAAC;AAED,MAAMC,iBAAiB,GAAIC,cAA8B,IAAW;EAChElB,qBAAY,CAACiB,iBAAiB,CAACC,cAAc,CAAC;AAClD,CAAC;AAED,MAAMC,YAAY,GAAIC,WAA2B,IAAW;EACxDpB,qBAAY,CAACmB,YAAY,CAACC,WAAW,CAAC;AAC1C,CAAC;AAED,MAAMC,OAAO,GAAIC,aAAyC,IAAmC;EACzF,OAAOtB,qBAAY,CAACqB,OAAO,CAACC,aAAa,CAAC;AAC9C,CAAC;AAED,MAAMC,iBAAiB,GAAIC,IAAuB,IAAuB;EACrE,OAAOxB,qBAAY,CAACuB,iBAAiB,CAACC,IAAI,CAAC;AAC/C,CAAC;AAEM,MAAMC,MAAkB,GAAAC,OAAA,CAAAD,MAAA,GAAG;EAC9B1B,aAAa;EACbE,UAAU;EACVG,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdE,eAAe;EACfE,eAAe;EACfG,cAAc;EACdC,iBAAiB;EACjBC,yBAAyB;EACzBE,iBAAiB;EACjBE,YAAY;EACZE,OAAO;EACPE;AACJ,CAAC;AAAC,IAAAI,QAAA,GAAAD,OAAA,CAAA5B,OAAA,GAEa2B,MAAM","ignoreList":[]}
|