rn-linkrunner 0.5.2 → 0.6.1

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
@@ -6,14 +6,16 @@ React Native Package for [linkrunner.io](https://www.linkrunner.io)
6
6
 
7
7
  ### Step 1: Prerequisites
8
8
 
9
- rn-linkrunner also uses `react-native-device-info`. You can install this package with the following command:
9
+ rn-linkrunner also uses `react-native-device-info`, `@react-native-community/netinfo` and `react-native-play-install-referrer`. You can install these packages with the following command:
10
10
 
11
11
  ```sh
12
- npm install react-native-device-info
12
+ npm install react-native-device-info @react-native-community/netinfo react-native-play-install-referrer
13
+ ```
13
14
 
14
15
  or
15
16
 
16
- yarn add react-native-device-info
17
+ ```sh
18
+ yarn add react-native-device-info @react-native-community/netinfo react-native-play-install-referrer
17
19
  ```
18
20
 
19
21
  Then run `cd ios && pod install` to install pods for the package.
@@ -22,9 +24,11 @@ Then run `cd ios && pod install` to install pods for the package.
22
24
 
23
25
  ```sh
24
26
  npm install rn-linkrunner
27
+ ```
25
28
 
26
29
  or
27
30
 
31
+ ```sh
28
32
  yarn add rn-linkrunner
29
33
  ```
30
34
 
@@ -104,15 +108,55 @@ const onTrigger = async () => {
104
108
  };
105
109
  deeplink: string;
106
110
  root_domain: boolean;
107
- trigger: boolean // Deeplink won't be triggered if false
111
+ trigger: boolean; // Deeplink won't be triggered if false
108
112
  }
109
113
  ```
110
114
 
111
115
  Note: Value of `trigger` will be only true for the first time the function is triggered by the user in order to prevent unnecessary redirects
112
116
 
117
+ ### Capture Payment
118
+
119
+ Use this method to capture payment information:
120
+
121
+ ```js
122
+ const capturePayment = async () => {
123
+ await linkrunner.capturePayment({
124
+ amount: 100, // Payment amount
125
+ userId: 'user123', // User identifier
126
+ paymentId: 'payment456', // Optional: Unique payment identifier
127
+ });
128
+ };
129
+ ```
130
+
131
+ #### Parameters for `linkrunner.capturePayment`
132
+
133
+ - `amount`: number (required) - The payment amount
134
+ - `userId`: string (required) - Identifier for the user making the payment
135
+ - `paymentId`: string (optional) - Unique identifier for the payment
136
+
137
+ ### Remove Payment
138
+
139
+ Use this method to remove a captured payment:
140
+
141
+ ```js
142
+ const removePayment = async () => {
143
+ await linkrunner.removePayment({
144
+ userId: 'user123', // User identifier
145
+ paymentId: 'payment456', // Optional: Unique payment identifier
146
+ });
147
+ };
148
+ ```
149
+
150
+ #### Parameters for `linkrunner.removePayment`
151
+
152
+ - `userId`: string (required) - Identifier for the user whose payment is being removed
153
+ - `paymentId`: string (optional) - Unique identifier for the payment to be removed
154
+
155
+ Note: Either `paymentId` or `userId` must be provided when calling `removePayment`. If `userId` is provided, all payments for that user will be removed.
156
+
113
157
  ### Facing issues during integration?
114
158
 
115
- Mail us on support@linkrunner.io
159
+ Mail us on darshil@linkrunner.io
116
160
 
117
161
  ## License
118
162
 
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.device_data = void 0;
7
+ exports.getLinkRunnerInstallInstanceId = getLinkRunnerInstallInstanceId;
8
+ var _reactNativeDeviceInfo = _interopRequireWildcard(require("react-native-device-info"));
9
+ var _netinfo = require("@react-native-community/netinfo");
10
+ var _reactNativePlayInstallReferrer = require("react-native-play-install-referrer");
11
+ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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); }
14
+ 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; }
15
+ const device_data = async () => {
16
+ const getInstallReferrerInfo = () => {
17
+ return new Promise(resolve => {
18
+ _reactNativePlayInstallReferrer.PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
19
+ if (!error && !!installReferrerInfo) {
20
+ resolve(installReferrerInfo);
21
+ } else {
22
+ resolve({});
23
+ }
24
+ });
25
+ });
26
+ };
27
+ const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), (0, _netinfo.fetch)(), (0, _reactNativeDeviceInfo.getManufacturer)(), (0, _reactNativeDeviceInfo.getSystemVersion)()]);
28
+ return {
29
+ android_id: _reactNativeDeviceInfo.default.getAndroidId(),
30
+ api_level: _reactNativeDeviceInfo.default.getApiLevel(),
31
+ application_name: _reactNativeDeviceInfo.default.getApplicationName(),
32
+ base_os: _reactNativeDeviceInfo.default.getBaseOs(),
33
+ build_id: _reactNativeDeviceInfo.default.getBuildId(),
34
+ brand: _reactNativeDeviceInfo.default.getBrand(),
35
+ build_number: _reactNativeDeviceInfo.default.getBuildNumber(),
36
+ bundle_id: _reactNativeDeviceInfo.default.getBundleId(),
37
+ carrier: [_reactNativeDeviceInfo.default.getCarrier()],
38
+ device: _reactNativeDeviceInfo.default.getDevice(),
39
+ device_id: _reactNativeDeviceInfo.default.getDeviceId(),
40
+ device_display: _reactNativeDeviceInfo.default.getDisplay(),
41
+ device_type: _reactNativeDeviceInfo.default.getDeviceType(),
42
+ device_name: _reactNativeDeviceInfo.default.getDeviceName(),
43
+ device_token: _reactNativeDeviceInfo.default.getDeviceToken(),
44
+ device_ip: _reactNativeDeviceInfo.default.getIpAddress(),
45
+ install_ref: await _reactNativeDeviceInfo.default.getInstallReferrer(),
46
+ manufacturer,
47
+ system_version: systemVersion,
48
+ version: _reactNativeDeviceInfo.default.getVersion(),
49
+ connectivity: connectivity.type,
50
+ user_agent: _reactNativeDeviceInfo.default.getUserAgent(),
51
+ ...installReferrerInfo
52
+ };
53
+ };
54
+ exports.device_data = device_data;
55
+ const STORAGE_KEY = 'linkrunner_install_instance_id';
56
+ const ID_LENGTH = 20;
57
+ async function getLinkRunnerInstallInstanceId() {
58
+ try {
59
+ // Try to get the existing ID
60
+ let installInstanceId = await _asyncStorage.default.getItem(STORAGE_KEY);
61
+
62
+ // If the ID doesn't exist, generate a new one and store it
63
+ if (installInstanceId === null) {
64
+ installInstanceId = generateRandomString(ID_LENGTH);
65
+ await _asyncStorage.default.setItem(STORAGE_KEY, installInstanceId);
66
+ }
67
+ return installInstanceId;
68
+ } catch (error) {
69
+ console.error('Error accessing AsyncStorage:', error);
70
+ throw error;
71
+ }
72
+ }
73
+ function generateRandomString(length) {
74
+ const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
75
+ return Array(length).fill(null).map(() => chars.charAt(Math.floor(Math.random() * chars.length))).join('');
76
+ }
77
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeDeviceInfo","_interopRequireWildcard","require","_netinfo","_reactNativePlayInstallReferrer","_asyncStorage","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","device_data","getInstallReferrerInfo","Promise","resolve","PlayInstallReferrer","installReferrerInfo","error","connectivity","manufacturer","systemVersion","all","netinfoFetch","getManufacturer","getSystemVersion","android_id","DeviceInfo","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_display","getDisplay","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","system_version","version","getVersion","type","user_agent","getUserAgent","exports","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","AsyncStorage","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
@@ -5,33 +5,44 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _reactNative = require("react-native");
8
- var _reactNativeDeviceInfo = _interopRequireWildcard(require("react-native-device-info"));
9
- 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); }
10
- 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; }
11
- const package_version = '0.5.2';
8
+ var _reactNativeDeviceInfo = _interopRequireDefault(require("react-native-device-info"));
9
+ var _helper = require("./helper");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const package_version = '0.6.1';
12
12
  const app_version = _reactNativeDeviceInfo.default.getVersion();
13
- const device_data = {
14
- android_id: _reactNativeDeviceInfo.default.getAndroidId(),
15
- api_level: _reactNativeDeviceInfo.default.getApiLevel(),
16
- application_name: _reactNativeDeviceInfo.default.getApplicationName(),
17
- base_os: _reactNativeDeviceInfo.default.getBaseOs(),
18
- build_id: _reactNativeDeviceInfo.default.getBuildId(),
19
- brand: _reactNativeDeviceInfo.default.getBrand(),
20
- build_number: _reactNativeDeviceInfo.default.getBuildNumber(),
21
- bundle_id: _reactNativeDeviceInfo.default.getBundleId(),
22
- carrier: _reactNativeDeviceInfo.default.getCarrier(),
23
- device: _reactNativeDeviceInfo.default.getDevice(),
24
- device_id: _reactNativeDeviceInfo.default.getDeviceId(),
25
- device_type: _reactNativeDeviceInfo.default.getDeviceType(),
26
- device_name: _reactNativeDeviceInfo.default.getDeviceName(),
27
- device_token: _reactNativeDeviceInfo.default.getDeviceToken(),
28
- device_ip: _reactNativeDeviceInfo.default.getIpAddress(),
29
- install_ref: _reactNativeDeviceInfo.default.getInstallReferrer(),
30
- manufacturer: (0, _reactNativeDeviceInfo.getManufacturer)(),
31
- system_version: (0, _reactNativeDeviceInfo.getSystemVersion)(),
32
- version: _reactNativeDeviceInfo.default.getVersion()
33
- };
34
13
  const baseUrl = 'https://api.linkrunner.io';
14
+ const initApiCall = async (token, source, link) => {
15
+ try {
16
+ const fetch_result = await fetch(baseUrl + '/api/client/init', {
17
+ method: 'POST',
18
+ headers: {
19
+ 'Accept': 'application/json',
20
+ 'Content-Type': 'application/json'
21
+ },
22
+ body: JSON.stringify({
23
+ token,
24
+ package_version,
25
+ app_version,
26
+ device_data: await (0, _helper.device_data)(),
27
+ platform: 'REACT_NATIVE',
28
+ source,
29
+ link,
30
+ install_instance_id: await (0, _helper.getLinkRunnerInstallInstanceId)()
31
+ })
32
+ });
33
+ const result = await fetch_result.json();
34
+ if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
35
+ throw new Error(result === null || result === void 0 ? void 0 : result.msg);
36
+ }
37
+ if (__DEV__) {
38
+ console.log('Linkrunner initialised successfully 🔥');
39
+ console.log('init response > ', result);
40
+ }
41
+ return result === null || result === void 0 ? void 0 : result.data;
42
+ } catch (error) {
43
+ console.error('Error initializing linkrunner', error);
44
+ }
45
+ };
35
46
  class Linkrunner {
36
47
  constructor() {
37
48
  this.token = null;
@@ -42,35 +53,7 @@ class Linkrunner {
42
53
  return;
43
54
  }
44
55
  this.token = token;
45
- try {
46
- const fetch_result = await fetch(baseUrl + '/api/client/init', {
47
- method: 'POST',
48
- headers: {
49
- 'Accept': 'application/json',
50
- 'Content-Type': 'application/json'
51
- },
52
- body: JSON.stringify({
53
- token,
54
- package_version,
55
- app_version,
56
- device_data,
57
- platform: 'REACT_NATIVE'
58
- })
59
- });
60
- const result = await fetch_result.json();
61
-
62
- // if (!result) throw new Error('No response obtained!');
63
-
64
- if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
65
- throw new Error(result === null || result === void 0 ? void 0 : result.msg);
66
- }
67
- if (__DEV__) {
68
- console.log('Linkrunner initialised successfully 🔥');
69
- }
70
- return result === null || result === void 0 ? void 0 : result.data;
71
- } catch (error) {
72
- console.error('Error initializing linkrunner');
73
- }
56
+ return await initApiCall(token, 'GENERAL');
74
57
  }
75
58
  async trigger({
76
59
  data,
@@ -95,8 +78,9 @@ class Linkrunner {
95
78
  platform: 'REACT_NATIVE',
96
79
  data: {
97
80
  ...data,
98
- device_data
99
- }
81
+ device_data: await (0, _helper.device_data)()
82
+ },
83
+ install_instance_id: await (0, _helper.getLinkRunnerInstallInstanceId)()
100
84
  })
101
85
  });
102
86
  const result = await response.json();
@@ -121,7 +105,12 @@ class Linkrunner {
121
105
  body: JSON.stringify({
122
106
  token: this.token
123
107
  })
124
- }).then(res => res.json()).catch(() => {});
108
+ }).then(() => {
109
+ if (__DEV__) {
110
+ var _result$data5;
111
+ console.log('Linkrunner: Deeplink triggered successfully', result === null || result === void 0 || (_result$data5 = result.data) === null || _result$data5 === void 0 ? void 0 : _result$data5.deeplink);
112
+ }
113
+ }).catch(() => {});
125
114
  });
126
115
  }
127
116
  if (__DEV__) {
@@ -133,6 +122,98 @@ class Linkrunner {
133
122
  console.error('Linkrunner: ', err.message);
134
123
  }
135
124
  }
125
+ async capturePayment({
126
+ amount,
127
+ userId,
128
+ paymentId
129
+ }) {
130
+ if (!this.token) {
131
+ console.error('Linkrunner: Capture payment failed, token not initialized');
132
+ return;
133
+ }
134
+ try {
135
+ const response = await fetch(baseUrl + '/api/client/capture-payment', {
136
+ method: 'POST',
137
+ headers: {
138
+ 'Accept': 'application/json',
139
+ 'Content-Type': 'application/json'
140
+ },
141
+ body: JSON.stringify({
142
+ token: this.token,
143
+ user_id: userId,
144
+ platform: 'REACT_NATIVE',
145
+ data: {
146
+ device_data: await (0, _helper.device_data)()
147
+ },
148
+ amount,
149
+ payment_id: paymentId,
150
+ install_instance_id: await (0, _helper.getLinkRunnerInstallInstanceId)()
151
+ })
152
+ });
153
+ const result = await response.json();
154
+ if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
155
+ console.error('Linkrunner: Capture payment failed');
156
+ console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
157
+ return;
158
+ }
159
+ if (__DEV__) {
160
+ console.log('Linkrunner: Payment captured successfully 💸', {
161
+ amount,
162
+ paymentId,
163
+ userId
164
+ });
165
+ }
166
+ } catch (error) {
167
+ console.error('Linkrunner: Payment capturing failed!');
168
+ return;
169
+ }
170
+ }
171
+ async removePayment({
172
+ userId,
173
+ paymentId
174
+ }) {
175
+ if (!this.token) {
176
+ console.error('Linkrunner: Remove payment failed, token not initialized');
177
+ return;
178
+ }
179
+ if (!paymentId && !userId) {
180
+ return console.error('Linkrunner: Either paymentId or userId must be provided!');
181
+ }
182
+ try {
183
+ const response = await fetch(baseUrl + '/api/client/remove-captured-payment', {
184
+ method: 'POST',
185
+ headers: {
186
+ 'Accept': 'application/json',
187
+ 'Content-Type': 'application/json'
188
+ },
189
+ body: JSON.stringify({
190
+ token: this.token,
191
+ user_id: userId,
192
+ platform: 'REACT_NATIVE',
193
+ data: {
194
+ device_data: await (0, _helper.device_data)()
195
+ },
196
+ payment_id: paymentId,
197
+ install_instance_id: await (0, _helper.getLinkRunnerInstallInstanceId)()
198
+ })
199
+ });
200
+ const result = await response.json();
201
+ if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
202
+ console.error('Linkrunner: Capture payment failed');
203
+ console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
204
+ return;
205
+ }
206
+ if (__DEV__) {
207
+ console.log('Linkrunner: Payment entry removed successfully!', {
208
+ paymentId,
209
+ userId
210
+ });
211
+ }
212
+ } catch (error) {
213
+ console.error('Linkrunner: Payment capturing failed!');
214
+ return;
215
+ }
216
+ }
136
217
  }
137
218
  const linkrunner = new Linkrunner();
138
219
  var _default = exports.default = linkrunner;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","package_version","app_version","DeviceInfo","getVersion","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","Linkrunner","constructor","token","init","console","error","fetch_result","fetch","method","headers","body","JSON","stringify","platform","result","json","status","Error","msg","__DEV__","log","data","trigger","user_data","config","_result$data","_result$data2","response","deeplink","trigger_deeplink","_result$data4","_result$data3","Linking","openURL","then","res","catch","err","message","linkrunner","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_interopRequireDefault","_helper","obj","__esModule","default","package_version","app_version","DeviceInfo","getVersion","baseUrl","initApiCall","token","source","link","fetch_result","fetch","method","headers","body","JSON","stringify","device_data","platform","install_instance_id","getLinkRunnerInstallInstanceId","result","json","status","Error","msg","__DEV__","console","log","data","error","Linkrunner","constructor","init","trigger","user_data","config","_result$data","_result$data2","response","deeplink","trigger_deeplink","_result$data4","_result$data3","Linking","openURL","then","_result$data5","catch","err","message","capturePayment","amount","userId","paymentId","user_id","payment_id","removePayment","linkrunner","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import DeviceInfo, { getManufacturer, getSystemVersion } from 'react-native-device-info';
2
+ import { fetch as netinfoFetch } from '@react-native-community/netinfo';
3
+ import { PlayInstallReferrer } from 'react-native-play-install-referrer';
4
+ import AsyncStorage from '@react-native-async-storage/async-storage';
5
+ const device_data = async () => {
6
+ const getInstallReferrerInfo = () => {
7
+ return new Promise(resolve => {
8
+ PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
9
+ if (!error && !!installReferrerInfo) {
10
+ resolve(installReferrerInfo);
11
+ } else {
12
+ resolve({});
13
+ }
14
+ });
15
+ });
16
+ };
17
+ const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), netinfoFetch(), getManufacturer(), getSystemVersion()]);
18
+ return {
19
+ android_id: DeviceInfo.getAndroidId(),
20
+ api_level: DeviceInfo.getApiLevel(),
21
+ application_name: DeviceInfo.getApplicationName(),
22
+ base_os: DeviceInfo.getBaseOs(),
23
+ build_id: DeviceInfo.getBuildId(),
24
+ brand: DeviceInfo.getBrand(),
25
+ build_number: DeviceInfo.getBuildNumber(),
26
+ bundle_id: DeviceInfo.getBundleId(),
27
+ carrier: [DeviceInfo.getCarrier()],
28
+ device: DeviceInfo.getDevice(),
29
+ device_id: DeviceInfo.getDeviceId(),
30
+ device_display: DeviceInfo.getDisplay(),
31
+ device_type: DeviceInfo.getDeviceType(),
32
+ device_name: DeviceInfo.getDeviceName(),
33
+ device_token: DeviceInfo.getDeviceToken(),
34
+ device_ip: DeviceInfo.getIpAddress(),
35
+ install_ref: await DeviceInfo.getInstallReferrer(),
36
+ manufacturer,
37
+ system_version: systemVersion,
38
+ version: DeviceInfo.getVersion(),
39
+ connectivity: connectivity.type,
40
+ user_agent: DeviceInfo.getUserAgent(),
41
+ ...installReferrerInfo
42
+ };
43
+ };
44
+ const STORAGE_KEY = 'linkrunner_install_instance_id';
45
+ const ID_LENGTH = 20;
46
+ async function getLinkRunnerInstallInstanceId() {
47
+ try {
48
+ // Try to get the existing ID
49
+ let installInstanceId = await AsyncStorage.getItem(STORAGE_KEY);
50
+
51
+ // If the ID doesn't exist, generate a new one and store it
52
+ if (installInstanceId === null) {
53
+ installInstanceId = generateRandomString(ID_LENGTH);
54
+ await AsyncStorage.setItem(STORAGE_KEY, installInstanceId);
55
+ }
56
+ return installInstanceId;
57
+ } catch (error) {
58
+ console.error('Error accessing AsyncStorage:', error);
59
+ throw error;
60
+ }
61
+ }
62
+ function generateRandomString(length) {
63
+ const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
64
+ return Array(length).fill(null).map(() => chars.charAt(Math.floor(Math.random() * chars.length))).join('');
65
+ }
66
+ export { device_data, getLinkRunnerInstallInstanceId };
67
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeviceInfo","getManufacturer","getSystemVersion","fetch","netinfoFetch","PlayInstallReferrer","AsyncStorage","device_data","getInstallReferrerInfo","Promise","resolve","installReferrerInfo","error","connectivity","manufacturer","systemVersion","all","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_display","getDisplay","device_type","getDeviceType","device_name","getDeviceName","device_token","getDeviceToken","device_ip","getIpAddress","install_ref","getInstallReferrer","system_version","version","getVersion","type","user_agent","getUserAgent","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}