@vynix-org/react-native-ads-sdk 0.2.1 → 0.2.2
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/src/main/AndroidManifest.xml +1 -3
- package/lib/module/analytics/AdjustTrackingManager.js +91 -141
- package/lib/module/analytics/AdjustTrackingManager.js.map +1 -1
- package/lib/module/analytics/TrackingManager.js +2 -2
- package/lib/module/analytics/TrackingManager.js.map +1 -1
- package/lib/module/event/config.js +27 -0
- package/lib/module/event/config.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/analytics/AdjustTrackingManager.d.ts +22 -0
- package/lib/typescript/src/analytics/AdjustTrackingManager.d.ts.map +1 -1
- package/lib/typescript/src/event/config.d.ts +11 -0
- package/lib/typescript/src/event/config.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/analytics/AdjustTrackingManager.ts +146 -141
- package/src/analytics/TrackingManager.ts +2 -2
- package/src/event/config.ts +36 -0
- package/src/index.tsx +2 -0
|
@@ -1,143 +1,93 @@
|
|
|
1
|
-
// import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust';
|
|
2
|
-
// import type { EventParams } from './EventTracking';
|
|
3
|
-
|
|
4
|
-
// export type RevenueParams = {
|
|
5
|
-
// adUnitId?: string;
|
|
6
|
-
// adFormat?: string;
|
|
7
|
-
// };
|
|
8
|
-
|
|
9
|
-
// export class AdjustTrackingManager {
|
|
10
|
-
// private static instance: AdjustTrackingManager;
|
|
11
|
-
// private isEnabled = true;
|
|
12
|
-
// private isInitialized = false;
|
|
13
|
-
// private initPromise: Promise<void> | null = null;
|
|
14
|
-
|
|
15
|
-
// private constructor() {}
|
|
16
|
-
|
|
17
|
-
// static getInstance(): AdjustTrackingManager {
|
|
18
|
-
// if (!AdjustTrackingManager.instance) {
|
|
19
|
-
// AdjustTrackingManager.instance = new AdjustTrackingManager();
|
|
20
|
-
// }
|
|
21
|
-
// return AdjustTrackingManager.instance;
|
|
22
|
-
// }
|
|
23
|
-
|
|
24
|
-
// async initialize(
|
|
25
|
-
// appToken: string,
|
|
26
|
-
// environment: 'sandbox' | 'production' = 'production'
|
|
27
|
-
// ): Promise<void> {
|
|
28
|
-
// if (this.isInitialized) {
|
|
29
|
-
// return;
|
|
30
|
-
// }
|
|
31
|
-
|
|
32
|
-
// if (this.initPromise) {
|
|
33
|
-
// return this.initPromise;
|
|
34
|
-
// }
|
|
35
|
-
|
|
36
|
-
// this.initPromise = this.initializeInternal(appToken, environment);
|
|
37
|
-
// return this.initPromise;
|
|
38
|
-
// }
|
|
39
|
-
|
|
40
|
-
// private async initializeInternal(
|
|
41
|
-
// appToken: string,
|
|
42
|
-
// environment: 'sandbox' | 'production'
|
|
43
|
-
// ): Promise<void> {
|
|
44
|
-
// try {
|
|
45
|
-
// const adjustConfig = new AdjustConfig(
|
|
46
|
-
// appToken,
|
|
47
|
-
// environment === 'sandbox'
|
|
48
|
-
// ? AdjustConfig.EnvironmentSandbox
|
|
49
|
-
// : AdjustConfig.EnvironmentProduction
|
|
50
|
-
// );
|
|
51
|
-
|
|
52
|
-
// adjustConfig.setAttributionCallback((attribution) => {
|
|
53
|
-
// console.log('Adjust attribution:', attribution);
|
|
54
|
-
// });
|
|
55
|
-
|
|
56
|
-
// adjustConfig.setEventTrackingSucceededCallback(
|
|
57
|
-
// (eventSuccessResponseData) => {
|
|
58
|
-
// console.log(
|
|
59
|
-
// 'Adjust event tracking succeeded:',
|
|
60
|
-
// eventSuccessResponseData
|
|
61
|
-
// );
|
|
62
|
-
// }
|
|
63
|
-
// );
|
|
64
|
-
|
|
65
|
-
// adjustConfig.setEventTrackingFailedCallback(
|
|
66
|
-
// (eventFailureResponseData) => {
|
|
67
|
-
// console.error(
|
|
68
|
-
// 'Adjust event tracking failed:',
|
|
69
|
-
// eventFailureResponseData
|
|
70
|
-
// );
|
|
71
|
-
// }
|
|
72
|
-
// );
|
|
73
|
-
|
|
74
|
-
// Adjust.initSdk(adjustConfig);
|
|
75
|
-
// this.isInitialized = true;
|
|
76
|
-
// console.log('Adjust Tracking Manager initialized successfully');
|
|
77
|
-
// } catch (error) {
|
|
78
|
-
// console.error('Failed to initialize Adjust Tracking Manager:', error);
|
|
79
|
-
// this.isInitialized = false;
|
|
80
|
-
// this.initPromise = null;
|
|
81
|
-
// }
|
|
82
|
-
// }
|
|
83
|
-
|
|
84
|
-
// isTrackingEnabled(): boolean {
|
|
85
|
-
// return this.isEnabled;
|
|
86
|
-
// }
|
|
87
|
-
|
|
88
|
-
// setTrackingEnabled(enabled: boolean): void {
|
|
89
|
-
// this.isEnabled = enabled;
|
|
90
|
-
// }
|
|
91
|
-
|
|
92
|
-
// async trackRevenue(eventToken: string, params?: EventParams): Promise<void> {
|
|
93
|
-
// if (!this.isEnabled) {
|
|
94
|
-
// console.warn('Adjust revenue tracking is disabled.');
|
|
95
|
-
// return;
|
|
96
|
-
// }
|
|
97
|
-
|
|
98
|
-
// try {
|
|
99
|
-
// await this.ensureInitialized();
|
|
100
|
-
|
|
101
|
-
// const adjustEvent = new AdjustEvent(eventToken);
|
|
102
|
-
// adjustEvent.setRevenue(params?.value ?? 0, params?.currency ?? 'USD');
|
|
103
|
-
|
|
104
|
-
// if (params?.adUnitId) {
|
|
105
|
-
// adjustEvent.addCallbackParameter('ad_unit_id', params.adUnitId);
|
|
106
|
-
// }
|
|
107
|
-
// if (params?.adFormat) {
|
|
108
|
-
// adjustEvent.addCallbackParameter('ad_format', params.adFormat);
|
|
109
|
-
// }
|
|
110
|
-
|
|
111
|
-
// Adjust.trackEvent(adjustEvent);
|
|
112
|
-
// console.log(`Adjust revenue event tracked: ${eventToken}`, {
|
|
113
|
-
// value: params?.value ?? 0,
|
|
114
|
-
// currency: params?.currency ?? 'USD',
|
|
115
|
-
// params,
|
|
116
|
-
// });
|
|
117
|
-
// } catch (error) {
|
|
118
|
-
// console.error(
|
|
119
|
-
// `Failed to track Adjust revenue event ${eventToken}:`,
|
|
120
|
-
// error
|
|
121
|
-
// );
|
|
122
|
-
// }
|
|
123
|
-
// }
|
|
124
|
-
|
|
125
|
-
// private async ensureInitialized(): Promise<void> {
|
|
126
|
-
// if (this.isInitialized) {
|
|
127
|
-
// return;
|
|
128
|
-
// }
|
|
129
|
-
|
|
130
|
-
// if (this.initPromise) {
|
|
131
|
-
// await this.initPromise;
|
|
132
|
-
// return;
|
|
133
|
-
// }
|
|
134
|
-
|
|
135
|
-
// throw new Error(
|
|
136
|
-
// 'Adjust Tracking Manager chưa được khởi tạo. Vui lòng gọi initialize() trước.'
|
|
137
|
-
// );
|
|
138
|
-
// }
|
|
139
|
-
// }
|
|
140
|
-
|
|
141
|
-
// export const adjustTrackingManager = AdjustTrackingManager.getInstance();
|
|
142
1
|
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust';
|
|
4
|
+
export class AdjustTrackingManager {
|
|
5
|
+
isEnabled = true;
|
|
6
|
+
isInitialized = false;
|
|
7
|
+
initPromise = null;
|
|
8
|
+
eventToken = '';
|
|
9
|
+
constructor() {}
|
|
10
|
+
static getInstance() {
|
|
11
|
+
if (!AdjustTrackingManager.instance) {
|
|
12
|
+
AdjustTrackingManager.instance = new AdjustTrackingManager();
|
|
13
|
+
}
|
|
14
|
+
return AdjustTrackingManager.instance;
|
|
15
|
+
}
|
|
16
|
+
async initialize(appToken, environment = 'production') {
|
|
17
|
+
if (this.isInitialized) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (this.initPromise) {
|
|
21
|
+
return this.initPromise;
|
|
22
|
+
}
|
|
23
|
+
this.initPromise = this.initializeInternal(appToken, environment);
|
|
24
|
+
return this.initPromise;
|
|
25
|
+
}
|
|
26
|
+
async initializeInternal(appToken, environment) {
|
|
27
|
+
try {
|
|
28
|
+
const adjustConfig = new AdjustConfig(appToken, environment === 'sandbox' ? AdjustConfig.EnvironmentSandbox : AdjustConfig.EnvironmentProduction);
|
|
29
|
+
adjustConfig.setAttributionCallback(attribution => {
|
|
30
|
+
console.log('Adjust attribution:', attribution);
|
|
31
|
+
});
|
|
32
|
+
adjustConfig.setEventTrackingSucceededCallback(eventSuccessResponseData => {
|
|
33
|
+
console.log('Adjust event tracking succeeded:', eventSuccessResponseData);
|
|
34
|
+
});
|
|
35
|
+
adjustConfig.setEventTrackingFailedCallback(eventFailureResponseData => {
|
|
36
|
+
console.error('Adjust event tracking failed:', eventFailureResponseData);
|
|
37
|
+
});
|
|
38
|
+
Adjust.initSdk(adjustConfig);
|
|
39
|
+
this.isInitialized = true;
|
|
40
|
+
console.log('Adjust Tracking Manager initialized successfully');
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error('Failed to initialize Adjust Tracking Manager:', error);
|
|
43
|
+
this.isInitialized = false;
|
|
44
|
+
this.initPromise = null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
isTrackingEnabled() {
|
|
48
|
+
return this.isEnabled;
|
|
49
|
+
}
|
|
50
|
+
setTrackingEnabled(enabled) {
|
|
51
|
+
this.isEnabled = enabled;
|
|
52
|
+
}
|
|
53
|
+
setEventToken(eventToken) {
|
|
54
|
+
this.eventToken = eventToken;
|
|
55
|
+
}
|
|
56
|
+
async trackRevenue(params) {
|
|
57
|
+
if (!this.isEnabled || !this.eventToken || this.eventToken.length === 0) {
|
|
58
|
+
console.warn('Adjust revenue tracking is disabled.');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
await this.ensureInitialized();
|
|
63
|
+
const adjustEvent = new AdjustEvent(this.eventToken);
|
|
64
|
+
adjustEvent.setRevenue(params?.value ?? 0, params?.currency ?? 'USD');
|
|
65
|
+
if (params?.adUnitId) {
|
|
66
|
+
adjustEvent.addCallbackParameter('ad_unit_id', params.adUnitId);
|
|
67
|
+
}
|
|
68
|
+
if (params?.adFormat) {
|
|
69
|
+
adjustEvent.addCallbackParameter('ad_format', params.adFormat);
|
|
70
|
+
}
|
|
71
|
+
Adjust.trackEvent(adjustEvent);
|
|
72
|
+
console.log(`Adjust revenue event tracked: ${this.eventToken}`, {
|
|
73
|
+
value: params?.value ?? 0,
|
|
74
|
+
currency: params?.currency ?? 'USD',
|
|
75
|
+
params
|
|
76
|
+
});
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.error(`Failed to track Adjust revenue event ${this.eventToken}:`, error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async ensureInitialized() {
|
|
82
|
+
if (this.isInitialized) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (this.initPromise) {
|
|
86
|
+
await this.initPromise;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
throw new Error('Adjust Tracking Manager chưa được khởi tạo. Vui lòng gọi initialize() trước.');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export const adjustTrackingManager = AdjustTrackingManager.getInstance();
|
|
143
93
|
//# sourceMappingURL=AdjustTrackingManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["analytics/AdjustTrackingManager.ts"],"mappings":"AAAA;
|
|
1
|
+
{"version":3,"names":["Adjust","AdjustEvent","AdjustConfig","AdjustTrackingManager","isEnabled","isInitialized","initPromise","eventToken","constructor","getInstance","instance","initialize","appToken","environment","initializeInternal","adjustConfig","EnvironmentSandbox","EnvironmentProduction","setAttributionCallback","attribution","console","log","setEventTrackingSucceededCallback","eventSuccessResponseData","setEventTrackingFailedCallback","eventFailureResponseData","error","initSdk","isTrackingEnabled","setTrackingEnabled","enabled","setEventToken","trackRevenue","params","length","warn","ensureInitialized","adjustEvent","setRevenue","value","currency","adUnitId","addCallbackParameter","adFormat","trackEvent","Error","adjustTrackingManager"],"sourceRoot":"../../../src","sources":["analytics/AdjustTrackingManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { adjustTrackingManager } from "./AdjustTrackingManager.js";
|
|
4
4
|
import { analyticsManager } from "./AnalyticsManager.js";
|
|
5
5
|
export class TrackingManager {
|
|
6
6
|
constructor() {}
|
|
@@ -18,7 +18,7 @@ export class TrackingManager {
|
|
|
18
18
|
}
|
|
19
19
|
async onTrackingRevenueAd(params) {
|
|
20
20
|
await analyticsManager.logRevenueAdEvent(params);
|
|
21
|
-
|
|
21
|
+
await adjustTrackingManager.trackRevenue(params);
|
|
22
22
|
}
|
|
23
23
|
async onTrackingAdLoaded(params) {
|
|
24
24
|
await analyticsManager.logAdLoadedEvent(params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["analyticsManager","TrackingManager","constructor","getInstance","instance","onTrackingRequestAd","params","logRequestAdEvent","onTrackingClickAd","logClickAdEvent","onTrackingRevenueAd","logRevenueAdEvent","onTrackingAdLoaded","logAdLoadedEvent","trackingManager"],"sourceRoot":"../../../src","sources":["analytics/TrackingManager.ts"],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"names":["adjustTrackingManager","analyticsManager","TrackingManager","constructor","getInstance","instance","onTrackingRequestAd","params","logRequestAdEvent","onTrackingClickAd","logClickAdEvent","onTrackingRevenueAd","logRevenueAdEvent","trackRevenue","onTrackingAdLoaded","logAdLoadedEvent","trackingManager"],"sourceRoot":"../../../src","sources":["analytics/TrackingManager.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,gBAAgB,QAAQ,uBAAoB;AAGrD,OAAO,MAAMC,eAAe,CAAC;EAGnBC,WAAWA,CAAA,EAAG,CAAC;EAEvB,OAAOC,WAAWA,CAAA,EAAoB;IACpC,IAAI,CAACF,eAAe,CAACG,QAAQ,EAAE;MAC7BH,eAAe,CAACG,QAAQ,GAAG,IAAIH,eAAe,CAAC,CAAC;IAClD;IACA,OAAOA,eAAe,CAACG,QAAQ;EACjC;EAEA,MAAMC,mBAAmBA,CAACC,MAAoB,EAAE;IAC9C,MAAMN,gBAAgB,CAACO,iBAAiB,CAACD,MAAM,CAAC;EAClD;EAEA,MAAME,iBAAiBA,CAACF,MAAoB,EAAE;IAC5C,MAAMN,gBAAgB,CAACS,eAAe,CAACH,MAAM,CAAC;EAChD;EAEA,MAAMI,mBAAmBA,CAACJ,MAAoB,EAAE;IAC9C,MAAMN,gBAAgB,CAACW,iBAAiB,CAACL,MAAM,CAAC;IAChD,MAAMP,qBAAqB,CAACa,YAAY,CAACN,MAAM,CAAC;EAClD;EAEA,MAAMO,kBAAkBA,CAACP,MAAoB,EAAE;IAC7C,MAAMN,gBAAgB,CAACc,gBAAgB,CAACR,MAAM,CAAC;EACjD;AACF;AAEA,OAAO,MAAMS,eAAe,GAAGd,eAAe,CAACE,WAAW,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { adjustTrackingManager } from "../analytics/AdjustTrackingManager.js";
|
|
4
|
+
import { analyticsManager } from "../analytics/AnalyticsManager.js";
|
|
5
|
+
export class ConfigManager {
|
|
6
|
+
constructor() {}
|
|
7
|
+
static getInstance() {
|
|
8
|
+
if (!ConfigManager.instance) {
|
|
9
|
+
ConfigManager.instance = new ConfigManager();
|
|
10
|
+
}
|
|
11
|
+
return ConfigManager.instance;
|
|
12
|
+
}
|
|
13
|
+
initAdjustTracking(appToken, environment = 'production') {
|
|
14
|
+
adjustTrackingManager.initialize(appToken, environment);
|
|
15
|
+
}
|
|
16
|
+
setEnableAdjustTracking(enable) {
|
|
17
|
+
adjustTrackingManager.setTrackingEnabled(enable);
|
|
18
|
+
}
|
|
19
|
+
setEnableAnalyticsTracking(enable) {
|
|
20
|
+
analyticsManager.setEnabled(enable);
|
|
21
|
+
}
|
|
22
|
+
setAdjustEventToken(eventToken) {
|
|
23
|
+
adjustTrackingManager.setEventToken(eventToken);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export const SdkConfig = ConfigManager.getInstance();
|
|
27
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["adjustTrackingManager","analyticsManager","ConfigManager","constructor","getInstance","instance","initAdjustTracking","appToken","environment","initialize","setEnableAdjustTracking","enable","setTrackingEnabled","setEnableAnalyticsTracking","setEnabled","setAdjustEventToken","eventToken","setEventToken","SdkConfig"],"sourceRoot":"../../../src","sources":["event/config.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,gBAAgB,QAAQ,kCAA+B;AAEhE,OAAO,MAAMC,aAAa,CAAC;EAGjBC,WAAWA,CAAA,EAAG,CAAC;EAEvB,OAAOC,WAAWA,CAAA,EAAkB;IAClC,IAAI,CAACF,aAAa,CAACG,QAAQ,EAAE;MAC3BH,aAAa,CAACG,QAAQ,GAAG,IAAIH,aAAa,CAAC,CAAC;IAC9C;IACA,OAAOA,aAAa,CAACG,QAAQ;EAC/B;EAEAC,kBAAkBA,CAChBC,QAAgB,EAChBC,WAAqC,GAAG,YAAY,EACpD;IACAR,qBAAqB,CAACS,UAAU,CAACF,QAAQ,EAAEC,WAAW,CAAC;EACzD;EAEAE,uBAAuBA,CAACC,MAAe,EAAE;IACvCX,qBAAqB,CAACY,kBAAkB,CAACD,MAAM,CAAC;EAClD;EAEAE,0BAA0BA,CAACF,MAAe,EAAE;IAC1CV,gBAAgB,CAACa,UAAU,CAACH,MAAM,CAAC;EACrC;EAEAI,mBAAmBA,CAACC,UAAkB,EAAE;IACtChB,qBAAqB,CAACiB,aAAa,CAACD,UAAU,CAAC;EACjD;AACF;AAEA,OAAO,MAAME,SAAS,GAAGhB,aAAa,CAACE,WAAW,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { useAppOpenAd } from "./hook/useAppOpenAd.js";
|
|
|
9
9
|
export { BannerAdComponent } from "./components/BannerAdComponent.js";
|
|
10
10
|
export { NativeAdComponent } from "./components/NativeAdComponent.js";
|
|
11
11
|
export { NativeAdFullscreenComponent } from "./components/NativeAdFullscreenComponent.js";
|
|
12
|
+
export { SdkConfig } from "./event/config.js";
|
|
12
13
|
|
|
13
14
|
// Export types
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useNativeAd","useInterstitialAd","useRewardedAd","useRewardedInterstitialAd","useAppOpenAd","BannerAdComponent","NativeAdComponent","NativeAdFullscreenComponent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,WAAW,QAAQ,uBAAoB;AAChD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,aAAa,QAAQ,yBAAsB;AACpD,SAASC,yBAAyB,QAAQ,qCAAkC;AAC5E,SAASC,YAAY,QAAQ,wBAAqB;AAElD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,2BAA2B,QAAQ,6CAA0C;;
|
|
1
|
+
{"version":3,"names":["useNativeAd","useInterstitialAd","useRewardedAd","useRewardedInterstitialAd","useAppOpenAd","BannerAdComponent","NativeAdComponent","NativeAdFullscreenComponent","SdkConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,WAAW,QAAQ,uBAAoB;AAChD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,aAAa,QAAQ,yBAAsB;AACpD,SAASC,yBAAyB,QAAQ,qCAAkC;AAC5E,SAASC,YAAY,QAAQ,wBAAqB;AAElD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,2BAA2B,QAAQ,6CAA0C;AAEtF,SAASC,SAAS,QAAQ,mBAAgB;;AAE1C","ignoreList":[]}
|
|
@@ -1 +1,23 @@
|
|
|
1
|
+
import type { EventParams } from './EventTracking';
|
|
2
|
+
export type RevenueParams = {
|
|
3
|
+
adUnitId?: string;
|
|
4
|
+
adFormat?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class AdjustTrackingManager {
|
|
7
|
+
private static instance;
|
|
8
|
+
private isEnabled;
|
|
9
|
+
private isInitialized;
|
|
10
|
+
private initPromise;
|
|
11
|
+
private eventToken;
|
|
12
|
+
private constructor();
|
|
13
|
+
static getInstance(): AdjustTrackingManager;
|
|
14
|
+
initialize(appToken: string, environment?: 'sandbox' | 'production'): Promise<void>;
|
|
15
|
+
private initializeInternal;
|
|
16
|
+
isTrackingEnabled(): boolean;
|
|
17
|
+
setTrackingEnabled(enabled: boolean): void;
|
|
18
|
+
setEventToken(eventToken: string): void;
|
|
19
|
+
trackRevenue(params?: EventParams): Promise<void>;
|
|
20
|
+
private ensureInitialized;
|
|
21
|
+
}
|
|
22
|
+
export declare const adjustTrackingManager: AdjustTrackingManager;
|
|
1
23
|
//# sourceMappingURL=AdjustTrackingManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdjustTrackingManager.d.ts","sourceRoot":"","sources":["../../../../src/analytics/AdjustTrackingManager.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AdjustTrackingManager.d.ts","sourceRoot":"","sources":["../../../../src/analytics/AdjustTrackingManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAC/C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,qBAAqB;IAOrC,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,SAAS,GAAG,YAA2B,GACnD,OAAO,CAAC,IAAI,CAAC;YAaF,kBAAkB;IA4ChC,iBAAiB,IAAI,OAAO;IAI5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjC,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAiCzC,iBAAiB;CAchC;AAED,eAAO,MAAM,qBAAqB,uBAAsC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class ConfigManager {
|
|
2
|
+
private static instance;
|
|
3
|
+
private constructor();
|
|
4
|
+
static getInstance(): ConfigManager;
|
|
5
|
+
initAdjustTracking(appToken: string, environment?: 'sandbox' | 'production'): void;
|
|
6
|
+
setEnableAdjustTracking(enable: boolean): void;
|
|
7
|
+
setEnableAnalyticsTracking(enable: boolean): void;
|
|
8
|
+
setAdjustEventToken(eventToken: string): void;
|
|
9
|
+
}
|
|
10
|
+
export declare const SdkConfig: ConfigManager;
|
|
11
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/event/config.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IAEvC,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC,kBAAkB,CAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,SAAS,GAAG,YAA2B;IAKtD,uBAAuB,CAAC,MAAM,EAAE,OAAO;IAIvC,0BAA0B,CAAC,MAAM,EAAE,OAAO;IAI1C,mBAAmB,CAAC,UAAU,EAAE,MAAM;CAGvC;AAED,eAAO,MAAM,SAAS,eAA8B,CAAC"}
|
|
@@ -6,5 +6,6 @@ export { useAppOpenAd } from './hook/useAppOpenAd';
|
|
|
6
6
|
export { BannerAdComponent } from './components/BannerAdComponent';
|
|
7
7
|
export { NativeAdComponent } from './components/NativeAdComponent';
|
|
8
8
|
export { NativeAdFullscreenComponent } from './components/NativeAdFullscreenComponent';
|
|
9
|
+
export { SdkConfig } from './event/config';
|
|
9
10
|
export type { AdStatus, AdConfig, AdData, AdInstance, AdManagerState, AdManagerActions, AdManagerContextType, UseAdOptions, UseNativeAdOptions, UseBannerAdOptions, UseInterstitialAdOptions, UseRewardedAdOptions, UseRewardedInterstitialAdOptions, InterstitialAdConfig, RewardedAdConfig, RewardedInterstitialAdConfig, RewardedAdInstance, InterstitialAdInstance, RewardedInterstitialAdInstance, } from './types/ads-types';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,EAChC,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vynix-org/react-native-ads-sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "This is ads sdk for vynix",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"main": "./lib/module/index.js",
|
|
@@ -176,6 +176,7 @@
|
|
|
176
176
|
"version": "0.54.3"
|
|
177
177
|
},
|
|
178
178
|
"dependencies": {
|
|
179
|
+
"react-native-adjust": "^5.4.4",
|
|
179
180
|
"rn-placeholder": "^3.0.3",
|
|
180
181
|
"zustand": "^5.0.8"
|
|
181
182
|
}
|
|
@@ -1,141 +1,146 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
1
|
+
import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust';
|
|
2
|
+
import type { EventParams } from './EventTracking';
|
|
3
|
+
|
|
4
|
+
export type RevenueParams = {
|
|
5
|
+
adUnitId?: string;
|
|
6
|
+
adFormat?: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export class AdjustTrackingManager {
|
|
10
|
+
private static instance: AdjustTrackingManager;
|
|
11
|
+
private isEnabled = true;
|
|
12
|
+
private isInitialized = false;
|
|
13
|
+
private initPromise: Promise<void> | null = null;
|
|
14
|
+
private eventToken: string = '';
|
|
15
|
+
|
|
16
|
+
private constructor() {}
|
|
17
|
+
|
|
18
|
+
static getInstance(): AdjustTrackingManager {
|
|
19
|
+
if (!AdjustTrackingManager.instance) {
|
|
20
|
+
AdjustTrackingManager.instance = new AdjustTrackingManager();
|
|
21
|
+
}
|
|
22
|
+
return AdjustTrackingManager.instance;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async initialize(
|
|
26
|
+
appToken: string,
|
|
27
|
+
environment: 'sandbox' | 'production' = 'production'
|
|
28
|
+
): Promise<void> {
|
|
29
|
+
if (this.isInitialized) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (this.initPromise) {
|
|
34
|
+
return this.initPromise;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
this.initPromise = this.initializeInternal(appToken, environment);
|
|
38
|
+
return this.initPromise;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private async initializeInternal(
|
|
42
|
+
appToken: string,
|
|
43
|
+
environment: 'sandbox' | 'production'
|
|
44
|
+
): Promise<void> {
|
|
45
|
+
try {
|
|
46
|
+
const adjustConfig = new AdjustConfig(
|
|
47
|
+
appToken,
|
|
48
|
+
environment === 'sandbox'
|
|
49
|
+
? AdjustConfig.EnvironmentSandbox
|
|
50
|
+
: AdjustConfig.EnvironmentProduction
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
adjustConfig.setAttributionCallback((attribution) => {
|
|
54
|
+
console.log('Adjust attribution:', attribution);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
adjustConfig.setEventTrackingSucceededCallback(
|
|
58
|
+
(eventSuccessResponseData) => {
|
|
59
|
+
console.log(
|
|
60
|
+
'Adjust event tracking succeeded:',
|
|
61
|
+
eventSuccessResponseData
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
adjustConfig.setEventTrackingFailedCallback(
|
|
67
|
+
(eventFailureResponseData) => {
|
|
68
|
+
console.error(
|
|
69
|
+
'Adjust event tracking failed:',
|
|
70
|
+
eventFailureResponseData
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
Adjust.initSdk(adjustConfig);
|
|
76
|
+
this.isInitialized = true;
|
|
77
|
+
console.log('Adjust Tracking Manager initialized successfully');
|
|
78
|
+
} catch (error) {
|
|
79
|
+
console.error('Failed to initialize Adjust Tracking Manager:', error);
|
|
80
|
+
this.isInitialized = false;
|
|
81
|
+
this.initPromise = null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
isTrackingEnabled(): boolean {
|
|
86
|
+
return this.isEnabled;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
setTrackingEnabled(enabled: boolean): void {
|
|
90
|
+
this.isEnabled = enabled;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
setEventToken(eventToken: string): void {
|
|
94
|
+
this.eventToken = eventToken;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async trackRevenue(params?: EventParams): Promise<void> {
|
|
98
|
+
if (!this.isEnabled || !this.eventToken || this.eventToken.length === 0) {
|
|
99
|
+
console.warn('Adjust revenue tracking is disabled.');
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
await this.ensureInitialized();
|
|
105
|
+
|
|
106
|
+
const adjustEvent = new AdjustEvent(this.eventToken);
|
|
107
|
+
adjustEvent.setRevenue(params?.value ?? 0, params?.currency ?? 'USD');
|
|
108
|
+
|
|
109
|
+
if (params?.adUnitId) {
|
|
110
|
+
adjustEvent.addCallbackParameter('ad_unit_id', params.adUnitId);
|
|
111
|
+
}
|
|
112
|
+
if (params?.adFormat) {
|
|
113
|
+
adjustEvent.addCallbackParameter('ad_format', params.adFormat);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
Adjust.trackEvent(adjustEvent);
|
|
117
|
+
console.log(`Adjust revenue event tracked: ${this.eventToken}`, {
|
|
118
|
+
value: params?.value ?? 0,
|
|
119
|
+
currency: params?.currency ?? 'USD',
|
|
120
|
+
params,
|
|
121
|
+
});
|
|
122
|
+
} catch (error) {
|
|
123
|
+
console.error(
|
|
124
|
+
`Failed to track Adjust revenue event ${this.eventToken}:`,
|
|
125
|
+
error
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
private async ensureInitialized(): Promise<void> {
|
|
131
|
+
if (this.isInitialized) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (this.initPromise) {
|
|
136
|
+
await this.initPromise;
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
throw new Error(
|
|
141
|
+
'Adjust Tracking Manager chưa được khởi tạo. Vui lòng gọi initialize() trước.'
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const adjustTrackingManager = AdjustTrackingManager.getInstance();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { adjustTrackingManager } from './AdjustTrackingManager';
|
|
2
2
|
import { analyticsManager } from './AnalyticsManager';
|
|
3
3
|
import type { EventParams } from './EventTracking';
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@ export class TrackingManager {
|
|
|
24
24
|
|
|
25
25
|
async onTrackingRevenueAd(params?: EventParams) {
|
|
26
26
|
await analyticsManager.logRevenueAdEvent(params);
|
|
27
|
-
|
|
27
|
+
await adjustTrackingManager.trackRevenue(params);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
async onTrackingAdLoaded(params?: EventParams) {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { adjustTrackingManager } from '../analytics/AdjustTrackingManager';
|
|
2
|
+
import { analyticsManager } from '../analytics/AnalyticsManager';
|
|
3
|
+
|
|
4
|
+
export class ConfigManager {
|
|
5
|
+
private static instance: ConfigManager;
|
|
6
|
+
|
|
7
|
+
private constructor() {}
|
|
8
|
+
|
|
9
|
+
static getInstance(): ConfigManager {
|
|
10
|
+
if (!ConfigManager.instance) {
|
|
11
|
+
ConfigManager.instance = new ConfigManager();
|
|
12
|
+
}
|
|
13
|
+
return ConfigManager.instance;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
initAdjustTracking(
|
|
17
|
+
appToken: string,
|
|
18
|
+
environment: 'sandbox' | 'production' = 'production'
|
|
19
|
+
) {
|
|
20
|
+
adjustTrackingManager.initialize(appToken, environment);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
setEnableAdjustTracking(enable: boolean) {
|
|
24
|
+
adjustTrackingManager.setTrackingEnabled(enable);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
setEnableAnalyticsTracking(enable: boolean) {
|
|
28
|
+
analyticsManager.setEnabled(enable);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
setAdjustEventToken(eventToken: string) {
|
|
32
|
+
adjustTrackingManager.setEventToken(eventToken);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const SdkConfig = ConfigManager.getInstance();
|
package/src/index.tsx
CHANGED
|
@@ -9,6 +9,8 @@ export { BannerAdComponent } from './components/BannerAdComponent';
|
|
|
9
9
|
export { NativeAdComponent } from './components/NativeAdComponent';
|
|
10
10
|
export { NativeAdFullscreenComponent } from './components/NativeAdFullscreenComponent';
|
|
11
11
|
|
|
12
|
+
export { SdkConfig } from './event/config';
|
|
13
|
+
|
|
12
14
|
// Export types
|
|
13
15
|
export type {
|
|
14
16
|
AdStatus,
|