apps-sdk 1.0.87 → 1.0.88
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/config.js
CHANGED
package/package.json
CHANGED
|
@@ -11,6 +11,7 @@ class Networking {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
this.ENCRYPT_KEY = null;
|
|
13
13
|
this.DEFAULT_ENCRYPT_VALUE = false;
|
|
14
|
+
this.PENDING_EVENTS = [];
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
setEncryptKey(value) {
|
|
@@ -27,6 +28,7 @@ class Networking {
|
|
|
27
28
|
let initData = await this.request(config.ENDPOINTS.CONFIG);
|
|
28
29
|
if (initData) {
|
|
29
30
|
config.DEBUG_MODE && console.debug("initData", JSON.stringify(initData));
|
|
31
|
+
config.TRACKING_ANSWERED = await storage.getData('TRACKING_PERMISSION_ANSWERED');
|
|
30
32
|
this.setEndpoints(initData.data.domains);
|
|
31
33
|
this.setEvents(initData.data.attribution);
|
|
32
34
|
this.setPayWallData(initData);
|
|
@@ -209,6 +211,10 @@ class Networking {
|
|
|
209
211
|
sendEvent = async (eventType, eventKeyword, eventData={}) => {
|
|
210
212
|
if (config.TRACKING_ACTIVE === false) {
|
|
211
213
|
console.log('Event not sent, tracking is denied: ', eventType, eventKeyword);
|
|
214
|
+
console.log('Tracking answered: ', config.TRACKING_ANSWERED);
|
|
215
|
+
if (!config.TRACKING_ANSWERED) {
|
|
216
|
+
this.addPendingEvent({eventType, eventKeyword, eventData});
|
|
217
|
+
}
|
|
212
218
|
return;
|
|
213
219
|
}
|
|
214
220
|
config.DEBUG_MODE && console.debug("sendEvent", eventType, eventKeyword, eventData);
|
|
@@ -217,7 +223,6 @@ class Networking {
|
|
|
217
223
|
let eventResponse = await this.request(config.ENDPOINTS.EVENTS_PUSH, {
|
|
218
224
|
event_name: eventKeyword,
|
|
219
225
|
event_type: eventType,
|
|
220
|
-
// action: eventKeyword,
|
|
221
226
|
appevent: eventKeyword,
|
|
222
227
|
payload: eventData,
|
|
223
228
|
...Session.sessionData,
|
|
@@ -231,6 +236,24 @@ class Networking {
|
|
|
231
236
|
console.log('Error al enviar evento a AdJust', error);
|
|
232
237
|
}
|
|
233
238
|
}
|
|
239
|
+
|
|
240
|
+
addPendingEvent(event) {
|
|
241
|
+
console.log('addPendingEvent', event);
|
|
242
|
+
this.PENDING_EVENTS.push(event);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
clearPendingEvents() {
|
|
246
|
+
console.log('clearPendingEvents');
|
|
247
|
+
this.PENDING_EVENTS = [];
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
async sendPendingEvents() {
|
|
251
|
+
this.PENDING_EVENTS.forEach(async event => {
|
|
252
|
+
console.log('sendPendingEvents', event);
|
|
253
|
+
await this.sendEvent(event.eventType, event.eventKeyword, event.eventData);
|
|
254
|
+
});
|
|
255
|
+
this.clearPendingEvents();
|
|
256
|
+
}
|
|
234
257
|
}
|
|
235
258
|
|
|
236
259
|
export default new Networking();
|
package/src/libraries/Session.js
CHANGED
|
@@ -67,7 +67,9 @@ class Session {
|
|
|
67
67
|
if (this.sessionData.isFirstOpen) {
|
|
68
68
|
config.DEBUG_MODE && console.debug("checkFirstOpen - First Open");
|
|
69
69
|
await this.sendFirstOpen();
|
|
70
|
-
|
|
70
|
+
if (config.TRACKING_ACTIVE) {
|
|
71
|
+
await Storage.storeData("FirstOpenAlreadyExecuted", true);
|
|
72
|
+
}
|
|
71
73
|
} else {
|
|
72
74
|
config.DEBUG_MODE && console.debug("checkFirstOpen - Not First Open");
|
|
73
75
|
}
|
package/src/libraries/Storage.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {getAdvertisingId, requestTrackingPermissionsAsync} from "expo-tracking-transparency";
|
|
1
|
+
import {getAdvertisingId, requestTrackingPermissionsAsync, getTrackingPermissionsAsync} from "expo-tracking-transparency";
|
|
2
2
|
import Storage from './Storage';
|
|
3
3
|
import Networking from './Networking';
|
|
4
4
|
import * as config from '../../config';
|
|
@@ -9,25 +9,33 @@ class TrackingTransparency {
|
|
|
9
9
|
let trackingResult = 'denied';
|
|
10
10
|
let trackingPermission = await Storage.getData('TRACKING_PERMISSION');
|
|
11
11
|
console.log('current trackingPermission', trackingPermission);
|
|
12
|
-
if (!trackingPermission
|
|
12
|
+
if (!trackingPermission) {
|
|
13
13
|
const { status } = await requestTrackingPermissionsAsync();
|
|
14
|
-
|
|
14
|
+
await Storage.storeData('TRACKING_PERMISSION_ANSWERED', true);
|
|
15
|
+
await Networking.sendPendingEvents();
|
|
16
|
+
config.TRACKING_ANSWERED = true;
|
|
15
17
|
if (status !== 'undetermined') {
|
|
16
18
|
if (status === 'granted') {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
trackingResult = 'granted';
|
|
20
|
+
await Storage.storeData('TRACKING_PERMISSION', 'granted');
|
|
21
|
+
await Networking.sendEvent('action', 'tracking_consent');
|
|
19
22
|
console.log('Tracking Transparency permission granted');
|
|
20
23
|
} else {
|
|
21
|
-
Storage.storeData('TRACKING_PERMISSION', 'denied');
|
|
22
|
-
Networking.sendEvent('action', 'tracking_denied');
|
|
23
|
-
trackingResult = 'denied';
|
|
24
|
+
await Storage.storeData('TRACKING_PERMISSION', 'denied');
|
|
25
|
+
await Networking.sendEvent('action', 'tracking_denied');
|
|
24
26
|
console.log('Tracking Transparency permission denied');
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
config.TRACKING_ACTIVE = (trackingResult === 'granted');
|
|
28
|
-
return Promise.resolve(trackingResult);
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
config.TRACKING_ACTIVE = (trackingResult === 'granted');
|
|
31
|
+
return trackingResult;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async getTrackingTransparencyPermission() {
|
|
35
|
+
let tracking = await getTrackingPermissionsAsync();
|
|
36
|
+
if (tracking) {
|
|
37
|
+
return tracking.status;
|
|
38
|
+
}
|
|
31
39
|
}
|
|
32
40
|
|
|
33
41
|
async getAdvertisingIdentifier() {
|
package/types/index.d.ts
CHANGED
|
@@ -73,9 +73,12 @@ declare module 'apps-sdk' {
|
|
|
73
73
|
getEndpoints(): any;
|
|
74
74
|
setEvents(events: any): void;
|
|
75
75
|
sendEvent(eventType: string, eventKeyword:string, eventData?: object): Promise<void>;
|
|
76
|
-
createSubscription();
|
|
76
|
+
createSubscription(): any;
|
|
77
77
|
checkConnection(): Promise<boolean>;
|
|
78
78
|
setImageCompression(compression: any): void;
|
|
79
|
+
addPendingEvent(event: any): void;
|
|
80
|
+
sendPendingEvents(): Promise<void>;
|
|
81
|
+
clearPendingEvents(): void;
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
export class Storage {
|
|
@@ -148,6 +151,7 @@ declare module 'apps-sdk' {
|
|
|
148
151
|
export class TrackingTransparency {
|
|
149
152
|
requestTrackingTransparencyPermission(): Promise<string>;
|
|
150
153
|
getAdvertisingIdentifier(): Promise<string>;
|
|
154
|
+
getTrackingTransparencyPermission(): Promise<string>;
|
|
151
155
|
}
|
|
152
156
|
|
|
153
157
|
export class AppsSDK {
|