@bigcrunch/react-native-ads 0.1.0 → 0.1.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.
@@ -437,7 +437,11 @@ class BigCrunchAdsModule(reactContext: ReactApplicationContext) :
437
437
  scope.launch {
438
438
  try {
439
439
  val deviceData = BigCrunchAds.getDeviceData()
440
- promise.resolve(convertDeviceDataToMap(deviceData))
440
+ if (deviceData != null) {
441
+ promise.resolve(convertDeviceDataToMap(deviceData))
442
+ } else {
443
+ promise.reject("DEVICE_ERROR", "SDK not initialized or device data unavailable", null)
444
+ }
441
445
  } catch (e: Exception) {
442
446
  promise.reject("DEVICE_ERROR", "Failed to get device data: ${e.message}", e)
443
447
  }
@@ -0,0 +1,107 @@
1
+ //
2
+ // BigCrunchAdsModule.m
3
+ // BigCrunch Mobile Ads SDK - React Native Bridge
4
+ //
5
+ // This file exposes the Swift BigCrunchAdsModule to React Native
6
+ //
7
+
8
+ #import <React/RCTBridgeModule.h>
9
+ #import <React/RCTEventEmitter.h>
10
+
11
+ @interface RCT_EXTERN_MODULE(BigCrunchAdsModule, RCTEventEmitter)
12
+
13
+ // Initialization
14
+ RCT_EXTERN_METHOD(initialize:(NSDictionary *)config
15
+ resolver:(RCTPromiseResolveBlock)resolve
16
+ rejecter:(RCTPromiseRejectBlock)reject)
17
+
18
+ RCT_EXTERN_METHOD(isInitialized:(RCTPromiseResolveBlock)resolve
19
+ rejecter:(RCTPromiseRejectBlock)reject)
20
+
21
+ // Screen Tracking
22
+ RCT_EXTERN_METHOD(trackScreenView:(NSString *)screenName
23
+ resolver:(RCTPromiseResolveBlock)resolve
24
+ rejecter:(RCTPromiseRejectBlock)reject)
25
+
26
+ // Configuration
27
+ RCT_EXTERN_METHOD(getAppConfig:(RCTPromiseResolveBlock)resolve
28
+ rejecter:(RCTPromiseRejectBlock)reject)
29
+
30
+ RCT_EXTERN_METHOD(refreshConfig:(RCTPromiseResolveBlock)resolve
31
+ rejecter:(RCTPromiseRejectBlock)reject)
32
+
33
+ // Interstitial Ads
34
+ RCT_EXTERN_METHOD(loadInterstitial:(NSString *)placementId
35
+ resolver:(RCTPromiseResolveBlock)resolve
36
+ rejecter:(RCTPromiseRejectBlock)reject)
37
+
38
+ RCT_EXTERN_METHOD(showInterstitial:(NSString *)placementId
39
+ resolver:(RCTPromiseResolveBlock)resolve
40
+ rejecter:(RCTPromiseRejectBlock)reject)
41
+
42
+ RCT_EXTERN_METHOD(isInterstitialLoaded:(NSString *)placementId
43
+ resolver:(RCTPromiseResolveBlock)resolve
44
+ rejecter:(RCTPromiseRejectBlock)reject)
45
+
46
+ RCT_EXTERN_METHOD(destroyInterstitial:(NSString *)placementId
47
+ resolver:(RCTPromiseResolveBlock)resolve
48
+ rejecter:(RCTPromiseRejectBlock)reject)
49
+
50
+ // Rewarded Ads
51
+ RCT_EXTERN_METHOD(loadRewarded:(NSString *)placementId
52
+ resolver:(RCTPromiseResolveBlock)resolve
53
+ rejecter:(RCTPromiseRejectBlock)reject)
54
+
55
+ RCT_EXTERN_METHOD(showRewarded:(NSString *)placementId
56
+ resolver:(RCTPromiseResolveBlock)resolve
57
+ rejecter:(RCTPromiseRejectBlock)reject)
58
+
59
+ RCT_EXTERN_METHOD(isRewardedLoaded:(NSString *)placementId
60
+ resolver:(RCTPromiseResolveBlock)resolve
61
+ rejecter:(RCTPromiseRejectBlock)reject)
62
+
63
+ RCT_EXTERN_METHOD(destroyRewarded:(NSString *)placementId
64
+ resolver:(RCTPromiseResolveBlock)resolve
65
+ rejecter:(RCTPromiseRejectBlock)reject)
66
+
67
+ // Session Management
68
+ RCT_EXTERN_METHOD(getSessionInfo:(RCTPromiseResolveBlock)resolve
69
+ rejecter:(RCTPromiseRejectBlock)reject)
70
+
71
+ RCT_EXTERN_METHOD(startNewSession:(RCTPromiseResolveBlock)resolve
72
+ rejecter:(RCTPromiseRejectBlock)reject)
73
+
74
+ // Device Context
75
+ RCT_EXTERN_METHOD(getDeviceContext:(RCTPromiseResolveBlock)resolve
76
+ rejecter:(RCTPromiseRejectBlock)reject)
77
+
78
+ // Privacy Settings
79
+ RCT_EXTERN_METHOD(setGdprConsent:(NSString *)consent
80
+ resolver:(RCTPromiseResolveBlock)resolve
81
+ rejecter:(RCTPromiseRejectBlock)reject)
82
+
83
+ RCT_EXTERN_METHOD(setCcpaString:(NSString *)ccpaString
84
+ resolver:(RCTPromiseResolveBlock)resolve
85
+ rejecter:(RCTPromiseRejectBlock)reject)
86
+
87
+ RCT_EXTERN_METHOD(setCoppaCompliant:(BOOL)compliant
88
+ resolver:(RCTPromiseResolveBlock)resolve
89
+ rejecter:(RCTPromiseRejectBlock)reject)
90
+
91
+ // Debug Settings
92
+ RCT_EXTERN_METHOD(setDebugMode:(BOOL)enabled
93
+ resolver:(RCTPromiseResolveBlock)resolve
94
+ rejecter:(RCTPromiseRejectBlock)reject)
95
+
96
+ RCT_EXTERN_METHOD(addTestDevice:(NSString *)deviceId
97
+ resolver:(RCTPromiseResolveBlock)resolve
98
+ rejecter:(RCTPromiseRejectBlock)reject)
99
+
100
+ RCT_EXTERN_METHOD(removeTestDevice:(NSString *)deviceId
101
+ resolver:(RCTPromiseResolveBlock)resolve
102
+ rejecter:(RCTPromiseRejectBlock)reject)
103
+
104
+ RCT_EXTERN_METHOD(getTestDevices:(RCTPromiseResolveBlock)resolve
105
+ rejecter:(RCTPromiseRejectBlock)reject)
106
+
107
+ @end
@@ -0,0 +1,36 @@
1
+ //
2
+ // BigCrunchBannerViewManager.m
3
+ // BigCrunch Mobile Ads SDK - React Native Bridge
4
+ //
5
+ // This file exposes the Swift BigCrunchBannerViewManager to React Native
6
+ //
7
+
8
+ #import <React/RCTViewManager.h>
9
+
10
+ @interface RCT_EXTERN_MODULE(BigCrunchBannerViewManager, RCTViewManager)
11
+
12
+ // Properties
13
+ RCT_EXPORT_VIEW_PROPERTY(placementId, NSString)
14
+ RCT_EXPORT_VIEW_PROPERTY(size, NSString)
15
+ RCT_EXPORT_VIEW_PROPERTY(customWidth, NSNumber)
16
+ RCT_EXPORT_VIEW_PROPERTY(customHeight, NSNumber)
17
+ RCT_EXPORT_VIEW_PROPERTY(autoLoad, BOOL)
18
+ RCT_EXPORT_VIEW_PROPERTY(refreshInterval, NSNumber)
19
+ RCT_EXPORT_VIEW_PROPERTY(customTargeting, NSDictionary)
20
+ RCT_EXPORT_VIEW_PROPERTY(viewId, NSString)
21
+
22
+ // Event callbacks
23
+ RCT_EXPORT_VIEW_PROPERTY(onAdLoaded, RCTDirectEventBlock)
24
+ RCT_EXPORT_VIEW_PROPERTY(onAdFailedToLoad, RCTDirectEventBlock)
25
+ RCT_EXPORT_VIEW_PROPERTY(onAdOpened, RCTDirectEventBlock)
26
+ RCT_EXPORT_VIEW_PROPERTY(onAdClosed, RCTDirectEventBlock)
27
+ RCT_EXPORT_VIEW_PROPERTY(onAdClicked, RCTDirectEventBlock)
28
+ RCT_EXPORT_VIEW_PROPERTY(onAdImpression, RCTDirectEventBlock)
29
+
30
+ // Methods
31
+ RCT_EXTERN_METHOD(loadAd:(nonnull NSNumber *)node)
32
+ RCT_EXTERN_METHOD(pauseAd:(nonnull NSNumber *)node)
33
+ RCT_EXTERN_METHOD(resumeAd:(nonnull NSNumber *)node)
34
+ RCT_EXTERN_METHOD(destroy:(nonnull NSNumber *)node)
35
+
36
+ @end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigcrunch/react-native-ads",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "BigCrunch Mobile Ads SDK for React Native - Simplified in-app advertising with Prebid and Google Ad Manager",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -85,4 +85,4 @@
85
85
  "optional": false
86
86
  }
87
87
  }
88
- }
88
+ }