rn-linkrunner 0.2.2 → 0.4.0

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,31 +1,71 @@
1
1
  # rn-linkrunner
2
2
 
3
- React Native Package for linkrunner
3
+ React Native Package for [linkrunner.io](https://www.linkrunner.io)
4
4
 
5
5
  ## Installation
6
6
 
7
+ ### Step 1: Prerequisites
8
+
9
+ rn-linkrunner also uses `react-native-device-info` and `react-native-encrypted-storage`, you can install these packages from the below mentioned commands
10
+
11
+ ```sh
12
+ npm install react-native-device-info react-native-encrypted-storage
13
+
14
+ or
15
+
16
+ yarn add react-native-device-info react-native-encrypted-storage
17
+ ```
18
+
19
+ then run `cd ios && pod install` to install pods for the above mentioned packages
20
+
21
+ ### Step 2: Installing rn-linkrunner
22
+
7
23
  ```sh
8
24
  npm install rn-linkrunner
25
+
26
+ or
27
+
28
+ yarn add rn-linkrunner
9
29
  ```
10
30
 
11
31
  ## Usage
12
32
 
33
+ ### Initialisation
34
+
35
+ You'll need your [project token](https://www.linkrunner.io) to initialisation the package
36
+
37
+ Place it in the `App.tsx` component, make sure the dependency array is empty for the `useEffect`
38
+
13
39
  ```js
14
- import { multiply } from 'rn-linkrunner';
40
+ import linkrunner from 'rn-linkrunner';
41
+
42
+ // Inside your react component
43
+ useEffect(() => {
44
+ linkrunner.init('PROJECT_TOKEN');
45
+ }, []);
46
+ ```
15
47
 
16
- // ...
48
+ ### Trigger
17
49
 
18
- const result = await multiply(3, 7);
50
+ Call this function once your onboarding is completed and the navigation stack can be accessed by a deeplink
51
+
52
+ ```JSX
53
+ import linkrunner from 'rn-linkrunner';
54
+
55
+ const onTrigger = () => {
56
+ linkrunner.trigger({
57
+ user_id: 'USER_ID',
58
+ data: {},
59
+ });
60
+ };
19
61
  ```
20
62
 
21
- ## Contributing
63
+ Both the attributes in the `trigger` method are optional although recommened to have.
64
+
65
+ <!-- ## Contributing
22
66
 
23
- See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
67
+ See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. -->
24
68
 
25
69
  ## License
26
70
 
27
71
  MIT
28
-
29
- ---
30
-
31
- Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
@@ -4,15 +4,41 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _reactNativeDeviceInfo = _interopRequireDefault(require("react-native-device-info"));
7
+ var _reactNative = require("react-native");
8
+ var _reactNativeDeviceInfo = _interopRequireWildcard(require("react-native-device-info"));
8
9
  var _reactNativeEncryptedStorage = _interopRequireDefault(require("react-native-encrypted-storage"));
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const package_version = '0.2.2';
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); }
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 && Object.prototype.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; }
13
+ const package_version = '0.4.0';
11
14
  const app_version = _reactNativeDeviceInfo.default.getVersion();
12
15
  const EncryptedStorageTokenName = 'linkrunner-token';
16
+ const device_data = {
17
+ android_id: _reactNativeDeviceInfo.default.getAndroidId(),
18
+ api_level: _reactNativeDeviceInfo.default.getApiLevel(),
19
+ application_name: _reactNativeDeviceInfo.default.getApplicationName(),
20
+ base_os: _reactNativeDeviceInfo.default.getBaseOs(),
21
+ build_id: _reactNativeDeviceInfo.default.getBuildId(),
22
+ brand: _reactNativeDeviceInfo.default.getBrand(),
23
+ build_number: _reactNativeDeviceInfo.default.getBuildNumber(),
24
+ bundle_id: _reactNativeDeviceInfo.default.getBundleId(),
25
+ carrier: _reactNativeDeviceInfo.default.getCarrier(),
26
+ device: _reactNativeDeviceInfo.default.getDevice(),
27
+ device_id: _reactNativeDeviceInfo.default.getDeviceId(),
28
+ device_type: _reactNativeDeviceInfo.default.getDeviceType(),
29
+ device_name: _reactNativeDeviceInfo.default.getDeviceName(),
30
+ device_token: _reactNativeDeviceInfo.default.getDeviceToken(),
31
+ device_ip: _reactNativeDeviceInfo.default.getIpAddress(),
32
+ install_ref: _reactNativeDeviceInfo.default.getInstallReferrer(),
33
+ manufacturer: (0, _reactNativeDeviceInfo.getManufacturer)(),
34
+ system_version: (0, _reactNativeDeviceInfo.getSystemVersion)(),
35
+ version: _reactNativeDeviceInfo.default.getVersion()
36
+ };
37
+ const baseUrl = 'https://api.linkrunner.io';
13
38
  const init = token => {
39
+ // In error message add "Click here to get your project token"
14
40
  if (!token) return console.error('Linkrunner needs your project token to initialize!');
15
- fetch('http://localhost:4000/api/client/init', {
41
+ fetch(baseUrl + '/api/client/init', {
16
42
  method: 'POST',
17
43
  headers: {
18
44
  'Accept': 'application/json',
@@ -21,7 +47,8 @@ const init = token => {
21
47
  body: JSON.stringify({
22
48
  token,
23
49
  package_version,
24
- app_version
50
+ app_version,
51
+ device_data
25
52
  })
26
53
  }).then(res => res.json()).then(async result => {
27
54
  if (!result) throw new Error('No response obtained!');
@@ -39,7 +66,7 @@ const trigger = async ({
39
66
  user_id
40
67
  }) => {
41
68
  const token = await _reactNativeEncryptedStorage.default.getItem(EncryptedStorageTokenName);
42
- fetch('http://localhost:4000/api/client/trigger', {
69
+ fetch(baseUrl + '/api/client/trigger', {
43
70
  method: 'POST',
44
71
  headers: {
45
72
  'Accept': 'application/json',
@@ -48,16 +75,26 @@ const trigger = async ({
48
75
  body: JSON.stringify({
49
76
  token,
50
77
  user_id,
51
- data
78
+ data: {
79
+ ...data,
80
+ device_data
81
+ }
52
82
  })
53
83
  }).then(res => res.json()).then(result => {
84
+ var _result$data;
54
85
  if (!result) throw new Error('No response obtained!');
55
86
  if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
56
- throw new Error(result === null || result === void 0 ? void 0 : result.msg);
87
+ console.error('Linkrunner: Trigger failed');
88
+ console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
89
+ }
90
+ if (!!(result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink)) {
91
+ var _result$data2;
92
+ _reactNative.Linking.openURL(result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.deeplink);
57
93
  }
58
94
  console.log('Linkrunner: Trigger called 🔥');
59
95
  }).catch(err => {
60
- console.error('Error initializing linkrunner: ', err.message);
96
+ console.error('Linkrunner: Trigger failed');
97
+ console.error('Linkrunner: ', err === null || err === void 0 ? void 0 : err.msg);
61
98
  });
62
99
  };
63
100
  const linkrunner = {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeDeviceInfo","_interopRequireDefault","require","_reactNativeEncryptedStorage","obj","__esModule","default","package_version","app_version","DeviceInfo","getVersion","EncryptedStorageTokenName","init","token","console","error","fetch","method","headers","body","JSON","stringify","then","res","json","result","Error","status","msg","EncryptedStorage","setItem","log","catch","err","message","trigger","data","user_id","getItem","linkrunner","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_interopRequireWildcard","_reactNativeEncryptedStorage","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","package_version","app_version","DeviceInfo","getVersion","EncryptedStorageTokenName","device_data","android_id","getAndroidId","api_level","getApiLevel","application_name","getApplicationName","base_os","getBaseOs","build_id","getBuildId","brand","getBrand","build_number","getBuildNumber","bundle_id","getBundleId","carrier","getCarrier","device","getDevice","device_id","getDeviceId","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","manufacturer","getManufacturer","system_version","getSystemVersion","version","baseUrl","init","token","console","error","fetch","method","headers","body","JSON","stringify","then","res","json","result","Error","status","msg","EncryptedStorage","setItem","log","catch","err","message","trigger","data","user_id","getItem","_result$data","deeplink","_result$data2","Linking","openURL","linkrunner","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -1,11 +1,35 @@
1
- import DeviceInfo from 'react-native-device-info';
1
+ import { Linking } from 'react-native';
2
+ import DeviceInfo, { getManufacturer, getSystemVersion } from 'react-native-device-info';
2
3
  import EncryptedStorage from 'react-native-encrypted-storage';
3
- const package_version = '0.2.2';
4
+ const package_version = '0.4.0';
4
5
  const app_version = DeviceInfo.getVersion();
5
6
  const EncryptedStorageTokenName = 'linkrunner-token';
7
+ const device_data = {
8
+ android_id: DeviceInfo.getAndroidId(),
9
+ api_level: DeviceInfo.getApiLevel(),
10
+ application_name: DeviceInfo.getApplicationName(),
11
+ base_os: DeviceInfo.getBaseOs(),
12
+ build_id: DeviceInfo.getBuildId(),
13
+ brand: DeviceInfo.getBrand(),
14
+ build_number: DeviceInfo.getBuildNumber(),
15
+ bundle_id: DeviceInfo.getBundleId(),
16
+ carrier: DeviceInfo.getCarrier(),
17
+ device: DeviceInfo.getDevice(),
18
+ device_id: DeviceInfo.getDeviceId(),
19
+ device_type: DeviceInfo.getDeviceType(),
20
+ device_name: DeviceInfo.getDeviceName(),
21
+ device_token: DeviceInfo.getDeviceToken(),
22
+ device_ip: DeviceInfo.getIpAddress(),
23
+ install_ref: DeviceInfo.getInstallReferrer(),
24
+ manufacturer: getManufacturer(),
25
+ system_version: getSystemVersion(),
26
+ version: DeviceInfo.getVersion()
27
+ };
28
+ const baseUrl = 'https://api.linkrunner.io';
6
29
  const init = token => {
30
+ // In error message add "Click here to get your project token"
7
31
  if (!token) return console.error('Linkrunner needs your project token to initialize!');
8
- fetch('http://localhost:4000/api/client/init', {
32
+ fetch(baseUrl + '/api/client/init', {
9
33
  method: 'POST',
10
34
  headers: {
11
35
  'Accept': 'application/json',
@@ -14,7 +38,8 @@ const init = token => {
14
38
  body: JSON.stringify({
15
39
  token,
16
40
  package_version,
17
- app_version
41
+ app_version,
42
+ device_data
18
43
  })
19
44
  }).then(res => res.json()).then(async result => {
20
45
  if (!result) throw new Error('No response obtained!');
@@ -32,7 +57,7 @@ const trigger = async ({
32
57
  user_id
33
58
  }) => {
34
59
  const token = await EncryptedStorage.getItem(EncryptedStorageTokenName);
35
- fetch('http://localhost:4000/api/client/trigger', {
60
+ fetch(baseUrl + '/api/client/trigger', {
36
61
  method: 'POST',
37
62
  headers: {
38
63
  'Accept': 'application/json',
@@ -41,16 +66,26 @@ const trigger = async ({
41
66
  body: JSON.stringify({
42
67
  token,
43
68
  user_id,
44
- data
69
+ data: {
70
+ ...data,
71
+ device_data
72
+ }
45
73
  })
46
74
  }).then(res => res.json()).then(result => {
75
+ var _result$data;
47
76
  if (!result) throw new Error('No response obtained!');
48
77
  if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
49
- throw new Error(result === null || result === void 0 ? void 0 : result.msg);
78
+ console.error('Linkrunner: Trigger failed');
79
+ console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
80
+ }
81
+ if (!!(result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink)) {
82
+ var _result$data2;
83
+ Linking.openURL(result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.deeplink);
50
84
  }
51
85
  console.log('Linkrunner: Trigger called 🔥');
52
86
  }).catch(err => {
53
- console.error('Error initializing linkrunner: ', err.message);
87
+ console.error('Linkrunner: Trigger failed');
88
+ console.error('Linkrunner: ', err === null || err === void 0 ? void 0 : err.msg);
54
89
  });
55
90
  };
56
91
  const linkrunner = {
@@ -1 +1 @@
1
- {"version":3,"names":["DeviceInfo","EncryptedStorage","package_version","app_version","getVersion","EncryptedStorageTokenName","init","token","console","error","fetch","method","headers","body","JSON","stringify","then","res","json","result","Error","status","msg","setItem","log","catch","err","message","trigger","data","user_id","getItem","linkrunner"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["Linking","DeviceInfo","getManufacturer","getSystemVersion","EncryptedStorage","package_version","app_version","getVersion","EncryptedStorageTokenName","device_data","android_id","getAndroidId","api_level","getApiLevel","application_name","getApplicationName","base_os","getBaseOs","build_id","getBuildId","brand","getBrand","build_number","getBuildNumber","bundle_id","getBundleId","carrier","getCarrier","device","getDevice","device_id","getDeviceId","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","manufacturer","system_version","version","baseUrl","init","token","console","error","fetch","method","headers","body","JSON","stringify","then","res","json","result","Error","status","msg","setItem","log","catch","err","message","trigger","data","user_id","getItem","_result$data","deeplink","_result$data2","openURL","linkrunner"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AA2EA,QAAA,MAAM,UAAU;kBApEK,MAAM;;iBAoChB,MAAM,GAAG,MAAM;cAClB,GAAG;;CAkCV,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkHA,QAAA,MAAM,UAAU;kBA/EK,MAAM;;iBAsChB,MAAM,GAAG,MAAM;cAClB,GAAG;;CA2CV,CAAC;AAEF,eAAe,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-linkrunner",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "React Native Package for linkrunner",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.ts CHANGED
@@ -1,15 +1,44 @@
1
- import DeviceInfo from 'react-native-device-info';
1
+ import { Linking } from 'react-native';
2
+ import DeviceInfo, {
3
+ getManufacturer,
4
+ getSystemVersion,
5
+ } from 'react-native-device-info';
2
6
  import EncryptedStorage from 'react-native-encrypted-storage';
3
7
 
4
- const package_version = '0.2.2';
8
+ const package_version = '0.4.0';
5
9
  const app_version = DeviceInfo.getVersion();
6
10
  const EncryptedStorageTokenName = 'linkrunner-token';
7
11
 
12
+ const device_data = {
13
+ android_id: DeviceInfo.getAndroidId(),
14
+ api_level: DeviceInfo.getApiLevel(),
15
+ application_name: DeviceInfo.getApplicationName(),
16
+ base_os: DeviceInfo.getBaseOs(),
17
+ build_id: DeviceInfo.getBuildId(),
18
+ brand: DeviceInfo.getBrand(),
19
+ build_number: DeviceInfo.getBuildNumber(),
20
+ bundle_id: DeviceInfo.getBundleId(),
21
+ carrier: DeviceInfo.getCarrier(),
22
+ device: DeviceInfo.getDevice(),
23
+ device_id: DeviceInfo.getDeviceId(),
24
+ device_type: DeviceInfo.getDeviceType(),
25
+ device_name: DeviceInfo.getDeviceName(),
26
+ device_token: DeviceInfo.getDeviceToken(),
27
+ device_ip: DeviceInfo.getIpAddress(),
28
+ install_ref: DeviceInfo.getInstallReferrer(),
29
+ manufacturer: getManufacturer(),
30
+ system_version: getSystemVersion(),
31
+ version: DeviceInfo.getVersion(),
32
+ };
33
+
34
+ const baseUrl = 'https://api.linkrunner.io';
35
+
8
36
  const init = (token: string) => {
37
+ // In error message add "Click here to get your project token"
9
38
  if (!token)
10
39
  return console.error('Linkrunner needs your project token to initialize!');
11
40
 
12
- fetch('http://localhost:4000/api/client/init', {
41
+ fetch(baseUrl + '/api/client/init', {
13
42
  method: 'POST',
14
43
  headers: {
15
44
  'Accept': 'application/json',
@@ -19,6 +48,7 @@ const init = (token: string) => {
19
48
  token,
20
49
  package_version,
21
50
  app_version,
51
+ device_data,
22
52
  }),
23
53
  })
24
54
  .then((res) => res.json())
@@ -46,7 +76,7 @@ const trigger = async ({
46
76
  }) => {
47
77
  const token = await EncryptedStorage.getItem(EncryptedStorageTokenName);
48
78
 
49
- fetch('http://localhost:4000/api/client/trigger', {
79
+ fetch(baseUrl + '/api/client/trigger', {
50
80
  method: 'POST',
51
81
  headers: {
52
82
  'Accept': 'application/json',
@@ -55,7 +85,10 @@ const trigger = async ({
55
85
  body: JSON.stringify({
56
86
  token,
57
87
  user_id,
58
- data,
88
+ data: {
89
+ ...data,
90
+ device_data,
91
+ },
59
92
  }),
60
93
  })
61
94
  .then((res) => res.json())
@@ -63,13 +96,19 @@ const trigger = async ({
63
96
  if (!result) throw new Error('No response obtained!');
64
97
 
65
98
  if (result?.status !== 200 && result?.status !== 201) {
66
- throw new Error(result?.msg);
99
+ console.error('Linkrunner: Trigger failed');
100
+ console.error('Linkrunner: ', result?.msg);
101
+ }
102
+
103
+ if (!!result?.data?.deeplink) {
104
+ Linking.openURL(result?.data?.deeplink);
67
105
  }
68
106
 
69
107
  console.log('Linkrunner: Trigger called 🔥');
70
108
  })
71
109
  .catch((err) => {
72
- console.error('Error initializing linkrunner: ', err.message);
110
+ console.error('Linkrunner: Trigger failed');
111
+ console.error('Linkrunner: ', err?.msg);
73
112
  });
74
113
  };
75
114