@thealteroffice/react-native-adgeist 0.0.16 → 0.0.17
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 +164 -56
- 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 +1 -1
- package/src/NativeAdgeist.ts +61 -9
- package/src/components/BannerAd.tsx +226 -63
- package/src/utilities.ts +13 -0
|
@@ -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 renderStartTime = useRef(Date.now());
|
|
51
|
+
const adRef = useRef(null);
|
|
52
|
+
const visibilityStartTime = useRef(null);
|
|
53
|
+
const timeToVisible = useRef(null);
|
|
54
|
+
const viewTime = useRef(0);
|
|
55
|
+
const lastCheckTime = useRef(Date.now());
|
|
56
|
+
const currentVisibilityRatio = useRef(0);
|
|
57
|
+
const videoRef = useRef(null);
|
|
58
|
+
const lastPausedTime = useRef(0);
|
|
59
|
+
const isInView = useRef(false);
|
|
48
60
|
const {
|
|
49
61
|
isInitialized,
|
|
50
62
|
publisherId,
|
|
@@ -53,60 +65,137 @@ 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 banner ads when visible for >=1s 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
|
+
* Calculates visibility ratio and updates view metrics
|
|
131
|
+
*/
|
|
132
|
+
const checkVisibility = useCallback(() => {
|
|
133
|
+
if (!adRef.current || !hasImpression) return;
|
|
134
|
+
adRef.current.measure((_x, _y, _width, height, _pageX, pageY) => {
|
|
135
|
+
const window = Dimensions.get('window');
|
|
136
|
+
const windowHeight = window.height;
|
|
137
|
+
const adTop = pageY;
|
|
138
|
+
const adBottom = pageY + height;
|
|
139
|
+
const windowTop = 0;
|
|
140
|
+
const windowBottom = windowHeight;
|
|
141
|
+
const visibleTop = Math.max(adTop, windowTop);
|
|
142
|
+
const visibleBottom = Math.min(adBottom, windowBottom);
|
|
143
|
+
const visibleHeight = Math.max(0, visibleBottom - visibleTop);
|
|
144
|
+
const visibilityRatio = height > 0 ? visibleHeight / height : 0;
|
|
145
|
+
currentVisibilityRatio.current = visibilityRatio;
|
|
146
|
+
const currentTime = Date.now();
|
|
147
|
+
const deltaTime = currentTime - lastCheckTime.current;
|
|
148
|
+
lastCheckTime.current = currentTime;
|
|
149
|
+
if (visibilityRatio >= 0.5 && timeToVisible.current === null) {
|
|
150
|
+
timeToVisible.current = currentTime - renderStartTime.current;
|
|
151
|
+
}
|
|
152
|
+
if (visibilityRatio >= 0.5) {
|
|
153
|
+
viewTime.current += deltaTime;
|
|
154
|
+
if (!visibilityStartTime.current) {
|
|
155
|
+
visibilityStartTime.current = currentTime;
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
visibilityStartTime.current = null;
|
|
159
|
+
}
|
|
160
|
+
if (viewTime.current >= (dataSlotType === 'video' ? 2000 : 1000) && visibilityRatio >= 0.5) {
|
|
161
|
+
trackView();
|
|
162
|
+
}
|
|
163
|
+
if (dataSlotType === 'video' && videoRef.current) {
|
|
164
|
+
if (visibilityRatio >= 0.5) {
|
|
165
|
+
isInView.current = true;
|
|
166
|
+
videoRef.current.seek(lastPausedTime.current || 0);
|
|
167
|
+
} else {
|
|
168
|
+
isInView.current = false;
|
|
169
|
+
lastPausedTime.current = videoRef.current.currentTime || 0;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}, [hasImpression, trackView, dataSlotType]);
|
|
174
|
+
|
|
92
175
|
/**
|
|
93
176
|
* Handles ad click and sends click analytics
|
|
94
177
|
*/
|
|
95
178
|
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
|
-
}
|
|
179
|
+
if (!adData || !adData.seatBid.length || !bidId || !campaignId) return;
|
|
180
|
+
try {
|
|
181
|
+
Adgeist.trackClick(campaignId, adSpaceId, publisherId, apiKey, bidId, isTestEnvironment);
|
|
182
|
+
await Linking.openURL(normalizeUrl(creativeData.ctaUrl));
|
|
183
|
+
} catch (err) {
|
|
184
|
+
console.error('Failed to handle ad click:', err);
|
|
105
185
|
}
|
|
106
|
-
}, [adData,
|
|
186
|
+
}, [adData, bidId, campaignId, adSpaceId, publisherId, apiKey, isTestEnvironment, creativeData]);
|
|
107
187
|
useEffect(() => {
|
|
188
|
+
renderStartTime.current = Date.now();
|
|
189
|
+
lastCheckTime.current = Date.now();
|
|
108
190
|
fetchAd();
|
|
109
191
|
}, [fetchAd]);
|
|
192
|
+
useEffect(() => {
|
|
193
|
+
if (!hasImpression || hasView) return;
|
|
194
|
+
const intervalId = setInterval(checkVisibility, 200);
|
|
195
|
+
return () => {
|
|
196
|
+
clearInterval(intervalId);
|
|
197
|
+
};
|
|
198
|
+
}, [hasImpression, hasView, checkVisibility]);
|
|
110
199
|
if (isLoading) {
|
|
111
200
|
return /*#__PURE__*/_jsx(View, {
|
|
112
201
|
style: [styles.loadingOverlayContainer, !isResponsive && {
|
|
@@ -128,32 +217,47 @@ export const BannerAd = ({
|
|
|
128
217
|
height: '100%'
|
|
129
218
|
},
|
|
130
219
|
children: /*#__PURE__*/_jsxs(View, {
|
|
220
|
+
ref: adRef,
|
|
131
221
|
style: [styles.adContainer, !isResponsive && {
|
|
132
222
|
width: width,
|
|
133
223
|
height: height
|
|
134
224
|
}],
|
|
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, {
|
|
225
|
+
children: [dataSlotType === 'banner' ? /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
226
|
+
onPress: handleClick,
|
|
227
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
228
|
+
style: styles.creative,
|
|
146
229
|
source: {
|
|
147
230
|
uri: creativeData.creativeUrl
|
|
148
231
|
},
|
|
232
|
+
accessibilityLabel: "Ad Creative",
|
|
149
233
|
resizeMode: "contain",
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
234
|
+
onLoad: trackImpressionOnMediaLoad,
|
|
235
|
+
onError: e => {
|
|
236
|
+
console.error('Image load error:', e.nativeEvent.error);
|
|
237
|
+
setError(new Error('Failed to load ad image'));
|
|
238
|
+
}
|
|
239
|
+
})
|
|
240
|
+
}) : /*#__PURE__*/_jsxs(View, {
|
|
241
|
+
style: styles.videoCreative,
|
|
242
|
+
children: [/*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
243
|
+
onPress: handleClick,
|
|
244
|
+
children: /*#__PURE__*/_jsx(Video, {
|
|
245
|
+
ref: videoRef,
|
|
246
|
+
source: {
|
|
247
|
+
uri: creativeData.creativeUrl
|
|
248
|
+
},
|
|
249
|
+
resizeMode: "contain",
|
|
250
|
+
style: {
|
|
251
|
+
width: '100%',
|
|
252
|
+
height: '100%'
|
|
253
|
+
},
|
|
254
|
+
repeat: true,
|
|
255
|
+
muted: isMuted,
|
|
256
|
+
onLoad: trackImpressionOnMediaLoad,
|
|
257
|
+
onError: () => {
|
|
258
|
+
setError(new Error('Failed to load ad video'));
|
|
259
|
+
}
|
|
260
|
+
})
|
|
157
261
|
}), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
158
262
|
onPress: () => setIsMuted(!isMuted),
|
|
159
263
|
children: /*#__PURE__*/_jsx(Image, {
|
|
@@ -182,14 +286,14 @@ export const BannerAd = ({
|
|
|
182
286
|
style: styles.brandName,
|
|
183
287
|
numberOfLines: 1,
|
|
184
288
|
ellipsizeMode: "tail",
|
|
185
|
-
children: creativeData?.creativeBrandName || 'Brand Name'
|
|
289
|
+
children: creativeData?.creativeBrandName || 'The Brand Name'
|
|
186
290
|
})]
|
|
187
291
|
}), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
188
292
|
onPress: handleClick,
|
|
189
293
|
children: /*#__PURE__*/_jsx(Image, {
|
|
190
294
|
style: styles.linkButton,
|
|
191
295
|
source: {
|
|
192
|
-
uri: 'https://d2cfeg6k9cklz9.cloudfront.net/
|
|
296
|
+
uri: 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Button.png'
|
|
193
297
|
},
|
|
194
298
|
accessibilityLabel: "Visit Advertiser Site"
|
|
195
299
|
})
|
|
@@ -234,32 +338,36 @@ const styles = StyleSheet.create({
|
|
|
234
338
|
flexDirection: 'row',
|
|
235
339
|
justifyContent: 'space-between',
|
|
236
340
|
paddingVertical: 10,
|
|
237
|
-
|
|
341
|
+
paddingRight: 10,
|
|
342
|
+
paddingLeft: 20,
|
|
238
343
|
alignItems: 'center',
|
|
239
344
|
borderBottomLeftRadius: 5,
|
|
240
345
|
borderBottomRightRadius: 5
|
|
241
346
|
},
|
|
242
347
|
contentContainer: {
|
|
243
|
-
|
|
348
|
+
flex: 1,
|
|
349
|
+
marginRight: 10
|
|
244
350
|
},
|
|
245
351
|
title: {
|
|
246
352
|
color: '#1A1A1A',
|
|
247
|
-
fontSize:
|
|
353
|
+
fontSize: 16,
|
|
248
354
|
fontWeight: '600'
|
|
249
355
|
},
|
|
250
356
|
description: {
|
|
251
357
|
color: '#4A4A4A',
|
|
252
|
-
fontSize:
|
|
358
|
+
fontSize: 15,
|
|
253
359
|
marginBottom: 4
|
|
254
360
|
},
|
|
255
361
|
brandName: {
|
|
256
362
|
color: '#6B7280',
|
|
257
363
|
fontSize: 14,
|
|
258
|
-
textTransform: '
|
|
364
|
+
textTransform: 'capitalize',
|
|
365
|
+
opacity: 0.8
|
|
259
366
|
},
|
|
260
367
|
linkButton: {
|
|
261
|
-
width:
|
|
262
|
-
height: 40
|
|
368
|
+
width: 80,
|
|
369
|
+
height: 40,
|
|
370
|
+
objectFit: 'contain'
|
|
263
371
|
}
|
|
264
372
|
});
|
|
265
373
|
//# 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","renderStartTime","Date","now","adRef","visibilityStartTime","timeToVisible","viewTime","lastCheckTime","currentVisibilityRatio","videoRef","lastPausedTime","isInView","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","checkVisibility","measure","_x","_y","_width","_pageX","pageY","window","get","windowHeight","adTop","adBottom","windowTop","windowBottom","visibleTop","Math","max","visibleBottom","min","visibleHeight","visibilityRatio","currentTime","deltaTime","seek","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","soundIcon","adContent","contentContainer","title","numberOfLines","ellipsizeMode","creativeTitle","description","creativeDescription","brandName","creativeBrandName","linkButton","create","backgroundColor","borderRadius","alignItems","justifyContent","borderTopLeftRadius","borderTopRightRadius","position","bottom","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,CA6W5C,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.17",
|
|
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",
|
package/src/NativeAdgeist.ts
CHANGED
|
@@ -23,24 +23,76 @@ export interface Spec extends TurboModule {
|
|
|
23
23
|
isTestEnvironment: boolean
|
|
24
24
|
): Promise<Object>;
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
setUserDetails(user: Object): void;
|
|
27
|
+
|
|
28
|
+
logEvent(event: Object): void;
|
|
29
|
+
|
|
30
|
+
getConsentStatus(): Promise<boolean>;
|
|
31
|
+
|
|
32
|
+
updateConsentStatus(consent: boolean): void;
|
|
33
|
+
|
|
34
|
+
trackImpression(
|
|
27
35
|
campaignId: string,
|
|
28
36
|
adSpaceId: string,
|
|
29
37
|
publisherId: string,
|
|
30
|
-
eventType: string,
|
|
31
|
-
origin: string,
|
|
32
38
|
apiKey: string,
|
|
33
39
|
bidId: string,
|
|
34
|
-
isTestEnvironment: boolean
|
|
35
|
-
|
|
40
|
+
isTestEnvironment: boolean,
|
|
41
|
+
renderTime: number
|
|
42
|
+
): Promise<string>;
|
|
36
43
|
|
|
37
|
-
|
|
44
|
+
trackView(
|
|
45
|
+
campaignId: string,
|
|
46
|
+
adSpaceId: string,
|
|
47
|
+
publisherId: string,
|
|
48
|
+
apiKey: string,
|
|
49
|
+
bidId: string,
|
|
50
|
+
isTestEnvironment: boolean,
|
|
51
|
+
viewTime: number,
|
|
52
|
+
visibilityRatio: number,
|
|
53
|
+
scrollDepth: number,
|
|
54
|
+
timeToVisible: number
|
|
55
|
+
): Promise<string>;
|
|
38
56
|
|
|
39
|
-
|
|
57
|
+
trackTotalView(
|
|
58
|
+
campaignId: string,
|
|
59
|
+
adSpaceId: string,
|
|
60
|
+
publisherId: string,
|
|
61
|
+
apiKey: string,
|
|
62
|
+
bidId: string,
|
|
63
|
+
isTestEnvironment: boolean,
|
|
64
|
+
totalViewTime: number,
|
|
65
|
+
visibilityRatio: number
|
|
66
|
+
): Promise<string>;
|
|
40
67
|
|
|
41
|
-
|
|
68
|
+
trackClick(
|
|
69
|
+
campaignId: string,
|
|
70
|
+
adSpaceId: string,
|
|
71
|
+
publisherId: string,
|
|
72
|
+
apiKey: string,
|
|
73
|
+
bidId: string,
|
|
74
|
+
isTestEnvironment: boolean
|
|
75
|
+
): Promise<string>;
|
|
42
76
|
|
|
43
|
-
|
|
77
|
+
trackVideoPlayback(
|
|
78
|
+
campaignId: string,
|
|
79
|
+
adSpaceId: string,
|
|
80
|
+
publisherId: string,
|
|
81
|
+
apiKey: string,
|
|
82
|
+
bidId: string,
|
|
83
|
+
isTestEnvironment: boolean,
|
|
84
|
+
totalPlaybackTime: number
|
|
85
|
+
): Promise<string>;
|
|
86
|
+
|
|
87
|
+
trackVideoQuartile(
|
|
88
|
+
campaignId: string,
|
|
89
|
+
adSpaceId: string,
|
|
90
|
+
publisherId: string,
|
|
91
|
+
apiKey: string,
|
|
92
|
+
bidId: string,
|
|
93
|
+
isTestEnvironment: boolean,
|
|
94
|
+
quartile: string
|
|
95
|
+
): Promise<string>;
|
|
44
96
|
}
|
|
45
97
|
|
|
46
98
|
export default TurboModuleRegistry.getEnforcing<Spec>('Adgeist');
|