apps-sdk 1.0.86 → 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
|
@@ -46,7 +46,15 @@ export const ADJUST = {
|
|
|
46
46
|
},
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export var
|
|
49
|
+
export var IMAGE_COMPRESSION = {
|
|
50
|
+
COMPRESSION: 0.8,
|
|
51
|
+
WIDTH: 800,
|
|
52
|
+
ACTIVE: true,
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export var TRACKING_ACTIVE = false;
|
|
56
|
+
|
|
57
|
+
export var TRACKING_ANSWERED = false;
|
|
50
58
|
|
|
51
59
|
export var FORCED_UPDATE = false;
|
|
52
60
|
|
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,11 +28,13 @@ 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);
|
|
33
35
|
this.checkSubscription();
|
|
34
36
|
this.setForcedUpdate(initData.data);
|
|
37
|
+
this.setImageCompression(initData.data.image);
|
|
35
38
|
}
|
|
36
39
|
} catch (error) {
|
|
37
40
|
console.error(error);
|
|
@@ -135,6 +138,13 @@ class Networking {
|
|
|
135
138
|
storage.storeData("ENDPOINTS", config.ENDPOINTS);
|
|
136
139
|
}
|
|
137
140
|
|
|
141
|
+
setImageCompression(compression) {
|
|
142
|
+
config.IMAGE_COMPRESSION.COMPRESSION = compression.compress;
|
|
143
|
+
config.IMAGE_COMPRESSION.WIDTH = compression.width;
|
|
144
|
+
config.IMAGE_COMPRESSION.ACTIVE = Boolean(compression.active);
|
|
145
|
+
storage.storeData("IMAGE_COMPRESSION", config.IMAGE_COMPRESSION);
|
|
146
|
+
}
|
|
147
|
+
|
|
138
148
|
getEndpoints() {
|
|
139
149
|
return storage.getData("ENDPOINTS");
|
|
140
150
|
}
|
|
@@ -201,6 +211,10 @@ class Networking {
|
|
|
201
211
|
sendEvent = async (eventType, eventKeyword, eventData={}) => {
|
|
202
212
|
if (config.TRACKING_ACTIVE === false) {
|
|
203
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
|
+
}
|
|
204
218
|
return;
|
|
205
219
|
}
|
|
206
220
|
config.DEBUG_MODE && console.debug("sendEvent", eventType, eventKeyword, eventData);
|
|
@@ -209,7 +223,6 @@ class Networking {
|
|
|
209
223
|
let eventResponse = await this.request(config.ENDPOINTS.EVENTS_PUSH, {
|
|
210
224
|
event_name: eventKeyword,
|
|
211
225
|
event_type: eventType,
|
|
212
|
-
// action: eventKeyword,
|
|
213
226
|
appevent: eventKeyword,
|
|
214
227
|
payload: eventData,
|
|
215
228
|
...Session.sessionData,
|
|
@@ -223,6 +236,24 @@ class Networking {
|
|
|
223
236
|
console.log('Error al enviar evento a AdJust', error);
|
|
224
237
|
}
|
|
225
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
|
+
}
|
|
226
257
|
}
|
|
227
258
|
|
|
228
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';
|
|
@@ -6,25 +6,38 @@ import * as config from '../../config';
|
|
|
6
6
|
class TrackingTransparency {
|
|
7
7
|
async requestTrackingTransparencyPermission() {
|
|
8
8
|
console.log('requestTrackingTransparencyPermission');
|
|
9
|
-
let trackingResult = '
|
|
9
|
+
let trackingResult = 'denied';
|
|
10
10
|
let trackingPermission = await Storage.getData('TRACKING_PERMISSION');
|
|
11
|
-
|
|
11
|
+
console.log('current trackingPermission', trackingPermission);
|
|
12
|
+
if (!trackingPermission) {
|
|
12
13
|
const { status } = await requestTrackingPermissionsAsync();
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
await Storage.storeData('TRACKING_PERMISSION_ANSWERED', true);
|
|
15
|
+
await Networking.sendPendingEvents();
|
|
16
|
+
config.TRACKING_ANSWERED = true;
|
|
17
|
+
if (status !== 'undetermined') {
|
|
18
|
+
if (status === 'granted') {
|
|
19
|
+
trackingResult = 'granted';
|
|
20
|
+
await Storage.storeData('TRACKING_PERMISSION', 'granted');
|
|
21
|
+
await Networking.sendEvent('action', 'tracking_consent');
|
|
22
|
+
console.log('Tracking Transparency permission granted');
|
|
23
|
+
} else {
|
|
24
|
+
await Storage.storeData('TRACKING_PERMISSION', 'denied');
|
|
25
|
+
await Networking.sendEvent('action', 'tracking_denied');
|
|
26
|
+
console.log('Tracking Transparency permission denied');
|
|
27
|
+
}
|
|
22
28
|
}
|
|
23
29
|
}
|
|
24
30
|
config.TRACKING_ACTIVE = (trackingResult === 'granted');
|
|
25
31
|
return trackingResult;
|
|
26
32
|
}
|
|
27
33
|
|
|
34
|
+
async getTrackingTransparencyPermission() {
|
|
35
|
+
let tracking = await getTrackingPermissionsAsync();
|
|
36
|
+
if (tracking) {
|
|
37
|
+
return tracking.status;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
28
41
|
async getAdvertisingIdentifier() {
|
|
29
42
|
return getAdvertisingId();
|
|
30
43
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -73,8 +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
|
+
setImageCompression(compression: any): void;
|
|
79
|
+
addPendingEvent(event: any): void;
|
|
80
|
+
sendPendingEvents(): Promise<void>;
|
|
81
|
+
clearPendingEvents(): void;
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
export class Storage {
|
|
@@ -147,6 +151,7 @@ declare module 'apps-sdk' {
|
|
|
147
151
|
export class TrackingTransparency {
|
|
148
152
|
requestTrackingTransparencyPermission(): Promise<string>;
|
|
149
153
|
getAdvertisingIdentifier(): Promise<string>;
|
|
154
|
+
getTrackingTransparencyPermission(): Promise<string>;
|
|
150
155
|
}
|
|
151
156
|
|
|
152
157
|
export class AppsSDK {
|