@datacanva/react-native-tracker 0.1.2 → 0.1.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/README.md CHANGED
@@ -15,9 +15,9 @@ yarn add @datacanva/react-native-tracker
15
15
  For enhanced device information collection, you can optionally install:
16
16
 
17
17
  ```bash
18
- npm install react-native-uuid react-native-device-info react-native-localize
18
+ npm install react-native-uuid react-native-device-info react-native-localize react-native-ad-id
19
19
  # or
20
- yarn add react-native-uuid react-native-device-info react-native-localize
20
+ yarn add react-native-uuid react-native-device-info react-native-localize react-native-ad-id
21
21
  ```
22
22
 
23
23
  > **Note:** These dependencies are completely optional. The tracker works fine without them. If you want to disable device info collection or only use core tracking features, you can skip this step. However, if installed, `react-native-device-info` and `react-native-localize` require native configuration. Please follow their respective setup guides:
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ const getAdvertisingId = async () => {
4
+ try {
5
+ const {
6
+ getAdvertisingId
7
+ } = await import("react-native-ad-id");
8
+ const res = await getAdvertisingId();
9
+ return {
10
+ mobile_advertising_id: res.advertisingId,
11
+ mobile_is_limit_ad_tracking_enabled: `${res.isLimitAdTrackingEnabled}`
12
+ };
13
+ } catch (e) {
14
+ console.debug(e);
15
+ }
16
+ return {};
17
+ };
18
+ export default getAdvertisingId;
19
+ //# sourceMappingURL=getAdvertisingId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAdvertisingId","res","mobile_advertising_id","advertisingId","mobile_is_limit_ad_tracking_enabled","isLimitAdTrackingEnabled","e","console","debug"],"sourceRoot":"..\\..\\src","sources":["getAdvertisingId.ts"],"mappings":";;AAAA,MAAMA,gBAAgB,GAAG,MAAAA,CAAA,KAA6C;EACpE,IAAI;IACF,MAAM;MAAEA;IAAiB,CAAC,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;IAC/D,MAAMC,GAAG,GAAG,MAAMD,gBAAgB,CAAC,CAAC;IAEpC,OAAO;MACLE,qBAAqB,EAAED,GAAG,CAACE,aAAa;MACxCC,mCAAmC,EAAE,GAAGH,GAAG,CAACI,wBAAwB;IACtE,CAAC;EACH,CAAC,CAAC,OAAOC,CAAC,EAAE;IACVC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;EAClB;EACA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,eAAeN,gBAAgB","ignoreList":[]}
@@ -19,7 +19,9 @@ const getDeviceInfo = async exclude => {
19
19
  // Application info
20
20
  entry("mobile_app_bundle_id", DeviceInfo.getBundleId), entry("mobile_app_version", DeviceInfo.getVersion), entry("mobile_app_build_number", DeviceInfo.getBuildNumber), entry("mobile_app_readable_version", DeviceInfo.getReadableVersion), entry("mobile_app_installer_package", DeviceInfo.getInstallerPackageName), entry("mobile_app_instance_id", DeviceInfo.getInstanceId), entry("mobile_app_update_time", DeviceInfo.getLastUpdateTime)]);
21
21
  return Object.fromEntries(entries.filter(e => e[0] && !exclude?.includes(e[0])));
22
- } catch (e) {}
22
+ } catch (e) {
23
+ console.debug(e);
24
+ }
23
25
  return {};
24
26
  };
25
27
  export default getDeviceInfo;
@@ -1 +1 @@
1
- {"version":3,"names":["getDeviceInfo","exclude","entry","key","getter","includes","e","default","DeviceInfo","entries","Promise","all","getUniqueId","getAndroidId","getAppSetId","id","getDeviceId","getDeviceType","getManufacturer","getBrand","getModel","getSystemName","getSystemVersion","getBuildId","isEmulator","getCarrier","getBundleId","getVersion","getBuildNumber","getReadableVersion","getInstallerPackageName","getInstanceId","getLastUpdateTime","Object","fromEntries","filter"],"sourceRoot":"..\\..\\src","sources":["getDeviceInfo.ts"],"mappings":";;AAEA,MAAMA,aAAa,GAAG,MAAOC,OAAkB,IAAK;EAClD,IAAI;IACF,MAAMC,KAAK,GAAG,MAAAA,CAAOC,GAAW,EAAEC,MAA4B,KAAK;MACjE,IAAI,CAACH,OAAO,EAAEI,QAAQ,CAACF,GAAG,CAAC,EACzB,IAAI;QACF,OAAO,CAACA,GAAG,EAAE,GAAG,MAAMC,MAAM,CAAC,CAAC,EAAE,CAAC;MACnC,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;MACf,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;MAAEC,OAAO,EAAEC;IAAW,CAAC,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC;IACxE,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC;IAChC;IACAT,KAAK,CAAC,kBAAkB,EAAEM,UAAU,CAACI,WAAW,CAAC,EACjDV,KAAK,CAAC,mBAAmB,EAAEM,UAAU,CAACK,YAAY,CAAC,EACnDX,KAAK,CACH,2BAA2B,EAC3B,YAAY,CAAC,MAAMM,UAAU,CAACM,WAAW,CAAC,CAAC,EAAEC,EAC/C,CAAC;IACD;IACAb,KAAK,CAAC,kBAAkB,EAAEM,UAAU,CAACQ,WAAW,CAAC,EACjDd,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACS,aAAa,CAAC,EACrDf,KAAK,CAAC,qBAAqB,EAAEM,UAAU,CAACU,eAAe,CAAC,EACxDhB,KAAK,CAAC,cAAc,EAAEM,UAAU,CAACW,QAAQ,CAAC,EAC1CjB,KAAK,CAAC,cAAc,EAAEM,UAAU,CAACY,QAAQ,CAAC,EAC1ClB,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACa,aAAa,CAAC,EACrDnB,KAAK,CAAC,uBAAuB,EAAEM,UAAU,CAACc,gBAAgB,CAAC,EAC3DpB,KAAK,CAAC,wBAAwB,EAAEM,UAAU,CAACe,UAAU,CAAC,EACtDrB,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACgB,UAAU,CAAC,EAClDtB,KAAK,CAAC,gBAAgB,EAAEM,UAAU,CAACiB,UAAU,CAAC;IAC9C;IACAvB,KAAK,CAAC,sBAAsB,EAAEM,UAAU,CAACkB,WAAW,CAAC,EACrDxB,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACmB,UAAU,CAAC,EAClDzB,KAAK,CAAC,yBAAyB,EAAEM,UAAU,CAACoB,cAAc,CAAC,EAC3D1B,KAAK,CAAC,6BAA6B,EAAEM,UAAU,CAACqB,kBAAkB,CAAC,EACnE3B,KAAK,CAAC,8BAA8B,EAAEM,UAAU,CAACsB,uBAAuB,CAAC,EACzE5B,KAAK,CAAC,wBAAwB,EAAEM,UAAU,CAACuB,aAAa,CAAC,EACzD7B,KAAK,CAAC,wBAAwB,EAAEM,UAAU,CAACwB,iBAAiB,CAAC,CAC9D,CAAC;IACF,OAAOC,MAAM,CAACC,WAAW,CACvBzB,OAAO,CAAC0B,MAAM,CAAC7B,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAI,CAACL,OAAO,EAAEI,QAAQ,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;EACH,CAAC,CAAC,OAAOA,CAAC,EAAE,CAAC;EACb,OAAO,CAAC,CAAC;AACX,CAAC;AAED,eAAeN,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["getDeviceInfo","exclude","entry","key","getter","includes","e","default","DeviceInfo","entries","Promise","all","getUniqueId","getAndroidId","getAppSetId","id","getDeviceId","getDeviceType","getManufacturer","getBrand","getModel","getSystemName","getSystemVersion","getBuildId","isEmulator","getCarrier","getBundleId","getVersion","getBuildNumber","getReadableVersion","getInstallerPackageName","getInstanceId","getLastUpdateTime","Object","fromEntries","filter","console","debug"],"sourceRoot":"..\\..\\src","sources":["getDeviceInfo.ts"],"mappings":";;AAEA,MAAMA,aAAa,GAAG,MAAOC,OAAkB,IAAK;EAClD,IAAI;IACF,MAAMC,KAAK,GAAG,MAAAA,CAAOC,GAAW,EAAEC,MAA4B,KAAK;MACjE,IAAI,CAACH,OAAO,EAAEI,QAAQ,CAACF,GAAG,CAAC,EACzB,IAAI;QACF,OAAO,CAACA,GAAG,EAAE,GAAG,MAAMC,MAAM,CAAC,CAAC,EAAE,CAAC;MACnC,CAAC,CAAC,OAAOE,CAAC,EAAE,CAAC;MACf,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;MAAEC,OAAO,EAAEC;IAAW,CAAC,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC;IACxE,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC;IAChC;IACAT,KAAK,CAAC,kBAAkB,EAAEM,UAAU,CAACI,WAAW,CAAC,EACjDV,KAAK,CAAC,mBAAmB,EAAEM,UAAU,CAACK,YAAY,CAAC,EACnDX,KAAK,CACH,2BAA2B,EAC3B,YAAY,CAAC,MAAMM,UAAU,CAACM,WAAW,CAAC,CAAC,EAAEC,EAC/C,CAAC;IACD;IACAb,KAAK,CAAC,kBAAkB,EAAEM,UAAU,CAACQ,WAAW,CAAC,EACjDd,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACS,aAAa,CAAC,EACrDf,KAAK,CAAC,qBAAqB,EAAEM,UAAU,CAACU,eAAe,CAAC,EACxDhB,KAAK,CAAC,cAAc,EAAEM,UAAU,CAACW,QAAQ,CAAC,EAC1CjB,KAAK,CAAC,cAAc,EAAEM,UAAU,CAACY,QAAQ,CAAC,EAC1ClB,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACa,aAAa,CAAC,EACrDnB,KAAK,CAAC,uBAAuB,EAAEM,UAAU,CAACc,gBAAgB,CAAC,EAC3DpB,KAAK,CAAC,wBAAwB,EAAEM,UAAU,CAACe,UAAU,CAAC,EACtDrB,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACgB,UAAU,CAAC,EAClDtB,KAAK,CAAC,gBAAgB,EAAEM,UAAU,CAACiB,UAAU,CAAC;IAC9C;IACAvB,KAAK,CAAC,sBAAsB,EAAEM,UAAU,CAACkB,WAAW,CAAC,EACrDxB,KAAK,CAAC,oBAAoB,EAAEM,UAAU,CAACmB,UAAU,CAAC,EAClDzB,KAAK,CAAC,yBAAyB,EAAEM,UAAU,CAACoB,cAAc,CAAC,EAC3D1B,KAAK,CAAC,6BAA6B,EAAEM,UAAU,CAACqB,kBAAkB,CAAC,EACnE3B,KAAK,CAAC,8BAA8B,EAAEM,UAAU,CAACsB,uBAAuB,CAAC,EACzE5B,KAAK,CAAC,wBAAwB,EAAEM,UAAU,CAACuB,aAAa,CAAC,EACzD7B,KAAK,CAAC,wBAAwB,EAAEM,UAAU,CAACwB,iBAAiB,CAAC,CAC9D,CAAC;IACF,OAAOC,MAAM,CAACC,WAAW,CACvBzB,OAAO,CAAC0B,MAAM,CAAC7B,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAI,CAACL,OAAO,EAAEI,QAAQ,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;EACH,CAAC,CAAC,OAAOA,CAAC,EAAE;IACV8B,OAAO,CAACC,KAAK,CAAC/B,CAAC,CAAC;EAClB;EACA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,eAAeN,aAAa","ignoreList":[]}
@@ -10,7 +10,9 @@ const getLanguages = async () => {
10
10
  language: `${locales[0]}`,
11
11
  languages: locales.join(",")
12
12
  };
13
- } catch (e) {}
13
+ } catch (e) {
14
+ console.debug(e);
15
+ }
14
16
  return {};
15
17
  };
16
18
  export default getLanguages;
@@ -1 +1 @@
1
- {"version":3,"names":["getLanguages","getLocales","locales","map","e","languageTag","language","languages","join"],"sourceRoot":"..\\..\\src","sources":["getLanguages.ts"],"mappings":";;AAAA,MAAMA,YAAY,GAAG,MAAAA,CAAA,KAA6C;EAChE,IAAI;IACF,MAAM;MAAEC;IAAW,CAAC,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC;IAC5D,MAAMC,OAAO,GAAGD,UAAU,CAAC,CAAC,CAACE,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;IAEpD,OAAO;MACLC,QAAQ,EAAE,GAAGJ,OAAO,CAAC,CAAC,CAAC,EAAE;MACzBK,SAAS,EAAEL,OAAO,CAACM,IAAI,CAAC,GAAG;IAC7B,CAAC;EACH,CAAC,CAAC,OAAOJ,CAAC,EAAE,CAAC;EACb,OAAO,CAAC,CAAC;AACX,CAAC;AAED,eAAeJ,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["getLanguages","getLocales","locales","map","e","languageTag","language","languages","join","console","debug"],"sourceRoot":"..\\..\\src","sources":["getLanguages.ts"],"mappings":";;AAAA,MAAMA,YAAY,GAAG,MAAAA,CAAA,KAA6C;EAChE,IAAI;IACF,MAAM;MAAEC;IAAW,CAAC,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC;IAC5D,MAAMC,OAAO,GAAGD,UAAU,CAAC,CAAC,CAACE,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,CAAC;IAEpD,OAAO;MACLC,QAAQ,EAAE,GAAGJ,OAAO,CAAC,CAAC,CAAC,EAAE;MACzBK,SAAS,EAAEL,OAAO,CAACM,IAAI,CAAC,GAAG;IAC7B,CAAC;EACH,CAAC,CAAC,OAAOJ,CAAC,EAAE;IACVK,OAAO,CAACC,KAAK,CAACN,CAAC,CAAC;EAClB;EACA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,eAAeJ,YAAY","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import getAdvertisingId from "./getAdvertisingId.js";
3
4
  import getDeviceInfo from "./getDeviceInfo.js";
4
5
  import getLanguages from "./getLanguages.js";
5
6
  export default class Tracker {
@@ -34,6 +35,7 @@ export default class Tracker {
34
35
  ...(this.options?.defaultAttributes && this.options.defaultAttributes()),
35
36
  ...(!this.options?.disableLanguages && (await getLanguages())),
36
37
  ...(!this.options?.disableDeviceInfo && (await getDeviceInfo(this.options?.excludeDeviceInfo))),
38
+ ...(!this.options?.disableAdvertisingInfo && (await getAdvertisingId())),
37
39
  ...attributes
38
40
  }).toString();
39
41
  return new URL(`tracker/${this.trackerId}/collect?${queryString}`, this.baseUrl).href;
@@ -51,6 +53,7 @@ export default class Tracker {
51
53
  this.state.prevUrl = `${current_url}`;
52
54
  this.state.currentUrlStartTime = now;
53
55
  this.track({
56
+ action: "navigate",
54
57
  current_url,
55
58
  previous_url,
56
59
  previous_url_duration_ms
@@ -1 +1 @@
1
- {"version":3,"names":["getDeviceInfo","getLanguages","Tracker","constructor","baseUrl","trackerId","options","state","visitId","visitDepth","prevUrl","currentUrlStartTime","Date","now","uuidSupplier","default","uuid","v4","e","console","error","then","getUrl","attributes","queryString","URLSearchParams","r","Math","random","toString","substring","visit_id","visit_depth","defaultAttributes","disableLanguages","disableDeviceInfo","excludeDeviceInfo","URL","href","track","fetch","credentials","trackNavigation","currentRoutingKey","current_url","previous_url","previous_url_duration_ms"],"sourceRoot":"..\\..\\src","sources":["tracker.ts"],"mappings":";;AAAA,OAAOA,aAAa,MAAM,oBAAiB;AAC3C,OAAOC,YAAY,MAAM,mBAAgB;AAiBzC,eAAe,MAAMC,OAAO,CAAC;EAI3BC,WAAWA,CACDC,OAAe,EACfC,SAAiB,EACjBC,OAAiB,EACzB;IAAA,KAHQF,OAAe,GAAfA,OAAe;IAAA,KACfC,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,OAAiB,GAAjBA,OAAiB;IAEzB,IAAI,CAACC,KAAK,GAAG;MACXC,OAAO,EAAE,EAAE;MACXC,UAAU,EAAE,CAAC;MACbC,OAAO,EAAE,EAAE;MACXC,mBAAmB,EAAEC,IAAI,CAACC,GAAG,CAAC;IAChC,CAAC;IACD,IAAI,CAACC,YAAY,GACfR,OAAO,EAAEQ,YAAY,KACpB,YAAY;MACX,IAAI;QACF,MAAM;UAAEC,OAAO,EAAEC;QAAK,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;QAC3D,OAAOA,IAAI,CAACC,EAAE,CAAC,CAAC;MAClB,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;QAChB,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IACJ,IAAI,CAACJ,YAAY,CAAC,CAAC,CAACO,IAAI,CAACH,CAAC,IAAK,IAAI,CAACX,KAAK,CAACC,OAAO,GAAGU,CAAE,CAAC;EACzD;EAEA,MAAaI,MAAMA,CAACC,UAAmC,EAAE;IACvD,MAAMC,WAAW,GAAG,IAAIC,eAAe,CAAC;MACtCC,CAAC,EAAEC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,CAAC;MAC1CC,QAAQ,EAAE,IAAI,CAACxB,KAAK,CAACC,OAAO;MAC5BwB,WAAW,EAAE,GAAG,IAAI,CAACzB,KAAK,CAACE,UAAU,EAAE,EAAE;MACzC,IAAI,IAAI,CAACH,OAAO,EAAE2B,iBAAiB,IAAI,IAAI,CAAC3B,OAAO,CAAC2B,iBAAiB,CAAC,CAAC,CAAC;MACxE,IAAI,CAAC,IAAI,CAAC3B,OAAO,EAAE4B,gBAAgB,KAAK,MAAMjC,YAAY,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAI,CAAC,IAAI,CAACK,OAAO,EAAE6B,iBAAiB,KACjC,MAAMnC,aAAa,CAAC,IAAI,CAACM,OAAO,EAAE8B,iBAAiB,CAAC,CAAC,CAAC;MACzD,GAAGb;IACL,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;IACb,OAAO,IAAIQ,GAAG,CACZ,WAAW,IAAI,CAAChC,SAAS,YAAYmB,WAAW,EAAE,EAClD,IAAI,CAACpB,OACP,CAAC,CAACkC,IAAI;EACR;EAEA,MAAaC,KAAKA,CAAChB,UAAmC,EAAE;IACtD,MAAMiB,KAAK,CAAC,MAAM,IAAI,CAAClB,MAAM,CAACC,UAAU,CAAC,EAAE;MAAEkB,WAAW,EAAE;IAAU,CAAC,CAAC;EACxE;EAEA,MAAaC,eAAeA,CAACC,iBAAyB,EAAE;IACtD,MAAM9B,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IACtB,MAAM+B,WAAW,GAAGD,iBAAiB;IACrC,MAAME,YAAY,GAAG,GAAG,IAAI,CAACtC,KAAK,CAACG,OAAO,EAAE;IAC5C,MAAMoC,wBAAwB,GAAG,GAAGjC,GAAG,GAAG,IAAI,CAACN,KAAK,CAACI,mBAAmB,EAAE;IAC1E,IAAI,CAACJ,KAAK,CAACG,OAAO,GAAG,GAAGkC,WAAW,EAAE;IACrC,IAAI,CAACrC,KAAK,CAACI,mBAAmB,GAAGE,GAAG;IACpC,IAAI,CAAC0B,KAAK,CAAC;MACTK,WAAW;MACXC,YAAY;MACZC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getAdvertisingId","getDeviceInfo","getLanguages","Tracker","constructor","baseUrl","trackerId","options","state","visitId","visitDepth","prevUrl","currentUrlStartTime","Date","now","uuidSupplier","default","uuid","v4","e","console","error","then","getUrl","attributes","queryString","URLSearchParams","r","Math","random","toString","substring","visit_id","visit_depth","defaultAttributes","disableLanguages","disableDeviceInfo","excludeDeviceInfo","disableAdvertisingInfo","URL","href","track","fetch","credentials","trackNavigation","currentRoutingKey","current_url","previous_url","previous_url_duration_ms","action"],"sourceRoot":"..\\..\\src","sources":["tracker.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ declare const getAdvertisingId: () => Promise<Record<string, string>>;
2
+ export default getAdvertisingId;
3
+ //# sourceMappingURL=getAdvertisingId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAdvertisingId.d.ts","sourceRoot":"","sources":["../../../src/getAdvertisingId.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAahE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDeviceInfo.d.ts","sourceRoot":"","sources":["../../../src/getDeviceInfo.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE;;EA4C9C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"getDeviceInfo.d.ts","sourceRoot":"","sources":["../../../src/getDeviceInfo.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE;;EA8C9C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLanguages.d.ts","sourceRoot":"","sources":["../../../src/getLanguages.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAW5D,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"getLanguages.d.ts","sourceRoot":"","sources":["../../../src/getLanguages.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa5D,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -3,6 +3,7 @@ type Options = {
3
3
  disableLanguages?: boolean;
4
4
  disableDeviceInfo?: boolean;
5
5
  excludeDeviceInfo?: string[];
6
+ disableAdvertisingInfo?: boolean;
6
7
  uuidSupplier?: () => Promise<string>;
7
8
  };
8
9
  type TrackerState = {
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/tracker.ts"],"names":[],"mappings":"AAGA,KAAK,OAAO,GAAG;IACb,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,OAAO;IAKxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO,CAAC;IANlB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,YAAA;IAsBd,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiB1C,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzC,eAAe,CAAC,iBAAiB,EAAE,MAAM;CAavD"}
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/tracker.ts"],"names":[],"mappings":"AAIA,KAAK,OAAO,GAAG;IACb,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,OAAO;IAKxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO,CAAC;IANlB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,YAAA;IAsBd,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAkB1C,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIzC,eAAe,CAAC,iBAAiB,EAAE,MAAM;CAcvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datacanva/react-native-tracker",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Datacanva web tracker API for react native.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -71,6 +71,7 @@
71
71
  "prettier-plugin-organize-imports": "^4.3.0",
72
72
  "react": "19.2.0",
73
73
  "react-native": "0.83.2",
74
+ "react-native-ad-id": "^0.2.3",
74
75
  "react-native-builder-bob": "^0.40.13",
75
76
  "react-native-device-info": "^15.0.2",
76
77
  "react-native-localize": "^3.7.0",
@@ -82,9 +83,10 @@
82
83
  "peerDependencies": {
83
84
  "react": "*",
84
85
  "react-native": "*",
85
- "react-native-device-info": "*",
86
+ "react-native-uuid": "*",
87
+ "react-native-ad-id": "*",
86
88
  "react-native-localize": "*",
87
- "react-native-uuid": "*"
89
+ "react-native-device-info": "*"
88
90
  },
89
91
  "peerDependenciesMeta": {
90
92
  "react-native-device-info": {
@@ -0,0 +1,16 @@
1
+ const getAdvertisingId = async (): Promise<Record<string, string>> => {
2
+ try {
3
+ const { getAdvertisingId } = await import("react-native-ad-id");
4
+ const res = await getAdvertisingId();
5
+
6
+ return {
7
+ mobile_advertising_id: res.advertisingId,
8
+ mobile_is_limit_ad_tracking_enabled: `${res.isLimitAdTrackingEnabled}`,
9
+ };
10
+ } catch (e) {
11
+ console.debug(e);
12
+ }
13
+ return {};
14
+ };
15
+
16
+ export default getAdvertisingId;
@@ -42,7 +42,9 @@ const getDeviceInfo = async (exclude?: string[]) => {
42
42
  return Object.fromEntries(
43
43
  entries.filter(e => e[0] && !exclude?.includes(e[0])),
44
44
  );
45
- } catch (e) {}
45
+ } catch (e) {
46
+ console.debug(e);
47
+ }
46
48
  return {};
47
49
  };
48
50
 
@@ -7,7 +7,9 @@ const getLanguages = async (): Promise<Record<string, string>> => {
7
7
  language: `${locales[0]}`,
8
8
  languages: locales.join(","),
9
9
  };
10
- } catch (e) {}
10
+ } catch (e) {
11
+ console.debug(e);
12
+ }
11
13
  return {};
12
14
  };
13
15
 
package/src/tracker.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import getAdvertisingId from "./getAdvertisingId";
1
2
  import getDeviceInfo from "./getDeviceInfo";
2
3
  import getLanguages from "./getLanguages";
3
4
 
@@ -6,6 +7,7 @@ type Options = {
6
7
  disableLanguages?: boolean;
7
8
  disableDeviceInfo?: boolean;
8
9
  excludeDeviceInfo?: string[];
10
+ disableAdvertisingInfo?: boolean;
9
11
  uuidSupplier?: () => Promise<string>;
10
12
  };
11
13
 
@@ -54,6 +56,7 @@ export default class Tracker {
54
56
  ...(!this.options?.disableLanguages && (await getLanguages())),
55
57
  ...(!this.options?.disableDeviceInfo &&
56
58
  (await getDeviceInfo(this.options?.excludeDeviceInfo))),
59
+ ...(!this.options?.disableAdvertisingInfo && (await getAdvertisingId())),
57
60
  ...attributes,
58
61
  }).toString();
59
62
  return new URL(
@@ -74,6 +77,7 @@ export default class Tracker {
74
77
  this.state.prevUrl = `${current_url}`;
75
78
  this.state.currentUrlStartTime = now;
76
79
  this.track({
80
+ action: "navigate",
77
81
  current_url,
78
82
  previous_url,
79
83
  previous_url_duration_ms,