@bigcrunch/react-native-ads 0.1.0 → 0.2.0
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
|
-
|
|
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.
|
|
3
|
+
"version": "0.2.0",
|
|
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",
|