@bigcrunch/react-native-ads 0.1.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.
- package/README.md +417 -0
- package/android/build.gradle +70 -0
- package/android/settings.gradle +6 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/bigcrunch/ads/react/BigCrunchAdsModule.kt +653 -0
- package/android/src/main/java/com/bigcrunch/ads/react/BigCrunchAdsPackage.kt +20 -0
- package/android/src/main/java/com/bigcrunch/ads/react/BigCrunchBannerViewManager.kt +296 -0
- package/ios/BigCrunchAdsModule.swift +588 -0
- package/ios/BigCrunchBannerViewManager.swift +270 -0
- package/ios/react-native-bigcrunch-ads-Bridging-Header.h +8 -0
- package/lib/BigCrunchAds.d.ts +168 -0
- package/lib/BigCrunchAds.d.ts.map +1 -0
- package/lib/BigCrunchAds.js +241 -0
- package/lib/BigCrunchBannerView.d.ts +21 -0
- package/lib/BigCrunchBannerView.d.ts.map +1 -0
- package/lib/BigCrunchBannerView.js +176 -0
- package/lib/BigCrunchInterstitial.d.ts +66 -0
- package/lib/BigCrunchInterstitial.d.ts.map +1 -0
- package/lib/BigCrunchInterstitial.js +222 -0
- package/lib/BigCrunchRewarded.d.ts +85 -0
- package/lib/BigCrunchRewarded.d.ts.map +1 -0
- package/lib/BigCrunchRewarded.js +257 -0
- package/lib/NativeBigCrunchAds.d.ts +71 -0
- package/lib/NativeBigCrunchAds.d.ts.map +1 -0
- package/lib/NativeBigCrunchAds.js +54 -0
- package/lib/index.d.ts +28 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +32 -0
- package/lib/types/ads.d.ts +101 -0
- package/lib/types/ads.d.ts.map +1 -0
- package/lib/types/ads.js +4 -0
- package/lib/types/config.d.ts +137 -0
- package/lib/types/config.d.ts.map +1 -0
- package/lib/types/config.js +4 -0
- package/lib/types/events.d.ts +306 -0
- package/lib/types/events.d.ts.map +1 -0
- package/lib/types/events.js +4 -0
- package/lib/types/index.d.ts +175 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +23 -0
- package/package.json +88 -0
- package/react-native-bigcrunch-ads.podspec +27 -0
- package/src/BigCrunchAds.ts +298 -0
- package/src/BigCrunchBannerView.tsx +262 -0
- package/src/BigCrunchInterstitial.ts +266 -0
- package/src/BigCrunchRewarded.ts +307 -0
- package/src/NativeBigCrunchAds.ts +120 -0
- package/src/index.ts +71 -0
- package/src/types/ads.ts +112 -0
- package/src/types/config.ts +145 -0
- package/src/types/events.ts +337 -0
- package/src/types/index.ts +193 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration types for BigCrunch Mobile Ads SDK
|
|
3
|
+
*/
|
|
4
|
+
import { AdFormat } from './index';
|
|
5
|
+
/**
|
|
6
|
+
* App configuration from BigCrunch backend
|
|
7
|
+
*/
|
|
8
|
+
export interface AppConfig {
|
|
9
|
+
/** Property ID */
|
|
10
|
+
propertyId: string;
|
|
11
|
+
/** Property name */
|
|
12
|
+
propertyName: string;
|
|
13
|
+
/** List of configured placements */
|
|
14
|
+
placements: PlacementConfig[];
|
|
15
|
+
/** Global settings */
|
|
16
|
+
settings?: GlobalSettings;
|
|
17
|
+
/** Last updated timestamp */
|
|
18
|
+
lastUpdated?: string;
|
|
19
|
+
/** Config version */
|
|
20
|
+
version?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Individual placement configuration
|
|
24
|
+
*/
|
|
25
|
+
export interface PlacementConfig {
|
|
26
|
+
/** Unique placement ID */
|
|
27
|
+
placementId: string;
|
|
28
|
+
/** Placement name for reporting */
|
|
29
|
+
placementName?: string;
|
|
30
|
+
/** Ad format type */
|
|
31
|
+
format: AdFormat;
|
|
32
|
+
/** Google Ad Manager ad unit ID */
|
|
33
|
+
gamAdUnit: string;
|
|
34
|
+
/** Ad size configuration */
|
|
35
|
+
size?: AdSizeConfig;
|
|
36
|
+
/** Prebid configuration */
|
|
37
|
+
prebidConfig?: PrebidConfig;
|
|
38
|
+
/** Amazon APS configuration */
|
|
39
|
+
amazonConfig?: AmazonConfig;
|
|
40
|
+
/** Placement-specific settings */
|
|
41
|
+
settings?: PlacementSettings;
|
|
42
|
+
/** Whether placement is active */
|
|
43
|
+
enabled: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Ad size configuration
|
|
47
|
+
*/
|
|
48
|
+
export interface AdSizeConfig {
|
|
49
|
+
/** Width in dp/points */
|
|
50
|
+
width: number;
|
|
51
|
+
/** Height in dp/points */
|
|
52
|
+
height: number;
|
|
53
|
+
/** Whether to use adaptive sizing */
|
|
54
|
+
adaptive?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Prebid configuration
|
|
58
|
+
*/
|
|
59
|
+
export interface PrebidConfig {
|
|
60
|
+
/** Prebid account ID */
|
|
61
|
+
accountId: string;
|
|
62
|
+
/** Config ID for server-side configuration */
|
|
63
|
+
configId: string;
|
|
64
|
+
/** Timeout for prebid requests in milliseconds */
|
|
65
|
+
timeout?: number;
|
|
66
|
+
/** Enable debug mode for prebid */
|
|
67
|
+
debug?: boolean;
|
|
68
|
+
/** Custom targeting parameters */
|
|
69
|
+
customTargeting?: Record<string, string>;
|
|
70
|
+
/** Price granularity */
|
|
71
|
+
priceGranularity?: 'low' | 'medium' | 'high' | 'auto' | 'dense' | 'custom';
|
|
72
|
+
/** Custom price granularity buckets */
|
|
73
|
+
customPriceGranularity?: PriceGranularityBucket[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Price granularity bucket configuration
|
|
77
|
+
*/
|
|
78
|
+
export interface PriceGranularityBucket {
|
|
79
|
+
/** Minimum price */
|
|
80
|
+
min: number;
|
|
81
|
+
/** Maximum price */
|
|
82
|
+
max: number;
|
|
83
|
+
/** Increment */
|
|
84
|
+
increment: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Amazon APS configuration
|
|
88
|
+
*/
|
|
89
|
+
export interface AmazonConfig {
|
|
90
|
+
/** Amazon slot ID */
|
|
91
|
+
slotId: string;
|
|
92
|
+
/** Enable Amazon integration */
|
|
93
|
+
enabled: boolean;
|
|
94
|
+
/** Timeout for Amazon requests */
|
|
95
|
+
timeout?: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Global settings
|
|
99
|
+
*/
|
|
100
|
+
export interface GlobalSettings {
|
|
101
|
+
/** Enable test mode */
|
|
102
|
+
testMode?: boolean;
|
|
103
|
+
/** Test device IDs */
|
|
104
|
+
testDeviceIds?: string[];
|
|
105
|
+
/** Enable verbose logging */
|
|
106
|
+
verboseLogging?: boolean;
|
|
107
|
+
/** Session timeout in seconds */
|
|
108
|
+
sessionTimeout?: number;
|
|
109
|
+
/** Analytics batch size */
|
|
110
|
+
analyticsBatchSize?: number;
|
|
111
|
+
/** Analytics flush interval in seconds */
|
|
112
|
+
analyticsFlushInterval?: number;
|
|
113
|
+
/** Enable crash reporting */
|
|
114
|
+
crashReporting?: boolean;
|
|
115
|
+
/** GDPR consent string */
|
|
116
|
+
gdprConsent?: string;
|
|
117
|
+
/** CCPA compliance string */
|
|
118
|
+
ccpaString?: string;
|
|
119
|
+
/** COPPA compliance */
|
|
120
|
+
coppaCompliant?: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Placement-specific settings
|
|
124
|
+
*/
|
|
125
|
+
export interface PlacementSettings {
|
|
126
|
+
/** Auto-refresh interval in seconds (0 = disabled) */
|
|
127
|
+
refreshInterval?: number;
|
|
128
|
+
/** Maximum refresh count */
|
|
129
|
+
maxRefreshCount?: number;
|
|
130
|
+
/** Enable viewability tracking */
|
|
131
|
+
viewabilityTracking?: boolean;
|
|
132
|
+
/** Viewability threshold percentage */
|
|
133
|
+
viewabilityThreshold?: number;
|
|
134
|
+
/** Custom targeting for this placement */
|
|
135
|
+
customTargeting?: Record<string, string>;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event types for BigCrunch Mobile Ads SDK
|
|
3
|
+
*/
|
|
4
|
+
import { AdError, AdRevenue, AdFormat } from './index';
|
|
5
|
+
/**
|
|
6
|
+
* Base event data
|
|
7
|
+
*/
|
|
8
|
+
export interface BaseAdEvent {
|
|
9
|
+
/** Placement ID */
|
|
10
|
+
placementId: string;
|
|
11
|
+
/** Ad format */
|
|
12
|
+
format: AdFormat;
|
|
13
|
+
/** Timestamp of the event */
|
|
14
|
+
timestamp: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Ad loaded event
|
|
18
|
+
*/
|
|
19
|
+
export interface AdLoadedEvent extends BaseAdEvent {
|
|
20
|
+
type: 'adLoaded';
|
|
21
|
+
/** Ad network that filled the ad */
|
|
22
|
+
adNetwork?: string;
|
|
23
|
+
/** Ad unit ID */
|
|
24
|
+
adUnitId?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Ad failed to load event
|
|
28
|
+
*/
|
|
29
|
+
export interface AdFailedToLoadEvent extends BaseAdEvent {
|
|
30
|
+
type: 'adFailedToLoad';
|
|
31
|
+
/** Error details */
|
|
32
|
+
error: AdError;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Ad impression event
|
|
36
|
+
*/
|
|
37
|
+
export interface AdImpressionEvent extends BaseAdEvent {
|
|
38
|
+
type: 'adImpression';
|
|
39
|
+
/** Ad network that served the impression */
|
|
40
|
+
adNetwork?: string;
|
|
41
|
+
/** Unique impression ID (UUID) */
|
|
42
|
+
impressionId?: string;
|
|
43
|
+
/** GAM ad unit path */
|
|
44
|
+
gamAdUnit?: string;
|
|
45
|
+
/** Ad size (e.g., "320x50") */
|
|
46
|
+
adSize?: string;
|
|
47
|
+
/** Auction ID from Prebid */
|
|
48
|
+
auctionId?: string;
|
|
49
|
+
/** Winning bidder name */
|
|
50
|
+
bidder?: string;
|
|
51
|
+
/** Bid price in CPM */
|
|
52
|
+
bidPriceCpm?: number;
|
|
53
|
+
/** Advertiser ID from GAM metadata */
|
|
54
|
+
advertiserId?: string;
|
|
55
|
+
/** Campaign ID from GAM metadata (not available in mobile SDKs) */
|
|
56
|
+
campaignId?: string;
|
|
57
|
+
/** Line item ID from GAM metadata (not available in mobile SDKs) */
|
|
58
|
+
lineItemId?: string;
|
|
59
|
+
/** Creative ID from GAM metadata */
|
|
60
|
+
creativeId?: string;
|
|
61
|
+
/** Refresh count for this placement */
|
|
62
|
+
refreshCount?: number;
|
|
63
|
+
/** Demand channel (e.g., "Prebid Header", "GAM Direct") */
|
|
64
|
+
demandChannel?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Ad clicked event
|
|
68
|
+
*/
|
|
69
|
+
export interface AdClickedEvent extends BaseAdEvent {
|
|
70
|
+
type: 'adClicked';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Ad opened event (for overlays/modals)
|
|
74
|
+
*/
|
|
75
|
+
export interface AdOpenedEvent extends BaseAdEvent {
|
|
76
|
+
type: 'adOpened';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Ad closed event
|
|
80
|
+
*/
|
|
81
|
+
export interface AdClosedEvent extends BaseAdEvent {
|
|
82
|
+
type: 'adClosed';
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Ad revenue event (ILRD)
|
|
86
|
+
*/
|
|
87
|
+
export interface AdRevenueEvent extends BaseAdEvent {
|
|
88
|
+
type: 'adRevenue';
|
|
89
|
+
/** Revenue data */
|
|
90
|
+
revenue: AdRevenue;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Ad viewable event
|
|
94
|
+
*/
|
|
95
|
+
export interface AdViewableEvent extends BaseAdEvent {
|
|
96
|
+
type: 'adViewable';
|
|
97
|
+
/** Duration in view (milliseconds) */
|
|
98
|
+
viewDuration?: number;
|
|
99
|
+
/** Percentage of ad visible */
|
|
100
|
+
visiblePercentage?: number;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Rewarded ad events
|
|
104
|
+
*/
|
|
105
|
+
export interface RewardedAdEarnedEvent extends BaseAdEvent {
|
|
106
|
+
type: 'rewardEarned';
|
|
107
|
+
/** Reward type */
|
|
108
|
+
rewardType: string;
|
|
109
|
+
/** Reward amount */
|
|
110
|
+
rewardAmount: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Union type of all ad events
|
|
114
|
+
*/
|
|
115
|
+
export type AdEvent = AdLoadedEvent | AdFailedToLoadEvent | AdImpressionEvent | AdClickedEvent | AdOpenedEvent | AdClosedEvent | AdRevenueEvent | AdViewableEvent | RewardedAdEarnedEvent;
|
|
116
|
+
/**
|
|
117
|
+
* Event listener callback
|
|
118
|
+
*/
|
|
119
|
+
export type AdEventListener<T extends AdEvent = AdEvent> = (event: T) => void;
|
|
120
|
+
/**
|
|
121
|
+
* Event subscription
|
|
122
|
+
*/
|
|
123
|
+
export interface EventSubscription {
|
|
124
|
+
/** Remove the event listener */
|
|
125
|
+
remove: () => void;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Analytics event for backend
|
|
129
|
+
*
|
|
130
|
+
* Note: This represents the legacy event format. The SDK now uses web schema events
|
|
131
|
+
* with flattened structure (PageViewEvent, ImpressionEvent, ClickEvent, etc.)
|
|
132
|
+
*
|
|
133
|
+
* @deprecated Use web schema event types instead
|
|
134
|
+
*/
|
|
135
|
+
export interface AnalyticsEvent {
|
|
136
|
+
/** Event type */
|
|
137
|
+
eventType: 'screen_view' | 'ad_request' | 'ad_impression' | 'ad_click' | 'ad_revenue' | 'ad_viewable' | 'session_start' | 'session_end';
|
|
138
|
+
/** Event timestamp (milliseconds since epoch) */
|
|
139
|
+
timestamp: number;
|
|
140
|
+
/** Session ID */
|
|
141
|
+
sessionId: string;
|
|
142
|
+
/** Event-specific data */
|
|
143
|
+
data: Record<string, any>;
|
|
144
|
+
/** Device context */
|
|
145
|
+
deviceContext?: Partial<DeviceContext>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Web schema common fields (present in all events)
|
|
149
|
+
*/
|
|
150
|
+
export interface WebSchemaCommonFields {
|
|
151
|
+
/** Payload version identifier */
|
|
152
|
+
payloadVersion: string;
|
|
153
|
+
/** Config version from backend */
|
|
154
|
+
configVersion?: string;
|
|
155
|
+
/** Event timestamp in ISO 8601 format (e.g., "2025-01-15T10:30:00Z") */
|
|
156
|
+
browserTimestamp: string;
|
|
157
|
+
/** Session ID (UUID) */
|
|
158
|
+
sessionId: string;
|
|
159
|
+
/** User ID (UUID, persistent across sessions) */
|
|
160
|
+
userId: string;
|
|
161
|
+
/** Property ID from BigCrunch dashboard */
|
|
162
|
+
propertyId: string;
|
|
163
|
+
/** True if this is user's first session */
|
|
164
|
+
newUser: boolean;
|
|
165
|
+
/** Current page/screen ID (UUID) */
|
|
166
|
+
pageId: string;
|
|
167
|
+
/** Number of page views in current session */
|
|
168
|
+
sessionDepth: number;
|
|
169
|
+
/** Browser/SDK identifier (e.g., "BigCrunch iOS SDK 1.0.0") */
|
|
170
|
+
browser: string;
|
|
171
|
+
/** Device type (e.g., "iPhone 14", "Samsung Galaxy S21") */
|
|
172
|
+
device: string;
|
|
173
|
+
/** Operating system (e.g., "iOS 16.0", "Android 13") */
|
|
174
|
+
os: string;
|
|
175
|
+
/** Country code (ISO 3166-1 alpha-2, e.g., "US") */
|
|
176
|
+
country: string;
|
|
177
|
+
/** Region/state code */
|
|
178
|
+
region: string;
|
|
179
|
+
/** Session attribution source */
|
|
180
|
+
sessionSource: string;
|
|
181
|
+
/** Session attribution medium */
|
|
182
|
+
sessionMedium: string;
|
|
183
|
+
/** UTM source parameter */
|
|
184
|
+
utmSource?: string;
|
|
185
|
+
/** UTM medium parameter */
|
|
186
|
+
utmMedium?: string;
|
|
187
|
+
/** UTM campaign parameter */
|
|
188
|
+
utmCampaign?: string;
|
|
189
|
+
/** UTM term parameter */
|
|
190
|
+
utmTerm?: string;
|
|
191
|
+
/** UTM content parameter */
|
|
192
|
+
utmContent?: string;
|
|
193
|
+
/** Google Click ID for attribution */
|
|
194
|
+
gclid?: string;
|
|
195
|
+
/** Facebook Click ID for attribution */
|
|
196
|
+
fbclid?: string;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Page view event (web schema)
|
|
200
|
+
* Sent to /pageviews endpoint
|
|
201
|
+
*/
|
|
202
|
+
export interface PageViewEvent extends WebSchemaCommonFields {
|
|
203
|
+
/** Screen/page name */
|
|
204
|
+
screenName: string;
|
|
205
|
+
/** Referrer (previous screen) */
|
|
206
|
+
referrer?: string;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Impression event (web schema)
|
|
210
|
+
* Sent to /impressions endpoint
|
|
211
|
+
* Consolidates ad request, impression, and revenue tracking
|
|
212
|
+
*/
|
|
213
|
+
export interface ImpressionEvent extends WebSchemaCommonFields {
|
|
214
|
+
/** Unique impression ID (UUID) */
|
|
215
|
+
impressionId: string;
|
|
216
|
+
/** Placement identifier */
|
|
217
|
+
placementId: string;
|
|
218
|
+
/** GAM ad unit path */
|
|
219
|
+
gamAdUnit: string;
|
|
220
|
+
/** Ad format (banner, interstitial, rewarded) */
|
|
221
|
+
format: string;
|
|
222
|
+
/** Auction ID from Prebid */
|
|
223
|
+
auctionId?: string;
|
|
224
|
+
/** Refresh count for this placement */
|
|
225
|
+
refreshCount?: number;
|
|
226
|
+
/** Winning bidder name */
|
|
227
|
+
bidder?: string;
|
|
228
|
+
/** Ad size (e.g., "320x50") */
|
|
229
|
+
adSize?: string;
|
|
230
|
+
/** Bid price/revenue in CPM */
|
|
231
|
+
bidPriceCpm?: number;
|
|
232
|
+
/** Floor price */
|
|
233
|
+
floorPrice?: number;
|
|
234
|
+
/** Minimum bid to win */
|
|
235
|
+
minBidToWin?: number;
|
|
236
|
+
/** Advertiser ID from GAM */
|
|
237
|
+
advertiserId?: string;
|
|
238
|
+
/** Campaign ID from GAM (not available in mobile SDKs) */
|
|
239
|
+
campaignId?: string;
|
|
240
|
+
/** Line item ID from GAM (not available in mobile SDKs) */
|
|
241
|
+
lineItemId?: string;
|
|
242
|
+
/** Creative ID from GAM response */
|
|
243
|
+
creativeId?: string;
|
|
244
|
+
/** Amazon bid data */
|
|
245
|
+
amznBid?: string;
|
|
246
|
+
/** Amazon price data */
|
|
247
|
+
amznPrice?: string;
|
|
248
|
+
/** Demand type (banner, video, etc.) */
|
|
249
|
+
demandType?: string;
|
|
250
|
+
/** Demand channel (e.g., "Prebid Header", "GAM Direct") */
|
|
251
|
+
demandChannel?: string;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Click event (web schema)
|
|
255
|
+
* Sent to /clicks endpoint
|
|
256
|
+
*/
|
|
257
|
+
export interface ClickEvent extends WebSchemaCommonFields {
|
|
258
|
+
/** Reference to the impression that was clicked */
|
|
259
|
+
impressionId: string;
|
|
260
|
+
/** Placement identifier */
|
|
261
|
+
placementId: string;
|
|
262
|
+
/** Ad format */
|
|
263
|
+
format: string;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Viewability event (web schema)
|
|
267
|
+
* Sent to /viewability endpoint
|
|
268
|
+
*/
|
|
269
|
+
export interface ViewabilityEvent extends WebSchemaCommonFields {
|
|
270
|
+
/** Reference to the impression */
|
|
271
|
+
impressionId: string;
|
|
272
|
+
/** Placement identifier */
|
|
273
|
+
placementId: string;
|
|
274
|
+
/** Ad format */
|
|
275
|
+
format: string;
|
|
276
|
+
/** Time ad was viewable in milliseconds */
|
|
277
|
+
viewableTimeMs: number;
|
|
278
|
+
/** Percentage of ad that was visible */
|
|
279
|
+
percentVisible: number;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Engagement event (web schema)
|
|
283
|
+
* Sent to /engagement endpoint
|
|
284
|
+
*/
|
|
285
|
+
export interface EngagementEvent extends WebSchemaCommonFields {
|
|
286
|
+
/** Time actively engaged in seconds */
|
|
287
|
+
engagedTime: number;
|
|
288
|
+
/** Total time on page/screen in seconds */
|
|
289
|
+
timeOnPage: number;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Screen view event data
|
|
293
|
+
*/
|
|
294
|
+
export interface ScreenViewData {
|
|
295
|
+
/** Screen name */
|
|
296
|
+
screenName: string;
|
|
297
|
+
/** Screen class/component name */
|
|
298
|
+
screenClass?: string;
|
|
299
|
+
/** Previous screen */
|
|
300
|
+
previousScreen?: string;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Device context (imported from index)
|
|
304
|
+
*/
|
|
305
|
+
import { DeviceContext } from './index';
|
|
306
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BigCrunch Mobile Ads SDK for React Native
|
|
3
|
+
* Type definitions
|
|
4
|
+
*/
|
|
5
|
+
export * from './config';
|
|
6
|
+
export * from './events';
|
|
7
|
+
export * from './ads';
|
|
8
|
+
/**
|
|
9
|
+
* SDK Environment options
|
|
10
|
+
*/
|
|
11
|
+
export type Environment = 'production' | 'sandbox';
|
|
12
|
+
/**
|
|
13
|
+
* Ad formats supported by the SDK
|
|
14
|
+
*/
|
|
15
|
+
export type AdFormat = 'banner' | 'interstitial' | 'rewarded';
|
|
16
|
+
/**
|
|
17
|
+
* Banner ad sizes
|
|
18
|
+
*/
|
|
19
|
+
export type BannerSize = 'BANNER' | 'LARGE_BANNER' | 'MEDIUM_RECTANGLE' | 'FULL_BANNER' | 'LEADERBOARD' | 'ADAPTIVE' | 'SMART';
|
|
20
|
+
/**
|
|
21
|
+
* Custom ad size
|
|
22
|
+
*/
|
|
23
|
+
export interface CustomSize {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* SDK initialization options
|
|
29
|
+
*/
|
|
30
|
+
export interface InitializationOptions {
|
|
31
|
+
/** Your BigCrunch property ID */
|
|
32
|
+
propertyId: string;
|
|
33
|
+
/** Your API key for authentication */
|
|
34
|
+
apiKey: string;
|
|
35
|
+
/** Environment to use */
|
|
36
|
+
environment?: Environment;
|
|
37
|
+
/** Enable debug logging */
|
|
38
|
+
debug?: boolean;
|
|
39
|
+
/** Use mock configuration for testing (no backend required) */
|
|
40
|
+
useMockConfig?: boolean;
|
|
41
|
+
/** Custom backend URL (optional) */
|
|
42
|
+
customBackendUrl?: string;
|
|
43
|
+
/** Session timeout in seconds (default: 1800) */
|
|
44
|
+
sessionTimeout?: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Ad request options
|
|
48
|
+
*/
|
|
49
|
+
export interface AdRequestOptions {
|
|
50
|
+
/** Placement ID from BigCrunch dashboard */
|
|
51
|
+
placementId: string;
|
|
52
|
+
/** Custom targeting parameters */
|
|
53
|
+
customTargeting?: Record<string, string>;
|
|
54
|
+
/** Content URL for contextual targeting */
|
|
55
|
+
contentUrl?: string;
|
|
56
|
+
/** Publisher provided ID */
|
|
57
|
+
publisherProvidedId?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Error codes for ad loading failures
|
|
61
|
+
*/
|
|
62
|
+
export declare enum AdErrorCode {
|
|
63
|
+
UNKNOWN = "UNKNOWN",
|
|
64
|
+
NETWORK_ERROR = "NETWORK_ERROR",
|
|
65
|
+
NO_FILL = "NO_FILL",
|
|
66
|
+
INVALID_REQUEST = "INVALID_REQUEST",
|
|
67
|
+
INTERNAL_ERROR = "INTERNAL_ERROR",
|
|
68
|
+
INVALID_PLACEMENT = "INVALID_PLACEMENT",
|
|
69
|
+
NOT_INITIALIZED = "NOT_INITIALIZED",
|
|
70
|
+
ALREADY_LOADED = "ALREADY_LOADED",
|
|
71
|
+
NOT_LOADED = "NOT_LOADED",
|
|
72
|
+
TIMEOUT = "TIMEOUT"
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Ad error object
|
|
76
|
+
*/
|
|
77
|
+
export interface AdError {
|
|
78
|
+
code: AdErrorCode;
|
|
79
|
+
message: string;
|
|
80
|
+
underlyingError?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Ad revenue data from Impression-Level Revenue Data (ILRD)
|
|
84
|
+
*/
|
|
85
|
+
export interface AdRevenue {
|
|
86
|
+
/** Revenue value in micros (millionths of currency unit) */
|
|
87
|
+
valueMicros: number;
|
|
88
|
+
/** Currency code (e.g., 'USD') */
|
|
89
|
+
currencyCode: string;
|
|
90
|
+
/** Ad unit that generated the revenue */
|
|
91
|
+
adUnitId?: string;
|
|
92
|
+
/** Precision of the revenue value */
|
|
93
|
+
precision?: 'ESTIMATED' | 'PUBLISHER_PROVIDED' | 'PRECISE' | 'UNKNOWN';
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Session information
|
|
97
|
+
*/
|
|
98
|
+
export interface SessionInfo {
|
|
99
|
+
/** Unique session ID (UUID) */
|
|
100
|
+
sessionId: string;
|
|
101
|
+
/** Persistent user ID (UUID, stored across app launches) */
|
|
102
|
+
userId: string;
|
|
103
|
+
/** Session start timestamp in ISO 8601 format (e.g., "2025-01-15T10:30:00Z") */
|
|
104
|
+
sessionStartTime: string;
|
|
105
|
+
/** Total number of sessions for this user (across all time) */
|
|
106
|
+
totalSessionCount: number;
|
|
107
|
+
/** True if this is the user's first session */
|
|
108
|
+
isNewUser: boolean;
|
|
109
|
+
/** Number of screens/page views in current session */
|
|
110
|
+
sessionDepth: number;
|
|
111
|
+
/** Number of screens viewed in session (deprecated, use sessionDepth) */
|
|
112
|
+
screenViewCount: number;
|
|
113
|
+
/** Number of ads requested in session */
|
|
114
|
+
adRequestCount: number;
|
|
115
|
+
/** Number of ads shown in session */
|
|
116
|
+
adImpressionCount: number;
|
|
117
|
+
/** Total revenue in session (micros) */
|
|
118
|
+
totalRevenueMicros: number;
|
|
119
|
+
/** Current page/screen ID (UUID, new per page view) */
|
|
120
|
+
currentPageId?: string;
|
|
121
|
+
/** UTM source parameter (e.g., "google", "facebook") */
|
|
122
|
+
utmSource?: string;
|
|
123
|
+
/** UTM medium parameter (e.g., "cpc", "email") */
|
|
124
|
+
utmMedium?: string;
|
|
125
|
+
/** UTM campaign parameter (e.g., "summer_sale") */
|
|
126
|
+
utmCampaign?: string;
|
|
127
|
+
/** UTM term parameter (optional keyword) */
|
|
128
|
+
utmTerm?: string;
|
|
129
|
+
/** UTM content parameter (optional content variant) */
|
|
130
|
+
utmContent?: string;
|
|
131
|
+
/** Session attribution source (derived from UTM or defaults to "direct") */
|
|
132
|
+
sessionSource: string;
|
|
133
|
+
/** Session attribution medium (derived from UTM or defaults to "none") */
|
|
134
|
+
sessionMedium: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Device context information
|
|
138
|
+
*/
|
|
139
|
+
export interface DeviceContext {
|
|
140
|
+
/** Device ID (IDFA/AAID when available) */
|
|
141
|
+
deviceId?: string;
|
|
142
|
+
/** Operating system */
|
|
143
|
+
os: 'iOS' | 'Android';
|
|
144
|
+
/** OS version */
|
|
145
|
+
osVersion: string;
|
|
146
|
+
/** Device model */
|
|
147
|
+
deviceModel: string;
|
|
148
|
+
/** Device manufacturer */
|
|
149
|
+
deviceManufacturer?: string;
|
|
150
|
+
/** Screen width in pixels */
|
|
151
|
+
screenWidth: number;
|
|
152
|
+
/** Screen height in pixels */
|
|
153
|
+
screenHeight: number;
|
|
154
|
+
/** Screen density */
|
|
155
|
+
screenDensity?: number;
|
|
156
|
+
/** App version */
|
|
157
|
+
appVersion: string;
|
|
158
|
+
/** SDK version */
|
|
159
|
+
sdkVersion: string;
|
|
160
|
+
/** Network connection type */
|
|
161
|
+
connectionType?: 'wifi' | 'cellular' | 'ethernet' | 'unknown';
|
|
162
|
+
/** User's locale */
|
|
163
|
+
locale?: string;
|
|
164
|
+
/** User's timezone */
|
|
165
|
+
timezone?: string;
|
|
166
|
+
/** Country code (ISO 3166-1 alpha-2, e.g., "US", "GB") */
|
|
167
|
+
country?: string;
|
|
168
|
+
/** Region/state code */
|
|
169
|
+
region?: string;
|
|
170
|
+
/** Browser/SDK identifier for web schema (e.g., "BigCrunch iOS SDK 1.0.0") */
|
|
171
|
+
browser?: string;
|
|
172
|
+
/** Device type for web schema (e.g., "iPhone 14", "Samsung Galaxy S21") */
|
|
173
|
+
device?: string;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BigCrunch Mobile Ads SDK for React Native
|
|
3
|
+
* Type definitions
|
|
4
|
+
*/
|
|
5
|
+
export * from './config';
|
|
6
|
+
export * from './events';
|
|
7
|
+
export * from './ads';
|
|
8
|
+
/**
|
|
9
|
+
* Error codes for ad loading failures
|
|
10
|
+
*/
|
|
11
|
+
export var AdErrorCode;
|
|
12
|
+
(function (AdErrorCode) {
|
|
13
|
+
AdErrorCode["UNKNOWN"] = "UNKNOWN";
|
|
14
|
+
AdErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
15
|
+
AdErrorCode["NO_FILL"] = "NO_FILL";
|
|
16
|
+
AdErrorCode["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
17
|
+
AdErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
18
|
+
AdErrorCode["INVALID_PLACEMENT"] = "INVALID_PLACEMENT";
|
|
19
|
+
AdErrorCode["NOT_INITIALIZED"] = "NOT_INITIALIZED";
|
|
20
|
+
AdErrorCode["ALREADY_LOADED"] = "ALREADY_LOADED";
|
|
21
|
+
AdErrorCode["NOT_LOADED"] = "NOT_LOADED";
|
|
22
|
+
AdErrorCode["TIMEOUT"] = "TIMEOUT";
|
|
23
|
+
})(AdErrorCode || (AdErrorCode = {}));
|