rn-linkrunner 0.5.2 → 0.6.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 +49 -5
- package/lib/commonjs/helper.js +52 -0
- package/lib/commonjs/helper.js.map +1 -0
- package/lib/commonjs/index.js +133 -56
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/helper.js +44 -0
- package/lib/module/helper.js.map +1 -0
- package/lib/module/index.js +132 -54
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/helper.d.ts +3 -0
- package/lib/typescript/helper.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +17 -28
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +27 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +4 -2
- package/src/helper.ts +61 -0
- package/src/index.ts +173 -88
- package/src/types.ts +29 -0
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
|
|
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
|
-
|
|
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
|
|
159
|
+
Mail us on darshil@linkrunner.io
|
|
116
160
|
|
|
117
161
|
## License
|
|
118
162
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.device_data = void 0;
|
|
7
|
+
var _reactNativeDeviceInfo = _interopRequireWildcard(require("react-native-device-info"));
|
|
8
|
+
var _netinfo = require("@react-native-community/netinfo");
|
|
9
|
+
var _reactNativePlayInstallReferrer = require("react-native-play-install-referrer");
|
|
10
|
+
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
|
+
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; }
|
|
12
|
+
const device_data = async () => {
|
|
13
|
+
const getInstallReferrerInfo = () => {
|
|
14
|
+
return new Promise(resolve => {
|
|
15
|
+
_reactNativePlayInstallReferrer.PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
|
|
16
|
+
if (!error && !!installReferrerInfo) {
|
|
17
|
+
resolve(installReferrerInfo);
|
|
18
|
+
} else {
|
|
19
|
+
resolve({});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), (0, _netinfo.fetch)(), (0, _reactNativeDeviceInfo.getManufacturer)(), (0, _reactNativeDeviceInfo.getSystemVersion)()]);
|
|
25
|
+
return {
|
|
26
|
+
android_id: _reactNativeDeviceInfo.default.getAndroidId(),
|
|
27
|
+
api_level: _reactNativeDeviceInfo.default.getApiLevel(),
|
|
28
|
+
application_name: _reactNativeDeviceInfo.default.getApplicationName(),
|
|
29
|
+
base_os: _reactNativeDeviceInfo.default.getBaseOs(),
|
|
30
|
+
build_id: _reactNativeDeviceInfo.default.getBuildId(),
|
|
31
|
+
brand: _reactNativeDeviceInfo.default.getBrand(),
|
|
32
|
+
build_number: _reactNativeDeviceInfo.default.getBuildNumber(),
|
|
33
|
+
bundle_id: _reactNativeDeviceInfo.default.getBundleId(),
|
|
34
|
+
carrier: [_reactNativeDeviceInfo.default.getCarrier()],
|
|
35
|
+
device: _reactNativeDeviceInfo.default.getDevice(),
|
|
36
|
+
device_id: _reactNativeDeviceInfo.default.getDeviceId(),
|
|
37
|
+
device_display: _reactNativeDeviceInfo.default.getDisplay(),
|
|
38
|
+
device_type: _reactNativeDeviceInfo.default.getDeviceType(),
|
|
39
|
+
device_name: _reactNativeDeviceInfo.default.getDeviceName(),
|
|
40
|
+
device_token: _reactNativeDeviceInfo.default.getDeviceToken(),
|
|
41
|
+
device_ip: _reactNativeDeviceInfo.default.getIpAddress(),
|
|
42
|
+
install_ref: await _reactNativeDeviceInfo.default.getInstallReferrer(),
|
|
43
|
+
manufacturer,
|
|
44
|
+
system_version: systemVersion,
|
|
45
|
+
version: _reactNativeDeviceInfo.default.getVersion(),
|
|
46
|
+
connectivity: connectivity.type,
|
|
47
|
+
user_agent: _reactNativeDeviceInfo.default.getUserAgent(),
|
|
48
|
+
...installReferrerInfo
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.device_data = device_data;
|
|
52
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeDeviceInfo","_interopRequireWildcard","require","_netinfo","_reactNativePlayInstallReferrer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","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"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -5,33 +5,43 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
-
var _reactNativeDeviceInfo =
|
|
9
|
-
|
|
10
|
-
function
|
|
11
|
-
const package_version = '0.
|
|
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.0';
|
|
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
|
+
})
|
|
31
|
+
});
|
|
32
|
+
const result = await fetch_result.json();
|
|
33
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
34
|
+
throw new Error(result === null || result === void 0 ? void 0 : result.msg);
|
|
35
|
+
}
|
|
36
|
+
if (__DEV__) {
|
|
37
|
+
console.log('Linkrunner initialised successfully 🔥');
|
|
38
|
+
console.log('init response > ', result);
|
|
39
|
+
}
|
|
40
|
+
return result === null || result === void 0 ? void 0 : result.data;
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error('Error initializing linkrunner', error);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
35
45
|
class Linkrunner {
|
|
36
46
|
constructor() {
|
|
37
47
|
this.token = null;
|
|
@@ -42,35 +52,7 @@ class Linkrunner {
|
|
|
42
52
|
return;
|
|
43
53
|
}
|
|
44
54
|
this.token = token;
|
|
45
|
-
|
|
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
|
-
}
|
|
55
|
+
return await initApiCall(token, 'GENERAL');
|
|
74
56
|
}
|
|
75
57
|
async trigger({
|
|
76
58
|
data,
|
|
@@ -95,7 +77,7 @@ class Linkrunner {
|
|
|
95
77
|
platform: 'REACT_NATIVE',
|
|
96
78
|
data: {
|
|
97
79
|
...data,
|
|
98
|
-
device_data
|
|
80
|
+
device_data: await (0, _helper.device_data)()
|
|
99
81
|
}
|
|
100
82
|
})
|
|
101
83
|
});
|
|
@@ -121,7 +103,12 @@ class Linkrunner {
|
|
|
121
103
|
body: JSON.stringify({
|
|
122
104
|
token: this.token
|
|
123
105
|
})
|
|
124
|
-
}).then(
|
|
106
|
+
}).then(() => {
|
|
107
|
+
if (__DEV__) {
|
|
108
|
+
var _result$data5;
|
|
109
|
+
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);
|
|
110
|
+
}
|
|
111
|
+
}).catch(() => {});
|
|
125
112
|
});
|
|
126
113
|
}
|
|
127
114
|
if (__DEV__) {
|
|
@@ -133,6 +120,96 @@ class Linkrunner {
|
|
|
133
120
|
console.error('Linkrunner: ', err.message);
|
|
134
121
|
}
|
|
135
122
|
}
|
|
123
|
+
async capturePayment({
|
|
124
|
+
amount,
|
|
125
|
+
userId,
|
|
126
|
+
paymentId
|
|
127
|
+
}) {
|
|
128
|
+
if (!this.token) {
|
|
129
|
+
console.error('Linkrunner: Capture payment failed, token not initialized');
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
const response = await fetch(baseUrl + '/api/client/capture-payment', {
|
|
134
|
+
method: 'POST',
|
|
135
|
+
headers: {
|
|
136
|
+
'Accept': 'application/json',
|
|
137
|
+
'Content-Type': 'application/json'
|
|
138
|
+
},
|
|
139
|
+
body: JSON.stringify({
|
|
140
|
+
token: this.token,
|
|
141
|
+
user_id: userId,
|
|
142
|
+
platform: 'REACT_NATIVE',
|
|
143
|
+
data: {
|
|
144
|
+
device_data: await (0, _helper.device_data)()
|
|
145
|
+
},
|
|
146
|
+
amount,
|
|
147
|
+
payment_id: paymentId
|
|
148
|
+
})
|
|
149
|
+
});
|
|
150
|
+
const result = await response.json();
|
|
151
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
152
|
+
console.error('Linkrunner: Capture payment failed');
|
|
153
|
+
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (__DEV__) {
|
|
157
|
+
console.log('Linkrunner: Payment captured successfully 💸', {
|
|
158
|
+
amount,
|
|
159
|
+
paymentId,
|
|
160
|
+
userId
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
} catch (error) {
|
|
164
|
+
console.error('Linkrunner: Payment capturing failed!');
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async removePayment({
|
|
169
|
+
userId,
|
|
170
|
+
paymentId
|
|
171
|
+
}) {
|
|
172
|
+
if (!this.token) {
|
|
173
|
+
console.error('Linkrunner: Remove payment failed, token not initialized');
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (!paymentId && !userId) {
|
|
177
|
+
return console.error('Linkrunner: Either paymentId or userId must be provided!');
|
|
178
|
+
}
|
|
179
|
+
try {
|
|
180
|
+
const response = await fetch(baseUrl + '/api/client/remove-captured-payment', {
|
|
181
|
+
method: 'POST',
|
|
182
|
+
headers: {
|
|
183
|
+
'Accept': 'application/json',
|
|
184
|
+
'Content-Type': 'application/json'
|
|
185
|
+
},
|
|
186
|
+
body: JSON.stringify({
|
|
187
|
+
token: this.token,
|
|
188
|
+
user_id: userId,
|
|
189
|
+
platform: 'REACT_NATIVE',
|
|
190
|
+
data: {
|
|
191
|
+
device_data: await (0, _helper.device_data)()
|
|
192
|
+
},
|
|
193
|
+
payment_id: paymentId
|
|
194
|
+
})
|
|
195
|
+
});
|
|
196
|
+
const result = await response.json();
|
|
197
|
+
if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
|
|
198
|
+
console.error('Linkrunner: Capture payment failed');
|
|
199
|
+
console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (__DEV__) {
|
|
203
|
+
console.log('Linkrunner: Payment entry removed successfully!', {
|
|
204
|
+
paymentId,
|
|
205
|
+
userId
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
} catch (error) {
|
|
209
|
+
console.error('Linkrunner: Payment capturing failed!');
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
136
213
|
}
|
|
137
214
|
const linkrunner = new Linkrunner();
|
|
138
215
|
var _default = exports.default = linkrunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","
|
|
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","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 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
const device_data = async () => {
|
|
5
|
+
const getInstallReferrerInfo = () => {
|
|
6
|
+
return new Promise(resolve => {
|
|
7
|
+
PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
|
|
8
|
+
if (!error && !!installReferrerInfo) {
|
|
9
|
+
resolve(installReferrerInfo);
|
|
10
|
+
} else {
|
|
11
|
+
resolve({});
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), netinfoFetch(), getManufacturer(), getSystemVersion()]);
|
|
17
|
+
return {
|
|
18
|
+
android_id: DeviceInfo.getAndroidId(),
|
|
19
|
+
api_level: DeviceInfo.getApiLevel(),
|
|
20
|
+
application_name: DeviceInfo.getApplicationName(),
|
|
21
|
+
base_os: DeviceInfo.getBaseOs(),
|
|
22
|
+
build_id: DeviceInfo.getBuildId(),
|
|
23
|
+
brand: DeviceInfo.getBrand(),
|
|
24
|
+
build_number: DeviceInfo.getBuildNumber(),
|
|
25
|
+
bundle_id: DeviceInfo.getBundleId(),
|
|
26
|
+
carrier: [DeviceInfo.getCarrier()],
|
|
27
|
+
device: DeviceInfo.getDevice(),
|
|
28
|
+
device_id: DeviceInfo.getDeviceId(),
|
|
29
|
+
device_display: DeviceInfo.getDisplay(),
|
|
30
|
+
device_type: DeviceInfo.getDeviceType(),
|
|
31
|
+
device_name: DeviceInfo.getDeviceName(),
|
|
32
|
+
device_token: DeviceInfo.getDeviceToken(),
|
|
33
|
+
device_ip: DeviceInfo.getIpAddress(),
|
|
34
|
+
install_ref: await DeviceInfo.getInstallReferrer(),
|
|
35
|
+
manufacturer,
|
|
36
|
+
system_version: systemVersion,
|
|
37
|
+
version: DeviceInfo.getVersion(),
|
|
38
|
+
connectivity: connectivity.type,
|
|
39
|
+
user_agent: DeviceInfo.getUserAgent(),
|
|
40
|
+
...installReferrerInfo
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export { device_data };
|
|
44
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeviceInfo","getManufacturer","getSystemVersion","fetch","netinfoFetch","PlayInstallReferrer","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"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"AAAA,OAAOA,UAAU,IACfC,eAAe,EACfC,gBAAgB,QACX,0BAA0B;AACjC,SAASC,KAAK,IAAIC,YAAY,QAAQ,iCAAiC;AACvE,SACEC,mBAAmB,QAEd,oCAAoC;AAE3C,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAA0C;EAC5D,MAAMC,sBAAsB,GAAGA,CAAA,KAA6C;IAC1E,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;MAC9BJ,mBAAmB,CAACE,sBAAsB,CACxC,CAACG,mBAAmB,EAAEC,KAAK,KAAK;QAC9B,IAAI,CAACA,KAAK,IAAI,CAAC,CAACD,mBAAmB,EAAE;UACnCD,OAAO,CAACC,mBAAmB,CAAC;QAC9B,CAAC,MAAM;UACLD,OAAO,CAAC,CAAC,CAAC,CAAC;QACb;MACF,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAM,CAACC,mBAAmB,EAAEE,YAAY,EAAEC,YAAY,EAAEC,aAAa,CAAC,GACpE,MAAMN,OAAO,CAACO,GAAG,CAAC,CAChBR,sBAAsB,CAAC,CAAC,EACxBH,YAAY,CAAC,CAAC,EACdH,eAAe,CAAC,CAAC,EACjBC,gBAAgB,CAAC,CAAC,CACnB,CAAC;EAEJ,OAAO;IACLc,UAAU,EAAEhB,UAAU,CAACiB,YAAY,CAAC,CAAC;IACrCC,SAAS,EAAElB,UAAU,CAACmB,WAAW,CAAC,CAAC;IACnCC,gBAAgB,EAAEpB,UAAU,CAACqB,kBAAkB,CAAC,CAAC;IACjDC,OAAO,EAAEtB,UAAU,CAACuB,SAAS,CAAC,CAAC;IAC/BC,QAAQ,EAAExB,UAAU,CAACyB,UAAU,CAAC,CAAC;IACjCC,KAAK,EAAE1B,UAAU,CAAC2B,QAAQ,CAAC,CAAC;IAC5BC,YAAY,EAAE5B,UAAU,CAAC6B,cAAc,CAAC,CAAC;IACzCC,SAAS,EAAE9B,UAAU,CAAC+B,WAAW,CAAC,CAAC;IACnCC,OAAO,EAAE,CAAChC,UAAU,CAACiC,UAAU,CAAC,CAAC,CAAC;IAClCC,MAAM,EAAElC,UAAU,CAACmC,SAAS,CAAC,CAAC;IAC9BC,SAAS,EAAEpC,UAAU,CAACqC,WAAW,CAAC,CAAC;IACnCC,cAAc,EAAEtC,UAAU,CAACuC,UAAU,CAAC,CAAC;IACvCC,WAAW,EAAExC,UAAU,CAACyC,aAAa,CAAC,CAAC;IACvCC,WAAW,EAAE1C,UAAU,CAAC2C,aAAa,CAAC,CAAC;IACvCC,YAAY,EAAE5C,UAAU,CAAC6C,cAAc,CAAC,CAAC;IACzCC,SAAS,EAAE9C,UAAU,CAAC+C,YAAY,CAAC,CAAC;IACpCC,WAAW,EAAE,MAAMhD,UAAU,CAACiD,kBAAkB,CAAC,CAAC;IAClDpC,YAAY;IACZqC,cAAc,EAAEpC,aAAa;IAC7BqC,OAAO,EAAEnD,UAAU,CAACoD,UAAU,CAAC,CAAC;IAChCxC,YAAY,EAAEA,YAAY,CAACyC,IAAI;IAC/BC,UAAU,EAAEtD,UAAU,CAACuD,YAAY,CAAC,CAAC;IACrC,GAAG7C;EACL,CAAC;AACH,CAAC;AAED,SAASJ,WAAW"}
|