@datacanva/react-native-tracker 0.1.1 → 0.1.3

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
@@ -1,33 +1,48 @@
1
- # @datacanva/react-native-tracker
1
+ # React Native Tracker
2
2
 
3
- Datacanva web tracker API for react native.
3
+ A lightweight, configurable tracking library for React Native applications. Automatically collects device information, tracks navigation with visit depth and duration, and provides a React hook for app state changes (land/leave events).
4
4
 
5
5
  ## Installation
6
6
 
7
- ```sh
7
+ ```bash
8
8
  npm install @datacanva/react-native-tracker
9
+ # or
10
+ yarn add @datacanva/react-native-tracker
9
11
  ```
10
12
 
11
- ## Usage
13
+ ### Optional Peer Dependencies
12
14
 
13
- ```js
14
- import { multiply } from "@datacanva/react-native-tracker";
15
+ For enhanced device information collection, you can optionally install:
15
16
 
16
- // ...
17
-
18
- const result = await multiply(3, 7);
17
+ ```bash
18
+ npm install react-native-uuid react-native-device-info react-native-localize
19
+ # or
20
+ yarn add react-native-uuid react-native-device-info react-native-localize
19
21
  ```
20
22
 
21
- ## Contributing
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:
24
+ >
25
+ > - [react-native-device-info](https://github.com/react-native-device-info/react-native-device-info)
26
+ > - [react-native-localize](https://github.com/zoontek/react-native-localize)
27
+
28
+ ## Quick Start
22
29
 
23
- - [Development workflow](CONTRIBUTING.md#development-workflow)
24
- - [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)
25
- - [Code of conduct](CODE_OF_CONDUCT.md)
30
+ ```ts
31
+ import { Tracker, useAppStateTracker } from "@datacanva/react-native-tracker";
26
32
 
27
- ## License
33
+ // 1. Initialize the tracker
34
+ const tracker = new Tracker("https://datacanva.com", "your-tracker-id");
28
35
 
29
- MIT
36
+ // 2. Track App State (Land/Leave) with React Hook
37
+ function App() {
38
+ useAppStateTracker(tracker);
39
+ // your app content...
40
+ }
30
41
 
31
- ---
42
+ // 3. Track navigation
43
+ tracker.trackNavigation("HomeScreen");
44
+ tracker.trackNavigation("ProfileScreen");
32
45
 
33
- Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
46
+ // 4. Track custom events
47
+ await tracker.track({ action: "button_click" });
48
+ ```
@@ -51,6 +51,7 @@ export default class Tracker {
51
51
  this.state.prevUrl = `${current_url}`;
52
52
  this.state.currentUrlStartTime = now;
53
53
  this.track({
54
+ action: "navigate",
54
55
  current_url,
55
56
  previous_url,
56
57
  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":"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","ignoreList":[]}
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","action"],"sourceRoot":"..\\..\\src","sources":["tracker.ts"],"mappings":"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","ignoreList":[]}
@@ -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":"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;CAcvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datacanva/react-native-tracker",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
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",
@@ -133,8 +133,11 @@
133
133
  },
134
134
  "release-it": {
135
135
  "git": {
136
- "commitMessage": "chore: release ${version}",
137
- "tagName": "v${version}"
136
+ "commit": false,
137
+ "tag": false,
138
+ "push": false,
139
+ "requireCleanWorkingDir": false,
140
+ "requireCommits": false
138
141
  },
139
142
  "npm": {
140
143
  "publish": true
package/src/tracker.ts CHANGED
@@ -74,6 +74,7 @@ export default class Tracker {
74
74
  this.state.prevUrl = `${current_url}`;
75
75
  this.state.currentUrlStartTime = now;
76
76
  this.track({
77
+ action: "navigate",
77
78
  current_url,
78
79
  previous_url,
79
80
  previous_url_duration_ms,