@thealteroffice/react-native-adgeist 0.0.15 → 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 -46
- 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,50 +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
|
-
if (creative.data.seatBid.length > 0) {
|
|
70
|
-
await Adgeist.sendCreativeAnalytic(creative.data.seatBid?.[0]?.bid?.[0]?.id || '', dataAdSlot, publisherId, 'IMPRESSION', domain, apiKey, creative.data.id, isTestEnvironment);
|
|
71
|
-
}
|
|
72
86
|
} catch (err) {
|
|
73
87
|
const error = err instanceof Error ? err : new Error('Ad load failed');
|
|
74
88
|
setError(error);
|
|
89
|
+
setHasImpression(false);
|
|
90
|
+
setHasView(false);
|
|
75
91
|
onAdLoadError?.(error);
|
|
76
|
-
console.error('Ad load failed:', error);
|
|
77
92
|
} finally {
|
|
78
93
|
setIsLoading(false);
|
|
79
94
|
}
|
|
80
95
|
}, [isInitialized, publisherId, dataAdSlot, apiKey, domain, isTestEnvironment, onAdLoadError, onAdLoadSuccess]);
|
|
81
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
|
+
|
|
82
175
|
/**
|
|
83
176
|
* Handles ad click and sends click analytics
|
|
84
177
|
*/
|
|
85
178
|
const handleClick = useCallback(async () => {
|
|
86
|
-
if (adData
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
} catch (err) {
|
|
93
|
-
console.error('Failed to handle ad click:', err);
|
|
94
|
-
}
|
|
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);
|
|
95
185
|
}
|
|
96
|
-
}, [adData,
|
|
186
|
+
}, [adData, bidId, campaignId, adSpaceId, publisherId, apiKey, isTestEnvironment, creativeData]);
|
|
97
187
|
useEffect(() => {
|
|
188
|
+
renderStartTime.current = Date.now();
|
|
189
|
+
lastCheckTime.current = Date.now();
|
|
98
190
|
fetchAd();
|
|
99
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]);
|
|
100
199
|
if (isLoading) {
|
|
101
200
|
return /*#__PURE__*/_jsx(View, {
|
|
102
201
|
style: [styles.loadingOverlayContainer, !isResponsive && {
|
|
@@ -118,32 +217,47 @@ export const BannerAd = ({
|
|
|
118
217
|
height: '100%'
|
|
119
218
|
},
|
|
120
219
|
children: /*#__PURE__*/_jsxs(View, {
|
|
220
|
+
ref: adRef,
|
|
121
221
|
style: [styles.adContainer, !isResponsive && {
|
|
122
222
|
width: width,
|
|
123
223
|
height: height
|
|
124
224
|
}],
|
|
125
|
-
children: [dataSlotType === 'banner' ? /*#__PURE__*/_jsx(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
},
|
|
130
|
-
accessibilityLabel: "Ad Creative",
|
|
131
|
-
resizeMode: "contain",
|
|
132
|
-
onError: e => console.error('Image load error:', e.nativeEvent.error)
|
|
133
|
-
}) : /*#__PURE__*/_jsxs(View, {
|
|
134
|
-
style: styles.videoCreative,
|
|
135
|
-
children: [/*#__PURE__*/_jsx(Video, {
|
|
225
|
+
children: [dataSlotType === 'banner' ? /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
226
|
+
onPress: handleClick,
|
|
227
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
228
|
+
style: styles.creative,
|
|
136
229
|
source: {
|
|
137
230
|
uri: creativeData.creativeUrl
|
|
138
231
|
},
|
|
232
|
+
accessibilityLabel: "Ad Creative",
|
|
139
233
|
resizeMode: "contain",
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
+
})
|
|
147
261
|
}), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
148
262
|
onPress: () => setIsMuted(!isMuted),
|
|
149
263
|
children: /*#__PURE__*/_jsx(Image, {
|
|
@@ -172,14 +286,14 @@ export const BannerAd = ({
|
|
|
172
286
|
style: styles.brandName,
|
|
173
287
|
numberOfLines: 1,
|
|
174
288
|
ellipsizeMode: "tail",
|
|
175
|
-
children: creativeData?.creativeBrandName || 'Brand Name'
|
|
289
|
+
children: creativeData?.creativeBrandName || 'The Brand Name'
|
|
176
290
|
})]
|
|
177
291
|
}), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
178
292
|
onPress: handleClick,
|
|
179
293
|
children: /*#__PURE__*/_jsx(Image, {
|
|
180
294
|
style: styles.linkButton,
|
|
181
295
|
source: {
|
|
182
|
-
uri: 'https://d2cfeg6k9cklz9.cloudfront.net/
|
|
296
|
+
uri: 'https://d2cfeg6k9cklz9.cloudfront.net/ad-icons/Button.png'
|
|
183
297
|
},
|
|
184
298
|
accessibilityLabel: "Visit Advertiser Site"
|
|
185
299
|
})
|
|
@@ -224,32 +338,36 @@ const styles = StyleSheet.create({
|
|
|
224
338
|
flexDirection: 'row',
|
|
225
339
|
justifyContent: 'space-between',
|
|
226
340
|
paddingVertical: 10,
|
|
227
|
-
|
|
341
|
+
paddingRight: 10,
|
|
342
|
+
paddingLeft: 20,
|
|
228
343
|
alignItems: 'center',
|
|
229
344
|
borderBottomLeftRadius: 5,
|
|
230
345
|
borderBottomRightRadius: 5
|
|
231
346
|
},
|
|
232
347
|
contentContainer: {
|
|
233
|
-
|
|
348
|
+
flex: 1,
|
|
349
|
+
marginRight: 10
|
|
234
350
|
},
|
|
235
351
|
title: {
|
|
236
352
|
color: '#1A1A1A',
|
|
237
|
-
fontSize:
|
|
353
|
+
fontSize: 16,
|
|
238
354
|
fontWeight: '600'
|
|
239
355
|
},
|
|
240
356
|
description: {
|
|
241
357
|
color: '#4A4A4A',
|
|
242
|
-
fontSize:
|
|
358
|
+
fontSize: 15,
|
|
243
359
|
marginBottom: 4
|
|
244
360
|
},
|
|
245
361
|
brandName: {
|
|
246
362
|
color: '#6B7280',
|
|
247
363
|
fontSize: 14,
|
|
248
|
-
textTransform: '
|
|
364
|
+
textTransform: 'capitalize',
|
|
365
|
+
opacity: 0.8
|
|
249
366
|
},
|
|
250
367
|
linkButton: {
|
|
251
|
-
width:
|
|
252
|
-
height: 40
|
|
368
|
+
width: 80,
|
|
369
|
+
height: 40,
|
|
370
|
+
objectFit: 'contain'
|
|
253
371
|
}
|
|
254
372
|
});
|
|
255
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","length","sendCreativeAnalytic","id","err","Error","console","handleClick","bidId","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');
|