@vynix-org/react-native-ads-sdk 0.2.3 → 0.2.4
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/lib/module/components/NativeAdComponent.js +2 -6
- package/lib/module/components/NativeAdComponent.js.map +1 -1
- package/lib/module/hook/useNativeAd.js +28 -1
- package/lib/module/hook/useNativeAd.js.map +1 -1
- package/lib/typescript/src/components/NativeAdComponent.d.ts.map +1 -1
- package/lib/typescript/src/hook/useNativeAd.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/NativeAdComponent.tsx +10 -14
- package/src/hook/useNativeAd.ts +28 -1
|
@@ -27,8 +27,7 @@ export const NativeAdComponent = ({
|
|
|
27
27
|
isLoading,
|
|
28
28
|
error,
|
|
29
29
|
isLoaded,
|
|
30
|
-
isRefreshing
|
|
31
|
-
refreshAd
|
|
30
|
+
isRefreshing
|
|
32
31
|
} = useNativeAd({
|
|
33
32
|
adKey,
|
|
34
33
|
adId,
|
|
@@ -36,10 +35,7 @@ export const NativeAdComponent = ({
|
|
|
36
35
|
onLoad,
|
|
37
36
|
onDisplay,
|
|
38
37
|
onError,
|
|
39
|
-
onClicked
|
|
40
|
-
refreshAd();
|
|
41
|
-
onClicked?.(ads);
|
|
42
|
-
},
|
|
38
|
+
onClicked,
|
|
43
39
|
onImpression
|
|
44
40
|
});
|
|
45
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","ActivityIndicator","NativeAdView","NativeAsset","NativeMediaView","NativeAssetType","useNativeAd","styles","Image","jsx","_jsx","jsxs","_jsxs","NativeAdComponent","adKey","adId","autoLoad","style","onLoad","onDisplay","onError","onClicked","onImpression","buttonActionStyles","adBadgeStyles","headlineStyles","bodyStyles","ad","isLoading","error","isLoaded","isRefreshing","
|
|
1
|
+
{"version":3,"names":["React","View","Text","ActivityIndicator","NativeAdView","NativeAsset","NativeMediaView","NativeAssetType","useNativeAd","styles","Image","jsx","_jsx","jsxs","_jsxs","NativeAdComponent","adKey","adId","autoLoad","style","onLoad","onDisplay","onError","onClicked","onImpression","buttonActionStyles","adBadgeStyles","headlineStyles","bodyStyles","ad","isLoading","error","isLoaded","isRefreshing","hasNativeAd","Boolean","data","nativeAd","shouldShowSkeleton","wrapper","children","container","centerContent","size","color","loadingText","overlayContainer","adHeader","callToAction","assetType","CALL_TO_ACTION","ctaButton","ctaText","images","length","mediaContent","mediaView","aspectRatio","contentContainer","icon","ICON","iconContainer","source","uri","url","contentBody","vHeader","adBadge","headline","HEADLINE","numberOfLines","body","BODY","bodyText","responseId","refreshOverlay","refreshText"],"sourceRoot":"../../../src","sources":["components/NativeAdComponent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { useEffect, useCallback } from 'react';
|
|
|
4
4
|
import { useNativeAdStore } from "../stores/native-ads-store.js";
|
|
5
5
|
import { AdStatus } from "../types/ads-types.js";
|
|
6
6
|
import { nativeAdsManager } from "../ads-manager/NativeAdsManager.js";
|
|
7
|
+
// import { AppState, type AppStateStatus } from 'react-native';
|
|
7
8
|
|
|
8
9
|
// Merge AdConfig với UseNativeAdOptions
|
|
9
10
|
|
|
@@ -75,6 +76,31 @@ export const useNativeAd = config => {
|
|
|
75
76
|
await refreshAd(adKey);
|
|
76
77
|
}, [adKey, refreshAd]);
|
|
77
78
|
|
|
79
|
+
// const appStateRef = useRef(AppState.currentState);
|
|
80
|
+
|
|
81
|
+
// useEffect(() => {
|
|
82
|
+
// if (!ad) return; // Chỉ refresh nếu đã có ad
|
|
83
|
+
|
|
84
|
+
// const subscription = AppState.addEventListener(
|
|
85
|
+
// 'change',
|
|
86
|
+
// async (nextAppState: AppStateStatus) => {
|
|
87
|
+
// // Khi app chuyển từ background/inactive sang active
|
|
88
|
+
// if (
|
|
89
|
+
// appStateRef.current?.match(/inactive|background/) &&
|
|
90
|
+
// nextAppState === 'active'
|
|
91
|
+
// ) {
|
|
92
|
+
// await handleRefreshAd();
|
|
93
|
+
// }
|
|
94
|
+
|
|
95
|
+
// appStateRef.current = nextAppState;
|
|
96
|
+
// }
|
|
97
|
+
// );
|
|
98
|
+
|
|
99
|
+
// return () => {
|
|
100
|
+
// subscription.remove();
|
|
101
|
+
// };
|
|
102
|
+
// }, [ad, handleRefreshAd]);
|
|
103
|
+
|
|
78
104
|
// Auto load effect
|
|
79
105
|
useEffect(() => {
|
|
80
106
|
if (autoLoad && !ad) {
|
|
@@ -104,6 +130,7 @@ export const useNativeAd = config => {
|
|
|
104
130
|
if (!ad || !onClicked) return;
|
|
105
131
|
const handleClick = data => {
|
|
106
132
|
if (data.adKey === ad.adKey) {
|
|
133
|
+
handleRefreshAd();
|
|
107
134
|
onClicked(ad);
|
|
108
135
|
}
|
|
109
136
|
};
|
|
@@ -111,7 +138,7 @@ export const useNativeAd = config => {
|
|
|
111
138
|
return () => {
|
|
112
139
|
nativeAdsManager.off('adClicked', handleClick);
|
|
113
140
|
};
|
|
114
|
-
}, [ad, onClicked]);
|
|
141
|
+
}, [ad, onClicked, handleRefreshAd]);
|
|
115
142
|
|
|
116
143
|
// Impression event listener
|
|
117
144
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useCallback","useNativeAdStore","AdStatus","nativeAdsManager","useNativeAd","config","adKey","adId","timeout","maxRetries","adHighpriorityId","autoLoad","onLoad","onDisplay","onError","onClicked","onImpression","ad","state","getAd","isLoading","error","getError","isUsingHighPriority","hasTriedHighPriority","isRefreshing","preloadAd","loadAd","displayAd","removeAd","refreshAd","handleLoadAd","customConfig","finalConfig","handlePreloadAd","handleDisplayAd","displayedAd","handleRemoveAd","handleRefreshAd","status","LOADED","DISPLAYED","ERROR","handleClick","data","on","off","handleImpression","IDLE","isLoaded","isDisplayed","hasError"],"sourceRoot":"../../../src","sources":["hook/useNativeAd.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,WAAW,QAAQ,OAAO;AAC9C,SAASC,gBAAgB,QAAQ,+BAA4B;AAC7D,SACEC,QAAQ,QAGH,uBAAoB;AAC3B,SAASC,gBAAgB,QAAQ,oCAAiC;;
|
|
1
|
+
{"version":3,"names":["useEffect","useCallback","useNativeAdStore","AdStatus","nativeAdsManager","useNativeAd","config","adKey","adId","timeout","maxRetries","adHighpriorityId","autoLoad","onLoad","onDisplay","onError","onClicked","onImpression","ad","state","getAd","isLoading","error","getError","isUsingHighPriority","hasTriedHighPriority","isRefreshing","preloadAd","loadAd","displayAd","removeAd","refreshAd","handleLoadAd","customConfig","finalConfig","handlePreloadAd","handleDisplayAd","displayedAd","handleRemoveAd","handleRefreshAd","status","LOADED","DISPLAYED","ERROR","handleClick","data","on","off","handleImpression","IDLE","isLoaded","isDisplayed","hasError"],"sourceRoot":"../../../src","sources":["hook/useNativeAd.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeAdComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/NativeAdComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IAClD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"NativeAdComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/NativeAdComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IAClD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0I9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNativeAd.d.ts","sourceRoot":"","sources":["../../../../src/hook/useNativeAd.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useNativeAd.d.ts","sourceRoot":"","sources":["../../../../src/hook/useNativeAd.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAK5B,KAAK,iBAAiB,GAAG,QAAQ,GAAG,kBAAkB,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,QAAQ,iBAAiB;;;;;;;;;;;4BAqC3B,OAAO,CAAC,QAAQ,CAAC;+BAejB,OAAO,CAAC,QAAQ,CAAC;;;;CAwI1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -52,20 +52,16 @@ export const NativeAdComponent: React.FC<NativeAdComponentProps> = ({
|
|
|
52
52
|
headlineStyles,
|
|
53
53
|
bodyStyles,
|
|
54
54
|
}) => {
|
|
55
|
-
const { ad, isLoading, error, isLoaded, isRefreshing
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
onClicked?.(ads);
|
|
66
|
-
},
|
|
67
|
-
onImpression,
|
|
68
|
-
});
|
|
55
|
+
const { ad, isLoading, error, isLoaded, isRefreshing } = useNativeAd({
|
|
56
|
+
adKey,
|
|
57
|
+
adId,
|
|
58
|
+
autoLoad,
|
|
59
|
+
onLoad,
|
|
60
|
+
onDisplay,
|
|
61
|
+
onError,
|
|
62
|
+
onClicked,
|
|
63
|
+
onImpression,
|
|
64
|
+
});
|
|
69
65
|
|
|
70
66
|
// useEffect(() => {
|
|
71
67
|
// loadAd();
|
package/src/hook/useNativeAd.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type AdConfig,
|
|
7
7
|
} from '../types/ads-types';
|
|
8
8
|
import { nativeAdsManager } from '../ads-manager/NativeAdsManager';
|
|
9
|
+
// import { AppState, type AppStateStatus } from 'react-native';
|
|
9
10
|
|
|
10
11
|
// Merge AdConfig với UseNativeAdOptions
|
|
11
12
|
type UseNativeAdConfig = AdConfig & UseNativeAdOptions;
|
|
@@ -92,6 +93,31 @@ export const useNativeAd = (config: UseNativeAdConfig) => {
|
|
|
92
93
|
await refreshAd(adKey);
|
|
93
94
|
}, [adKey, refreshAd]);
|
|
94
95
|
|
|
96
|
+
// const appStateRef = useRef(AppState.currentState);
|
|
97
|
+
|
|
98
|
+
// useEffect(() => {
|
|
99
|
+
// if (!ad) return; // Chỉ refresh nếu đã có ad
|
|
100
|
+
|
|
101
|
+
// const subscription = AppState.addEventListener(
|
|
102
|
+
// 'change',
|
|
103
|
+
// async (nextAppState: AppStateStatus) => {
|
|
104
|
+
// // Khi app chuyển từ background/inactive sang active
|
|
105
|
+
// if (
|
|
106
|
+
// appStateRef.current?.match(/inactive|background/) &&
|
|
107
|
+
// nextAppState === 'active'
|
|
108
|
+
// ) {
|
|
109
|
+
// await handleRefreshAd();
|
|
110
|
+
// }
|
|
111
|
+
|
|
112
|
+
// appStateRef.current = nextAppState;
|
|
113
|
+
// }
|
|
114
|
+
// );
|
|
115
|
+
|
|
116
|
+
// return () => {
|
|
117
|
+
// subscription.remove();
|
|
118
|
+
// };
|
|
119
|
+
// }, [ad, handleRefreshAd]);
|
|
120
|
+
|
|
95
121
|
// Auto load effect
|
|
96
122
|
useEffect(() => {
|
|
97
123
|
if (autoLoad && !ad) {
|
|
@@ -124,6 +150,7 @@ export const useNativeAd = (config: UseNativeAdConfig) => {
|
|
|
124
150
|
|
|
125
151
|
const handleClick = (data: { adKey?: string; adId?: string }) => {
|
|
126
152
|
if (data.adKey === ad.adKey) {
|
|
153
|
+
handleRefreshAd();
|
|
127
154
|
onClicked(ad);
|
|
128
155
|
}
|
|
129
156
|
};
|
|
@@ -133,7 +160,7 @@ export const useNativeAd = (config: UseNativeAdConfig) => {
|
|
|
133
160
|
return () => {
|
|
134
161
|
nativeAdsManager.off('adClicked', handleClick);
|
|
135
162
|
};
|
|
136
|
-
}, [ad, onClicked]);
|
|
163
|
+
}, [ad, onClicked, handleRefreshAd]);
|
|
137
164
|
|
|
138
165
|
// Impression event listener
|
|
139
166
|
useEffect(() => {
|