be-components 4.1.1 → 4.1.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/lib/commonjs/Observer/Observer.js +31 -6
- package/lib/commonjs/Observer/Observer.js.map +1 -1
- package/lib/module/Observer/Observer.js +31 -6
- package/lib/module/Observer/Observer.js.map +1 -1
- package/lib/typescript/lib/commonjs/Observer/Observer.d.ts.map +1 -1
- package/lib/typescript/lib/module/Observer/Observer.d.ts.map +1 -1
- package/lib/typescript/src/Observer/Observer.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Observer/Observer.tsx +32 -7
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactDeviceDetect = require("react-device-detect");
|
|
9
9
|
var _api = require("./api");
|
|
10
|
+
var _reactNative = require("react-native");
|
|
10
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
13
|
const BEAnalyticsObserver = ({
|
|
@@ -22,18 +23,30 @@ const BEAnalyticsObserver = ({
|
|
|
22
23
|
const updateAnalytics = async () => {
|
|
23
24
|
//Get
|
|
24
25
|
_api.BEEventApi.setDistinctId(distinct_id);
|
|
26
|
+
_api.BEEventApi.setSessionId(session_id);
|
|
25
27
|
_api.BEEventApi.setSource(source);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
|
|
29
|
+
//In here we need to determine what device
|
|
30
|
+
let notification_permission = 'not_allowed';
|
|
31
|
+
let is_pwa = false;
|
|
32
|
+
if (_reactNative.Platform.OS == 'web') {
|
|
33
|
+
is_pwa = isPWA();
|
|
34
|
+
notification_permission = getNotificationPermissions();
|
|
35
|
+
} else {
|
|
36
|
+
is_pwa = true;
|
|
37
|
+
}
|
|
28
38
|
_api.BEEventApi.setDevice({
|
|
29
39
|
...device_data,
|
|
30
40
|
is_pwa,
|
|
31
41
|
notification_permission
|
|
32
42
|
});
|
|
33
|
-
_api.BEEventApi.setSessionId(session_id);
|
|
34
43
|
if (!init_loaded) {
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
if (_reactNative.Platform.OS == 'web') {
|
|
45
|
+
let url = window?.location?.href;
|
|
46
|
+
sendIncomingUserEvent(url);
|
|
47
|
+
} else {
|
|
48
|
+
sendAppIncomingUserEvent();
|
|
49
|
+
}
|
|
37
50
|
setInitLoaded(true);
|
|
38
51
|
}
|
|
39
52
|
};
|
|
@@ -56,7 +69,9 @@ const isPWA = () => {
|
|
|
56
69
|
const sendIncomingUserEvent = url => {
|
|
57
70
|
const parsed_url = url.split(/[?&]/);
|
|
58
71
|
const new_data = {
|
|
59
|
-
href: url
|
|
72
|
+
href: url,
|
|
73
|
+
native: false,
|
|
74
|
+
platform: 'web'
|
|
60
75
|
};
|
|
61
76
|
parsed_url.map(p => {
|
|
62
77
|
let vars = p.split('=');
|
|
@@ -80,5 +95,15 @@ const sendIncomingUserEvent = url => {
|
|
|
80
95
|
level: 1
|
|
81
96
|
});
|
|
82
97
|
};
|
|
98
|
+
const sendAppIncomingUserEvent = () => {
|
|
99
|
+
_api.BEEventApi.saveEvent({
|
|
100
|
+
event_name: 'incoming_user',
|
|
101
|
+
event_data: {
|
|
102
|
+
native: true,
|
|
103
|
+
platform: _reactNative.Platform.OS
|
|
104
|
+
},
|
|
105
|
+
level: 1
|
|
106
|
+
});
|
|
107
|
+
};
|
|
83
108
|
var _default = exports.default = BEAnalyticsObserver;
|
|
84
109
|
//# sourceMappingURL=Observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactDeviceDetect","_api","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BEAnalyticsObserver","source","session_id","distinct_id","init_loaded","setInitLoaded","useState","device_data","deviceDetect","undefined","useEffect","updateAnalytics","BEEventApi","setDistinctId","setSource","is_pwa","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactDeviceDetect","_api","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BEAnalyticsObserver","source","session_id","distinct_id","init_loaded","setInitLoaded","useState","device_data","deviceDetect","undefined","useEffect","updateAnalytics","BEEventApi","setDistinctId","setSessionId","setSource","notification_permission","is_pwa","Platform","OS","isPWA","getNotificationPermissions","setDevice","url","window","location","href","sendIncomingUserEvent","sendAppIncomingUserEvent","createElement","Fragment","Notification","permission","mqStandAlone","new_nav","navigator","standalone","matchMedia","matches","parsed_url","split","new_data","native","platform","map","p","vars","length","reference_id","referrer","document","saveEvent","event_name","event_data","level","_default","exports"],"sourceRoot":"../../../src","sources":["Observer/Observer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { deviceDetect } from 'react-device-detect';
|
|
3
3
|
import { BEEventApi } from './api';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
4
5
|
const BEAnalyticsObserver = ({
|
|
5
6
|
source,
|
|
6
7
|
session_id,
|
|
@@ -14,18 +15,30 @@ const BEAnalyticsObserver = ({
|
|
|
14
15
|
const updateAnalytics = async () => {
|
|
15
16
|
//Get
|
|
16
17
|
BEEventApi.setDistinctId(distinct_id);
|
|
18
|
+
BEEventApi.setSessionId(session_id);
|
|
17
19
|
BEEventApi.setSource(source);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
|
|
21
|
+
//In here we need to determine what device
|
|
22
|
+
let notification_permission = 'not_allowed';
|
|
23
|
+
let is_pwa = false;
|
|
24
|
+
if (Platform.OS == 'web') {
|
|
25
|
+
is_pwa = isPWA();
|
|
26
|
+
notification_permission = getNotificationPermissions();
|
|
27
|
+
} else {
|
|
28
|
+
is_pwa = true;
|
|
29
|
+
}
|
|
20
30
|
BEEventApi.setDevice({
|
|
21
31
|
...device_data,
|
|
22
32
|
is_pwa,
|
|
23
33
|
notification_permission
|
|
24
34
|
});
|
|
25
|
-
BEEventApi.setSessionId(session_id);
|
|
26
35
|
if (!init_loaded) {
|
|
27
|
-
|
|
28
|
-
|
|
36
|
+
if (Platform.OS == 'web') {
|
|
37
|
+
let url = window?.location?.href;
|
|
38
|
+
sendIncomingUserEvent(url);
|
|
39
|
+
} else {
|
|
40
|
+
sendAppIncomingUserEvent();
|
|
41
|
+
}
|
|
29
42
|
setInitLoaded(true);
|
|
30
43
|
}
|
|
31
44
|
};
|
|
@@ -48,7 +61,9 @@ const isPWA = () => {
|
|
|
48
61
|
const sendIncomingUserEvent = url => {
|
|
49
62
|
const parsed_url = url.split(/[?&]/);
|
|
50
63
|
const new_data = {
|
|
51
|
-
href: url
|
|
64
|
+
href: url,
|
|
65
|
+
native: false,
|
|
66
|
+
platform: 'web'
|
|
52
67
|
};
|
|
53
68
|
parsed_url.map(p => {
|
|
54
69
|
let vars = p.split('=');
|
|
@@ -72,5 +87,15 @@ const sendIncomingUserEvent = url => {
|
|
|
72
87
|
level: 1
|
|
73
88
|
});
|
|
74
89
|
};
|
|
90
|
+
const sendAppIncomingUserEvent = () => {
|
|
91
|
+
BEEventApi.saveEvent({
|
|
92
|
+
event_name: 'incoming_user',
|
|
93
|
+
event_data: {
|
|
94
|
+
native: true,
|
|
95
|
+
platform: Platform.OS
|
|
96
|
+
},
|
|
97
|
+
level: 1
|
|
98
|
+
});
|
|
99
|
+
};
|
|
75
100
|
export default BEAnalyticsObserver;
|
|
76
101
|
//# sourceMappingURL=Observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","deviceDetect","BEEventApi","BEAnalyticsObserver","source","session_id","distinct_id","init_loaded","setInitLoaded","device_data","undefined","updateAnalytics","setDistinctId","setSource","is_pwa","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","deviceDetect","BEEventApi","Platform","BEAnalyticsObserver","source","session_id","distinct_id","init_loaded","setInitLoaded","device_data","undefined","updateAnalytics","setDistinctId","setSessionId","setSource","notification_permission","is_pwa","OS","isPWA","getNotificationPermissions","setDevice","url","window","location","href","sendIncomingUserEvent","sendAppIncomingUserEvent","createElement","Fragment","Notification","permission","mqStandAlone","new_nav","navigator","standalone","matchMedia","matches","parsed_url","split","new_data","native","platform","map","p","vars","length","reference_id","referrer","document","saveEvent","event_name","event_data","level"],"sourceRoot":"../../../src","sources":["Observer/Observer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../../commonjs/Observer/Observer.js"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../../commonjs/Observer/Observer.js"],"names":[],"mappings":";;AAYA;;;;QAyCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../../module/Observer/Observer.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../../module/Observer/Observer.js"],"names":[],"mappings":";AAIA;;;;;;GAyCC;kBA7C0C,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../../src/Observer/Observer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../../src/Observer/Observer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,KAAK,wBAAwB,GAAG;IAC5B,MAAM,EAAC,MAAM,CAAC;IACd,UAAU,EAAC,MAAM,CAAC;IAClB,WAAW,EAAC,MAAM,CAAC;CACtB,CAAA;AAED,QAAA,MAAM,mBAAmB,wCAAwC,wBAAwB,sBAsCxF,CAAA;AAmDD,eAAe,mBAAmB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { deviceDetect } from 'react-device-detect';
|
|
3
3
|
import { BEEventApi } from './api';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
4
5
|
|
|
5
6
|
type BEAnalyticsObserverProps = {
|
|
6
7
|
source:string;
|
|
@@ -14,20 +15,34 @@ const BEAnalyticsObserver = ({ source, session_id, distinct_id }:BEAnalyticsObse
|
|
|
14
15
|
const device_data = deviceDetect(undefined);
|
|
15
16
|
|
|
16
17
|
useEffect(() => {
|
|
17
|
-
updateAnalytics()
|
|
18
|
+
updateAnalytics();
|
|
18
19
|
},[device_data, session_id, distinct_id])
|
|
19
20
|
|
|
20
21
|
const updateAnalytics = async() => {
|
|
21
22
|
//Get
|
|
22
23
|
BEEventApi.setDistinctId(distinct_id)
|
|
24
|
+
BEEventApi.setSessionId(session_id)
|
|
23
25
|
BEEventApi.setSource(source)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
|
|
27
|
+
//In here we need to determine what device
|
|
28
|
+
let notification_permission = 'not_allowed'
|
|
29
|
+
let is_pwa = false
|
|
30
|
+
if(Platform.OS == 'web'){
|
|
31
|
+
is_pwa = isPWA();
|
|
32
|
+
notification_permission = getNotificationPermissions();
|
|
33
|
+
} else {
|
|
34
|
+
is_pwa = true
|
|
35
|
+
}
|
|
36
|
+
|
|
26
37
|
BEEventApi.setDevice({ ...device_data, is_pwa, notification_permission })
|
|
27
|
-
BEEventApi.setSessionId(session_id)
|
|
28
38
|
if(!init_loaded){
|
|
29
|
-
|
|
30
|
-
|
|
39
|
+
if(Platform.OS == 'web'){
|
|
40
|
+
let url = window?.location?.href
|
|
41
|
+
sendIncomingUserEvent(url)
|
|
42
|
+
} else {
|
|
43
|
+
sendAppIncomingUserEvent();
|
|
44
|
+
}
|
|
45
|
+
|
|
31
46
|
setInitLoaded(true)
|
|
32
47
|
}
|
|
33
48
|
}
|
|
@@ -54,7 +69,9 @@ const isPWA = () => {
|
|
|
54
69
|
const sendIncomingUserEvent = (url:string) => {
|
|
55
70
|
const parsed_url = url.split(/[?&]/)
|
|
56
71
|
const new_data:any = {
|
|
57
|
-
href: url
|
|
72
|
+
href: url,
|
|
73
|
+
native: false,
|
|
74
|
+
platform: 'web'
|
|
58
75
|
};
|
|
59
76
|
parsed_url.map(p => {
|
|
60
77
|
let vars = p.split('=')
|
|
@@ -73,4 +90,12 @@ const sendIncomingUserEvent = (url:string) => {
|
|
|
73
90
|
})
|
|
74
91
|
}
|
|
75
92
|
|
|
93
|
+
const sendAppIncomingUserEvent = () => {
|
|
94
|
+
BEEventApi.saveEvent({
|
|
95
|
+
event_name: 'incoming_user',
|
|
96
|
+
event_data: { native:true, platform:Platform.OS },
|
|
97
|
+
level:1
|
|
98
|
+
})
|
|
99
|
+
}
|
|
100
|
+
|
|
76
101
|
export default BEAnalyticsObserver
|