@thealteroffice/react-native-adgeist 0.0.16 → 0.0.18
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/generated/java/com/adgeist/NativeAdgeistSpec.java +83 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/RNAdgeistSpec-generated.cpp +98 -0
- package/android/generated/jni/RNAdgeistSpec.h +31 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI-generated.cpp +149 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI.h +170 -0
- package/android/src/main/java/com/adgeist/implementation/AdgeistModuleImpl.kt +101 -9
- package/android/src/newarch/java/com/AdgeistModule.kt +93 -2
- package/android/src/oldarch/java/com/AdgeistModule.kt +101 -4
- package/ios/generated/RNAdgeistSpec/RNAdgeistSpec-generated.mm +42 -7
- package/ios/generated/RNAdgeistSpec/RNAdgeistSpec.h +57 -10
- package/ios/generated/RNAdgeistSpecJSI-generated.cpp +81 -14
- package/ios/generated/RNAdgeistSpecJSI.h +54 -9
- package/lib/module/NativeAdgeist.js.map +1 -1
- package/lib/module/components/BannerAd.js +201 -63
- package/lib/module/components/BannerAd.js.map +1 -1
- package/lib/module/utilities.js +16 -0
- package/lib/module/utilities.js.map +1 -0
- package/lib/typescript/src/NativeAdgeist.d.ts +6 -1
- package/lib/typescript/src/NativeAdgeist.d.ts.map +1 -1
- package/lib/typescript/src/components/BannerAd.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +5 -0
- package/lib/typescript/src/utilities.d.ts.map +1 -0
- package/package.json +8 -2
- package/src/NativeAdgeist.ts +61 -9
- package/src/components/BannerAd.tsx +283 -77
- package/src/utilities.ts +13 -0
- package/plugin/build/android/withRNAdgeistMainApplication.d.ts +0 -3
- package/plugin/build/android/withRNAdgeistMainApplication.js +0 -65
- package/plugin/build/index.d.ts +0 -3
- package/plugin/build/index.js +0 -25
- package/plugin/build/ios/withRNAdgeistAppDelegate.d.ts +0 -4
- package/plugin/build/ios/withRNAdgeistAppDelegate.js +0 -66
|
@@ -22,11 +22,16 @@ protected:
|
|
|
22
22
|
public:
|
|
23
23
|
virtual jsi::Value initializeSdk(jsi::Runtime &rt, jsi::String customDomain) = 0;
|
|
24
24
|
virtual jsi::Value fetchCreative(jsi::Runtime &rt, jsi::String apiKey, jsi::String origin, jsi::String adSpaceId, jsi::String publisherId, bool isTestEnvironment) = 0;
|
|
25
|
-
virtual jsi::Value sendCreativeAnalytic(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String eventType, jsi::String origin, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment) = 0;
|
|
26
25
|
virtual void setUserDetails(jsi::Runtime &rt, jsi::Object user) = 0;
|
|
27
26
|
virtual void logEvent(jsi::Runtime &rt, jsi::Object event) = 0;
|
|
28
27
|
virtual jsi::Value getConsentStatus(jsi::Runtime &rt) = 0;
|
|
29
28
|
virtual void updateConsentStatus(jsi::Runtime &rt, bool consent) = 0;
|
|
29
|
+
virtual jsi::Value trackImpression(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double renderTime) = 0;
|
|
30
|
+
virtual jsi::Value trackView(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double viewTime, double visibilityRatio, double scrollDepth, double timeToVisible) = 0;
|
|
31
|
+
virtual jsi::Value trackTotalView(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double totalViewTime, double visibilityRatio) = 0;
|
|
32
|
+
virtual jsi::Value trackClick(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment) = 0;
|
|
33
|
+
virtual jsi::Value trackVideoPlayback(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double totalPlaybackTime) = 0;
|
|
34
|
+
virtual jsi::Value trackVideoQuartile(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, jsi::String quartile) = 0;
|
|
30
35
|
|
|
31
36
|
};
|
|
32
37
|
|
|
@@ -73,14 +78,6 @@ private:
|
|
|
73
78
|
return bridging::callFromJs<jsi::Value>(
|
|
74
79
|
rt, &T::fetchCreative, jsInvoker_, instance_, std::move(apiKey), std::move(origin), std::move(adSpaceId), std::move(publisherId), std::move(isTestEnvironment));
|
|
75
80
|
}
|
|
76
|
-
jsi::Value sendCreativeAnalytic(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String eventType, jsi::String origin, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment) override {
|
|
77
|
-
static_assert(
|
|
78
|
-
bridging::getParameterCount(&T::sendCreativeAnalytic) == 9,
|
|
79
|
-
"Expected sendCreativeAnalytic(...) to have 9 parameters");
|
|
80
|
-
|
|
81
|
-
return bridging::callFromJs<jsi::Value>(
|
|
82
|
-
rt, &T::sendCreativeAnalytic, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(eventType), std::move(origin), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment));
|
|
83
|
-
}
|
|
84
81
|
void setUserDetails(jsi::Runtime &rt, jsi::Object user) override {
|
|
85
82
|
static_assert(
|
|
86
83
|
bridging::getParameterCount(&T::setUserDetails) == 2,
|
|
@@ -113,6 +110,54 @@ private:
|
|
|
113
110
|
return bridging::callFromJs<void>(
|
|
114
111
|
rt, &T::updateConsentStatus, jsInvoker_, instance_, std::move(consent));
|
|
115
112
|
}
|
|
113
|
+
jsi::Value trackImpression(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double renderTime) override {
|
|
114
|
+
static_assert(
|
|
115
|
+
bridging::getParameterCount(&T::trackImpression) == 8,
|
|
116
|
+
"Expected trackImpression(...) to have 8 parameters");
|
|
117
|
+
|
|
118
|
+
return bridging::callFromJs<jsi::Value>(
|
|
119
|
+
rt, &T::trackImpression, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment), std::move(renderTime));
|
|
120
|
+
}
|
|
121
|
+
jsi::Value trackView(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double viewTime, double visibilityRatio, double scrollDepth, double timeToVisible) override {
|
|
122
|
+
static_assert(
|
|
123
|
+
bridging::getParameterCount(&T::trackView) == 11,
|
|
124
|
+
"Expected trackView(...) to have 11 parameters");
|
|
125
|
+
|
|
126
|
+
return bridging::callFromJs<jsi::Value>(
|
|
127
|
+
rt, &T::trackView, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment), std::move(viewTime), std::move(visibilityRatio), std::move(scrollDepth), std::move(timeToVisible));
|
|
128
|
+
}
|
|
129
|
+
jsi::Value trackTotalView(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double totalViewTime, double visibilityRatio) override {
|
|
130
|
+
static_assert(
|
|
131
|
+
bridging::getParameterCount(&T::trackTotalView) == 9,
|
|
132
|
+
"Expected trackTotalView(...) to have 9 parameters");
|
|
133
|
+
|
|
134
|
+
return bridging::callFromJs<jsi::Value>(
|
|
135
|
+
rt, &T::trackTotalView, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment), std::move(totalViewTime), std::move(visibilityRatio));
|
|
136
|
+
}
|
|
137
|
+
jsi::Value trackClick(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment) override {
|
|
138
|
+
static_assert(
|
|
139
|
+
bridging::getParameterCount(&T::trackClick) == 7,
|
|
140
|
+
"Expected trackClick(...) to have 7 parameters");
|
|
141
|
+
|
|
142
|
+
return bridging::callFromJs<jsi::Value>(
|
|
143
|
+
rt, &T::trackClick, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment));
|
|
144
|
+
}
|
|
145
|
+
jsi::Value trackVideoPlayback(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, double totalPlaybackTime) override {
|
|
146
|
+
static_assert(
|
|
147
|
+
bridging::getParameterCount(&T::trackVideoPlayback) == 8,
|
|
148
|
+
"Expected trackVideoPlayback(...) to have 8 parameters");
|
|
149
|
+
|
|
150
|
+
return bridging::callFromJs<jsi::Value>(
|
|
151
|
+
rt, &T::trackVideoPlayback, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment), std::move(totalPlaybackTime));
|
|
152
|
+
}
|
|
153
|
+
jsi::Value trackVideoQuartile(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment, jsi::String quartile) override {
|
|
154
|
+
static_assert(
|
|
155
|
+
bridging::getParameterCount(&T::trackVideoQuartile) == 8,
|
|
156
|
+
"Expected trackVideoQuartile(...) to have 8 parameters");
|
|
157
|
+
|
|
158
|
+
return bridging::callFromJs<jsi::Value>(
|
|
159
|
+
rt, &T::trackVideoQuartile, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment), std::move(quartile));
|
|
160
|
+
}
|
|
116
161
|
|
|
117
162
|
private:
|
|
118
163
|
friend class NativeAdgeistCxxSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAdgeist.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAdgeist.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAgGlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,SAAS,CAAC","ignoreList":[]}
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
* @description A React Native component for displaying banner and video ads with robust error handling and analytics.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
9
|
-
import { Image, Linking, StyleSheet, Text, View, TouchableWithoutFeedback, ActivityIndicator } from 'react-native';
|
|
8
|
+
import React, { useCallback, useEffect, useState, useRef } from 'react';
|
|
9
|
+
import { Image, Linking, StyleSheet, Text, View, TouchableWithoutFeedback, ActivityIndicator, Dimensions } from 'react-native';
|
|
10
10
|
import Video from 'react-native-video';
|
|
11
11
|
import Adgeist from "../NativeAdgeist.js";
|
|
12
12
|
import { useAdgeistContext } from "./AdgeistProvider.js";
|
|
13
|
+
import { normalizeUrl } from "../utilities.js";
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Interface for ad data structure
|
|
@@ -37,14 +38,25 @@ export const BannerAd = ({
|
|
|
37
38
|
width = 0,
|
|
38
39
|
height = 0,
|
|
39
40
|
isResponsive = false,
|
|
40
|
-
// responsiveType = 'SQUARE',
|
|
41
41
|
onAdLoadError,
|
|
42
42
|
onAdLoadSuccess
|
|
43
43
|
}) => {
|
|
44
44
|
const [adData, setAdData] = useState(null);
|
|
45
|
-
const [isMuted, setIsMuted] = useState(
|
|
45
|
+
const [isMuted, setIsMuted] = useState(true);
|
|
46
46
|
const [error, setError] = useState(null);
|
|
47
47
|
const [isLoading, setIsLoading] = useState(false);
|
|
48
|
+
const [hasImpression, setHasImpression] = useState(false);
|
|
49
|
+
const [hasView, setHasView] = useState(false);
|
|
50
|
+
const [isPaused, setIsPaused] = useState(true);
|
|
51
|
+
const [isManuallyControlled, setIsManuallyControlled] = useState(false);
|
|
52
|
+
const renderStartTime = useRef(Date.now());
|
|
53
|
+
const adRef = useRef(null);
|
|
54
|
+
const visibilityStartTime = useRef(null);
|
|
55
|
+
const timeToVisible = useRef(null);
|
|
56
|
+
const viewTime = useRef(0);
|
|
57
|
+
const lastCheckTime = useRef(Date.now());
|
|
58
|
+
const currentVisibilityRatio = useRef(0);
|
|
59
|
+
const videoRef = useRef(null);
|
|
48
60
|
const {
|
|
49
61
|
isInitialized,
|
|
50
62
|
publisherId,
|
|
@@ -53,60 +65,146 @@ export const BannerAd = ({
|
|
|
53
65
|
isTestEnvironment
|
|
54
66
|
} = useAdgeistContext();
|
|
55
67
|
const creativeData = adData?.seatBid?.[0]?.bid?.[0]?.ext;
|
|
68
|
+
const bidId = adData?.id;
|
|
69
|
+
const campaignId = adData?.seatBid?.[0]?.bid?.[0]?.id;
|
|
70
|
+
const adSpaceId = dataAdSlot;
|
|
56
71
|
|
|
57
72
|
/**
|
|
58
|
-
* Fetches ad creative
|
|
73
|
+
* Fetches ad creative data (without tracking impression here)
|
|
59
74
|
*/
|
|
60
75
|
const fetchAd = useCallback(async () => {
|
|
61
76
|
if (!isInitialized) return;
|
|
62
77
|
try {
|
|
63
78
|
setIsLoading(true);
|
|
64
79
|
setError(null);
|
|
80
|
+
setHasImpression(false);
|
|
81
|
+
setHasView(false);
|
|
65
82
|
const response = await Adgeist.fetchCreative(apiKey, domain, dataAdSlot, publisherId, isTestEnvironment);
|
|
66
83
|
const creative = response;
|
|
67
84
|
setAdData(creative.data);
|
|
68
85
|
onAdLoadSuccess?.(creative.data);
|
|
69
|
-
|
|
70
|
-
// if (creative.data.seatBid.length > 0) {
|
|
71
|
-
// await Adgeist.sendCreativeAnalytic(
|
|
72
|
-
// creative.data.seatBid?.[0]?.bid?.[0]?.id || '',
|
|
73
|
-
// dataAdSlot,
|
|
74
|
-
// publisherId,
|
|
75
|
-
// 'IMPRESSION',
|
|
76
|
-
// domain,
|
|
77
|
-
// apiKey,
|
|
78
|
-
// creative.data.id,
|
|
79
|
-
// isTestEnvironment
|
|
80
|
-
// );
|
|
81
|
-
// }
|
|
82
86
|
} catch (err) {
|
|
83
87
|
const error = err instanceof Error ? err : new Error('Ad load failed');
|
|
84
88
|
setError(error);
|
|
89
|
+
setHasImpression(false);
|
|
90
|
+
setHasView(false);
|
|
85
91
|
onAdLoadError?.(error);
|
|
86
|
-
console.error('Ad load failed:', error);
|
|
87
92
|
} finally {
|
|
88
93
|
setIsLoading(false);
|
|
89
94
|
}
|
|
90
95
|
}, [isInitialized, publisherId, dataAdSlot, apiKey, domain, isTestEnvironment, onAdLoadError, onAdLoadSuccess]);
|
|
91
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Tracks impression when media (image/video) is fully loaded
|
|
99
|
+
*/
|
|
100
|
+
const trackImpressionOnMediaLoad = useCallback(async () => {
|
|
101
|
+
if (hasImpression || !bidId || !campaignId) return;
|
|
102
|
+
try {
|
|
103
|
+
const renderTime = Date.now() - renderStartTime.current;
|
|
104
|
+
await Adgeist.trackImpression(campaignId, adSpaceId, publisherId, apiKey, bidId, isTestEnvironment, renderTime);
|
|
105
|
+
setHasImpression(true);
|
|
106
|
+
} catch (err) {
|
|
107
|
+
console.error('Failed to track impression:', err);
|
|
108
|
+
}
|
|
109
|
+
}, [hasImpression, bidId, campaignId, adSpaceId, publisherId, apiKey, isTestEnvironment]);
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Tracks view event for ads when visible for >=1s (banner) or >=2s (video) and >=50% in viewport
|
|
113
|
+
*/
|
|
114
|
+
const trackView = useCallback(async () => {
|
|
115
|
+
if (hasView || !hasImpression || !bidId || !campaignId) return;
|
|
116
|
+
try {
|
|
117
|
+
const currentViewTime = viewTime.current;
|
|
118
|
+
const currentTimeToVisible = timeToVisible.current || 0;
|
|
119
|
+
const visibility = currentVisibilityRatio.current;
|
|
120
|
+
if (currentViewTime >= (dataSlotType === 'video' ? 2000 : 1000) && visibility >= 0.5 && timeToVisible.current !== null) {
|
|
121
|
+
await Adgeist.trackView(campaignId, adSpaceId, publisherId, apiKey, bidId, isTestEnvironment, currentViewTime, visibility, 0, currentTimeToVisible);
|
|
122
|
+
setHasView(true);
|
|
123
|
+
}
|
|
124
|
+
} catch (err) {
|
|
125
|
+
console.error('Failed to track view:', err);
|
|
126
|
+
}
|
|
127
|
+
}, [hasView, hasImpression, bidId, campaignId, adSpaceId, publisherId, apiKey, isTestEnvironment, dataSlotType]);
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Toggles play/pause state manually
|
|
131
|
+
*/
|
|
132
|
+
const togglePlayPause = useCallback(() => {
|
|
133
|
+
setIsManuallyControlled(true);
|
|
134
|
+
setIsPaused(prev => !prev);
|
|
135
|
+
}, []);
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Calculates visibility ratio, updates view metrics, and controls video playback
|
|
139
|
+
*/
|
|
140
|
+
const checkVisibility = useCallback(() => {
|
|
141
|
+
if (!adRef.current || !hasImpression) return;
|
|
142
|
+
adRef.current.measure((_x, _y, _width, height, _pageX, pageY) => {
|
|
143
|
+
const window = Dimensions.get('window');
|
|
144
|
+
const windowHeight = window.height;
|
|
145
|
+
const adTop = pageY;
|
|
146
|
+
const adBottom = pageY + height;
|
|
147
|
+
const windowTop = 0;
|
|
148
|
+
const windowBottom = windowHeight;
|
|
149
|
+
const visibleTop = Math.max(adTop, windowTop);
|
|
150
|
+
const visibleBottom = Math.min(adBottom, windowBottom);
|
|
151
|
+
const visibleHeight = Math.max(0, visibleBottom - visibleTop);
|
|
152
|
+
const visibilityRatio = height > 0 ? visibleHeight / height : 0;
|
|
153
|
+
currentVisibilityRatio.current = visibilityRatio;
|
|
154
|
+
const currentTime = Date.now();
|
|
155
|
+
const deltaTime = currentTime - lastCheckTime.current;
|
|
156
|
+
lastCheckTime.current = currentTime;
|
|
157
|
+
if (visibilityRatio >= 0.5 && timeToVisible.current === null) {
|
|
158
|
+
timeToVisible.current = currentTime - renderStartTime.current;
|
|
159
|
+
}
|
|
160
|
+
if (visibilityRatio >= 0.5) {
|
|
161
|
+
viewTime.current += deltaTime;
|
|
162
|
+
if (!visibilityStartTime.current) {
|
|
163
|
+
visibilityStartTime.current = currentTime;
|
|
164
|
+
}
|
|
165
|
+
if (dataSlotType === 'video' && isPaused && !isManuallyControlled) {
|
|
166
|
+
setIsPaused(false);
|
|
167
|
+
}
|
|
168
|
+
} else {
|
|
169
|
+
visibilityStartTime.current = null;
|
|
170
|
+
if (dataSlotType === 'video' && !isPaused) {
|
|
171
|
+
setIsPaused(true);
|
|
172
|
+
setIsManuallyControlled(false);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Only check for view tracking if view event hasn't been tracked yet
|
|
177
|
+
if (!hasView && viewTime.current >= (dataSlotType === 'video' ? 2000 : 1000) && visibilityRatio >= 0.5) {
|
|
178
|
+
trackView();
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}, [hasImpression, trackView, dataSlotType, isPaused, hasView, isManuallyControlled]);
|
|
182
|
+
|
|
92
183
|
/**
|
|
93
184
|
* Handles ad click and sends click analytics
|
|
94
185
|
*/
|
|
95
186
|
const handleClick = useCallback(async () => {
|
|
96
|
-
if (adData
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
} catch (err) {
|
|
103
|
-
console.error('Failed to handle ad click:', err);
|
|
104
|
-
}
|
|
187
|
+
if (!adData || !adData.seatBid.length || !bidId || !campaignId) return;
|
|
188
|
+
try {
|
|
189
|
+
Adgeist.trackClick(campaignId, adSpaceId, publisherId, apiKey, bidId, isTestEnvironment);
|
|
190
|
+
await Linking.openURL(normalizeUrl(creativeData.ctaUrl));
|
|
191
|
+
} catch (err) {
|
|
192
|
+
console.error('Failed to handle ad click:', err);
|
|
105
193
|
}
|
|
106
|
-
}, [adData,
|
|
194
|
+
}, [adData, bidId, campaignId, adSpaceId, publisherId, apiKey, isTestEnvironment, creativeData]);
|
|
107
195
|
useEffect(() => {
|
|
196
|
+
renderStartTime.current = Date.now();
|
|
197
|
+
lastCheckTime.current = Date.now();
|
|
108
198
|
fetchAd();
|
|
109
199
|
}, [fetchAd]);
|
|
200
|
+
useEffect(() => {
|
|
201
|
+
if (!hasImpression) return;
|
|
202
|
+
if (dataSlotType === 'banner' && hasView) return;
|
|
203
|
+
const intervalId = setInterval(checkVisibility, 200);
|
|
204
|
+
return () => {
|
|
205
|
+
clearInterval(intervalId);
|
|
206
|
+
};
|
|
207
|
+
}, [hasImpression, checkVisibility, dataSlotType, hasView]);
|
|
110
208
|
if (isLoading) {
|
|
111
209
|
return /*#__PURE__*/_jsx(View, {
|
|
112
210
|
style: [styles.loadingOverlayContainer, !isResponsive && {
|
|
@@ -128,41 +226,69 @@ export const BannerAd = ({
|
|
|
128
226
|
height: '100%'
|
|
129
227
|
},
|
|
130
228
|
children: /*#__PURE__*/_jsxs(View, {
|
|
229
|
+
ref: adRef,
|
|
131
230
|
style: [styles.adContainer, !isResponsive && {
|
|
132
231
|
width: width,
|
|
133
232
|
height: height
|
|
134
233
|
}],
|
|
135
|
-
children: [dataSlotType === 'banner' ? /*#__PURE__*/_jsx(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
},
|
|
140
|
-
accessibilityLabel: "Ad Creative",
|
|
141
|
-
resizeMode: "contain",
|
|
142
|
-
onError: e => console.error('Image load error:', e.nativeEvent.error)
|
|
143
|
-
}) : /*#__PURE__*/_jsxs(View, {
|
|
144
|
-
style: styles.videoCreative,
|
|
145
|
-
children: [/*#__PURE__*/_jsx(Video, {
|
|
234
|
+
children: [dataSlotType === 'banner' ? /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
235
|
+
onPress: handleClick,
|
|
236
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
237
|
+
style: styles.creative,
|
|
146
238
|
source: {
|
|
147
239
|
uri: creativeData.creativeUrl
|
|
148
240
|
},
|
|
241
|
+
accessibilityLabel: "Ad Creative",
|
|
149
242
|
resizeMode: "contain",
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
243
|
+
onLoad: trackImpressionOnMediaLoad,
|
|
244
|
+
onError: e => {
|
|
245
|
+
console.error('Image load error:', e.nativeEvent.error);
|
|
246
|
+
setError(new Error('Failed to load ad image'));
|
|
247
|
+
}
|
|
248
|
+
})
|
|
249
|
+
}) : /*#__PURE__*/_jsxs(View, {
|
|
250
|
+
style: styles.videoCreative,
|
|
251
|
+
children: [/*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
252
|
+
onPress: handleClick,
|
|
253
|
+
children: /*#__PURE__*/_jsx(Video, {
|
|
254
|
+
ref: videoRef,
|
|
161
255
|
source: {
|
|
162
|
-
uri:
|
|
256
|
+
uri: creativeData.creativeUrl
|
|
257
|
+
},
|
|
258
|
+
resizeMode: "contain",
|
|
259
|
+
style: {
|
|
260
|
+
width: '100%',
|
|
261
|
+
height: '100%'
|
|
163
262
|
},
|
|
164
|
-
|
|
263
|
+
repeat: true,
|
|
264
|
+
muted: isMuted,
|
|
265
|
+
paused: isPaused,
|
|
266
|
+
onLoad: trackImpressionOnMediaLoad,
|
|
267
|
+
onError: () => {
|
|
268
|
+
setError(new Error('Failed to load ad video'));
|
|
269
|
+
}
|
|
165
270
|
})
|
|
271
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
272
|
+
style: styles.videoControls,
|
|
273
|
+
children: [/*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
274
|
+
onPress: togglePlayPause,
|
|
275
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
276
|
+
style: styles.playPauseIcon,
|
|
277
|
+
source: {
|
|
278
|
+
uri: isPaused ? 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Play.png' : 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Pause.png'
|
|
279
|
+
},
|
|
280
|
+
accessibilityLabel: isPaused ? 'Paused video' : 'Playing video'
|
|
281
|
+
})
|
|
282
|
+
}), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
283
|
+
onPress: () => setIsMuted(!isMuted),
|
|
284
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
285
|
+
style: styles.soundIcon,
|
|
286
|
+
source: {
|
|
287
|
+
uri: isMuted ? 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Muted.png' : 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Unmuted.png'
|
|
288
|
+
},
|
|
289
|
+
accessibilityLabel: isMuted ? 'Unmute video' : 'Mute video'
|
|
290
|
+
})
|
|
291
|
+
})]
|
|
166
292
|
})]
|
|
167
293
|
}), /*#__PURE__*/_jsxs(View, {
|
|
168
294
|
style: styles.adContent,
|
|
@@ -178,18 +304,18 @@ export const BannerAd = ({
|
|
|
178
304
|
numberOfLines: 1,
|
|
179
305
|
ellipsizeMode: "tail",
|
|
180
306
|
children: creativeData.creativeDescription
|
|
181
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
307
|
+
}), creativeData?.creativeBrandName && /*#__PURE__*/_jsx(Text, {
|
|
182
308
|
style: styles.brandName,
|
|
183
309
|
numberOfLines: 1,
|
|
184
310
|
ellipsizeMode: "tail",
|
|
185
|
-
children: creativeData?.creativeBrandName || 'Brand Name'
|
|
311
|
+
children: creativeData?.creativeBrandName || 'The Brand Name'
|
|
186
312
|
})]
|
|
187
313
|
}), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
188
314
|
onPress: handleClick,
|
|
189
315
|
children: /*#__PURE__*/_jsx(Image, {
|
|
190
316
|
style: styles.linkButton,
|
|
191
317
|
source: {
|
|
192
|
-
uri: 'https://d2cfeg6k9cklz9.cloudfront.net/
|
|
318
|
+
uri: 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Button.png'
|
|
193
319
|
},
|
|
194
320
|
accessibilityLabel: "Visit Advertiser Site"
|
|
195
321
|
})
|
|
@@ -220,6 +346,14 @@ const styles = StyleSheet.create({
|
|
|
220
346
|
width: '100%',
|
|
221
347
|
height: '70%'
|
|
222
348
|
},
|
|
349
|
+
videoControls: {},
|
|
350
|
+
playPauseIcon: {
|
|
351
|
+
position: 'absolute',
|
|
352
|
+
bottom: 8,
|
|
353
|
+
left: 10,
|
|
354
|
+
width: 30,
|
|
355
|
+
height: 30
|
|
356
|
+
},
|
|
223
357
|
soundIcon: {
|
|
224
358
|
position: 'absolute',
|
|
225
359
|
bottom: 10,
|
|
@@ -234,32 +368,36 @@ const styles = StyleSheet.create({
|
|
|
234
368
|
flexDirection: 'row',
|
|
235
369
|
justifyContent: 'space-between',
|
|
236
370
|
paddingVertical: 10,
|
|
237
|
-
|
|
371
|
+
paddingRight: 10,
|
|
372
|
+
paddingLeft: 20,
|
|
238
373
|
alignItems: 'center',
|
|
239
374
|
borderBottomLeftRadius: 5,
|
|
240
375
|
borderBottomRightRadius: 5
|
|
241
376
|
},
|
|
242
377
|
contentContainer: {
|
|
243
|
-
|
|
378
|
+
flex: 1,
|
|
379
|
+
marginRight: 10
|
|
244
380
|
},
|
|
245
381
|
title: {
|
|
246
382
|
color: '#1A1A1A',
|
|
247
|
-
fontSize:
|
|
383
|
+
fontSize: 16,
|
|
248
384
|
fontWeight: '600'
|
|
249
385
|
},
|
|
250
386
|
description: {
|
|
251
387
|
color: '#4A4A4A',
|
|
252
|
-
fontSize:
|
|
388
|
+
fontSize: 15,
|
|
253
389
|
marginBottom: 4
|
|
254
390
|
},
|
|
255
391
|
brandName: {
|
|
256
392
|
color: '#6B7280',
|
|
257
393
|
fontSize: 14,
|
|
258
|
-
textTransform: '
|
|
394
|
+
textTransform: 'capitalize',
|
|
395
|
+
opacity: 0.8
|
|
259
396
|
},
|
|
260
397
|
linkButton: {
|
|
261
|
-
width:
|
|
262
|
-
height: 40
|
|
398
|
+
width: 80,
|
|
399
|
+
height: 40,
|
|
400
|
+
objectFit: 'contain'
|
|
263
401
|
}
|
|
264
402
|
});
|
|
265
403
|
//# sourceMappingURL=BannerAd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useState","Image","Linking","StyleSheet","Text","View","TouchableWithoutFeedback","ActivityIndicator","Video","Adgeist","useAdgeistContext","jsx","_jsx","jsxs","_jsxs","BannerAd","dataAdSlot","dataSlotType","width","height","isResponsive","onAdLoadError","onAdLoadSuccess","adData","setAdData","isMuted","setIsMuted","error","setError","isLoading","setIsLoading","isInitialized","publisherId","apiKey","domain","isTestEnvironment","creativeData","seatBid","bid","ext","fetchAd","response","fetchCreative","creative","data","err","Error","console","handleClick","length","bidId","id","sendCreativeAnalytic","openURL","ctaUrl","style","styles","loadingOverlayContainer","children","size","color","creativeUrl","accessible","accessibilityLabel","adContainer","source","uri","resizeMode","onError","e","nativeEvent","videoCreative","repeat","muted","onPress","soundIcon","adContent","contentContainer","title","numberOfLines","ellipsizeMode","creativeTitle","description","creativeDescription","brandName","creativeBrandName","linkButton","create","backgroundColor","borderRadius","alignItems","justifyContent","borderTopLeftRadius","borderTopRightRadius","position","bottom","right","flexDirection","paddingVertical","paddingHorizontal","borderBottomLeftRadius","borderBottomRightRadius","fontSize","fontWeight","marginBottom","textTransform"],"sourceRoot":"../../../src","sources":["components/BannerAd.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useState","useRef","Image","Linking","StyleSheet","Text","View","TouchableWithoutFeedback","ActivityIndicator","Dimensions","Video","Adgeist","useAdgeistContext","normalizeUrl","jsx","_jsx","jsxs","_jsxs","BannerAd","dataAdSlot","dataSlotType","width","height","isResponsive","onAdLoadError","onAdLoadSuccess","adData","setAdData","isMuted","setIsMuted","error","setError","isLoading","setIsLoading","hasImpression","setHasImpression","hasView","setHasView","isPaused","setIsPaused","isManuallyControlled","setIsManuallyControlled","renderStartTime","Date","now","adRef","visibilityStartTime","timeToVisible","viewTime","lastCheckTime","currentVisibilityRatio","videoRef","isInitialized","publisherId","apiKey","domain","isTestEnvironment","creativeData","seatBid","bid","ext","bidId","id","campaignId","adSpaceId","fetchAd","response","fetchCreative","creative","data","err","Error","trackImpressionOnMediaLoad","renderTime","current","trackImpression","console","trackView","currentViewTime","currentTimeToVisible","visibility","togglePlayPause","prev","checkVisibility","measure","_x","_y","_width","_pageX","pageY","window","get","windowHeight","adTop","adBottom","windowTop","windowBottom","visibleTop","Math","max","visibleBottom","min","visibleHeight","visibilityRatio","currentTime","deltaTime","handleClick","length","trackClick","openURL","ctaUrl","intervalId","setInterval","clearInterval","style","styles","loadingOverlayContainer","children","size","color","creativeUrl","accessible","accessibilityLabel","ref","adContainer","onPress","source","uri","resizeMode","onLoad","onError","e","nativeEvent","videoCreative","repeat","muted","paused","videoControls","playPauseIcon","soundIcon","adContent","contentContainer","title","numberOfLines","ellipsizeMode","creativeTitle","description","creativeDescription","creativeBrandName","brandName","linkButton","create","backgroundColor","borderRadius","alignItems","justifyContent","borderTopLeftRadius","borderTopRightRadius","position","bottom","left","right","flexDirection","paddingVertical","paddingRight","paddingLeft","borderBottomLeftRadius","borderBottomRightRadius","flex","marginRight","fontSize","fontWeight","marginBottom","textTransform","opacity","objectFit"],"sourceRoot":"../../../src","sources":["components/BannerAd.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes a URL to ensure it has a valid protocol
|
|
5
|
+
*/
|
|
6
|
+
export const normalizeUrl = url => {
|
|
7
|
+
if (!url) return url;
|
|
8
|
+
if (url.startsWith('www.')) {
|
|
9
|
+
return `https://${url}`;
|
|
10
|
+
}
|
|
11
|
+
if (!url.match(/^[a-zA-Z]+:\/\//)) {
|
|
12
|
+
return `https://${url}`;
|
|
13
|
+
}
|
|
14
|
+
return url;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeUrl","url","startsWith","match"],"sourceRoot":"../../src","sources":["utilities.ts"],"mappings":";;AAAA;AACA;AACA;AACA,OAAO,MAAMA,YAAY,GAAIC,GAAW,IAAK;EAC3C,IAAI,CAACA,GAAG,EAAE,OAAOA,GAAG;EACpB,IAAIA,GAAG,CAACC,UAAU,CAAC,MAAM,CAAC,EAAE;IAC1B,OAAO,WAAWD,GAAG,EAAE;EACzB;EACA,IAAI,CAACA,GAAG,CAACE,KAAK,CAAC,iBAAiB,CAAC,EAAE;IACjC,OAAO,WAAWF,GAAG,EAAE;EACzB;EACA,OAAOA,GAAG;AACZ,CAAC","ignoreList":[]}
|
|
@@ -12,11 +12,16 @@ export interface Event {
|
|
|
12
12
|
export interface Spec extends TurboModule {
|
|
13
13
|
initializeSdk(customDomain: string): Promise<boolean>;
|
|
14
14
|
fetchCreative(apiKey: string, origin: string, adSpaceId: string, publisherId: string, isTestEnvironment: boolean): Promise<Object>;
|
|
15
|
-
sendCreativeAnalytic(campaignId: string, adSpaceId: string, publisherId: string, eventType: string, origin: string, apiKey: string, bidId: string, isTestEnvironment: boolean): Promise<Object>;
|
|
16
15
|
setUserDetails(user: Object): void;
|
|
17
16
|
logEvent(event: Object): void;
|
|
18
17
|
getConsentStatus(): Promise<boolean>;
|
|
19
18
|
updateConsentStatus(consent: boolean): void;
|
|
19
|
+
trackImpression(campaignId: string, adSpaceId: string, publisherId: string, apiKey: string, bidId: string, isTestEnvironment: boolean, renderTime: number): Promise<string>;
|
|
20
|
+
trackView(campaignId: string, adSpaceId: string, publisherId: string, apiKey: string, bidId: string, isTestEnvironment: boolean, viewTime: number, visibilityRatio: number, scrollDepth: number, timeToVisible: number): Promise<string>;
|
|
21
|
+
trackTotalView(campaignId: string, adSpaceId: string, publisherId: string, apiKey: string, bidId: string, isTestEnvironment: boolean, totalViewTime: number, visibilityRatio: number): Promise<string>;
|
|
22
|
+
trackClick(campaignId: string, adSpaceId: string, publisherId: string, apiKey: string, bidId: string, isTestEnvironment: boolean): Promise<string>;
|
|
23
|
+
trackVideoPlayback(campaignId: string, adSpaceId: string, publisherId: string, apiKey: string, bidId: string, isTestEnvironment: boolean, totalPlaybackTime: number): Promise<string>;
|
|
24
|
+
trackVideoQuartile(campaignId: string, adSpaceId: string, publisherId: string, apiKey: string, bidId: string, isTestEnvironment: boolean, quartile: string): Promise<string>;
|
|
20
25
|
}
|
|
21
26
|
declare const _default: Spec;
|
|
22
27
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeAdgeist.d.ts","sourceRoot":"","sources":["../../../src/NativeAdgeist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,
|
|
1
|
+
{"version":3,"file":"NativeAdgeist.d.ts","sourceRoot":"","sources":["../../../src/NativeAdgeist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5C,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,UAAU,CACR,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;;AAED,wBAAiE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerAd.d.ts","sourceRoot":"","sources":["../../../../src/components/BannerAd.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"BannerAd.d.ts","sourceRoot":"","sources":["../../../../src/components/BannerAd.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAgBxE;;GAEG;AACH,UAAU,MAAM;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,EAAE,CAAC;CACZ;AAED;;GAEG;AACH,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,YAAY,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IAChD,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,mCAAmC;IACnC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgZ5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../src/utilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,WASvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thealteroffice/react-native-adgeist",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"description": "Publishers can integrate our SDK to connect their ad spaces to the AdGeist marketplace.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"module": "./lib/module/index.js",
|
|
@@ -143,6 +143,7 @@
|
|
|
143
143
|
"source": "src",
|
|
144
144
|
"output": "lib",
|
|
145
145
|
"targets": [
|
|
146
|
+
"codegen",
|
|
146
147
|
[
|
|
147
148
|
"module",
|
|
148
149
|
{
|
|
@@ -161,9 +162,14 @@
|
|
|
161
162
|
"name": "RNAdgeistSpec",
|
|
162
163
|
"type": "modules",
|
|
163
164
|
"jsSrcsDir": "src",
|
|
165
|
+
"outputDir": {
|
|
166
|
+
"ios": "ios/generated",
|
|
167
|
+
"android": "android/generated"
|
|
168
|
+
},
|
|
164
169
|
"android": {
|
|
165
170
|
"javaPackageName": "com.adgeist"
|
|
166
|
-
}
|
|
171
|
+
},
|
|
172
|
+
"includesGeneratedCode": true
|
|
167
173
|
},
|
|
168
174
|
"create-react-native-library": {
|
|
169
175
|
"type": "turbo-module",
|