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.
@@ -1,29 +1,40 @@
1
1
  import { Linking } from 'react-native';
2
- import DeviceInfo, { getManufacturer, getSystemVersion } from 'react-native-device-info';
3
- const package_version = '0.5.2';
2
+ import DeviceInfo from 'react-native-device-info';
3
+ import { device_data } from './helper';
4
+ const package_version = '0.6.0';
4
5
  const app_version = DeviceInfo.getVersion();
5
- const device_data = {
6
- android_id: DeviceInfo.getAndroidId(),
7
- api_level: DeviceInfo.getApiLevel(),
8
- application_name: DeviceInfo.getApplicationName(),
9
- base_os: DeviceInfo.getBaseOs(),
10
- build_id: DeviceInfo.getBuildId(),
11
- brand: DeviceInfo.getBrand(),
12
- build_number: DeviceInfo.getBuildNumber(),
13
- bundle_id: DeviceInfo.getBundleId(),
14
- carrier: DeviceInfo.getCarrier(),
15
- device: DeviceInfo.getDevice(),
16
- device_id: DeviceInfo.getDeviceId(),
17
- device_type: DeviceInfo.getDeviceType(),
18
- device_name: DeviceInfo.getDeviceName(),
19
- device_token: DeviceInfo.getDeviceToken(),
20
- device_ip: DeviceInfo.getIpAddress(),
21
- install_ref: DeviceInfo.getInstallReferrer(),
22
- manufacturer: getManufacturer(),
23
- system_version: getSystemVersion(),
24
- version: DeviceInfo.getVersion()
25
- };
26
6
  const baseUrl = 'https://api.linkrunner.io';
7
+ const initApiCall = async (token, source, link) => {
8
+ try {
9
+ const fetch_result = await fetch(baseUrl + '/api/client/init', {
10
+ method: 'POST',
11
+ headers: {
12
+ 'Accept': 'application/json',
13
+ 'Content-Type': 'application/json'
14
+ },
15
+ body: JSON.stringify({
16
+ token,
17
+ package_version,
18
+ app_version,
19
+ device_data: await device_data(),
20
+ platform: 'REACT_NATIVE',
21
+ source,
22
+ link
23
+ })
24
+ });
25
+ const result = await fetch_result.json();
26
+ if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
27
+ throw new Error(result === null || result === void 0 ? void 0 : result.msg);
28
+ }
29
+ if (__DEV__) {
30
+ console.log('Linkrunner initialised successfully 🔥');
31
+ console.log('init response > ', result);
32
+ }
33
+ return result === null || result === void 0 ? void 0 : result.data;
34
+ } catch (error) {
35
+ console.error('Error initializing linkrunner', error);
36
+ }
37
+ };
27
38
  class Linkrunner {
28
39
  constructor() {
29
40
  this.token = null;
@@ -34,35 +45,7 @@ class Linkrunner {
34
45
  return;
35
46
  }
36
47
  this.token = token;
37
- try {
38
- const fetch_result = await fetch(baseUrl + '/api/client/init', {
39
- method: 'POST',
40
- headers: {
41
- 'Accept': 'application/json',
42
- 'Content-Type': 'application/json'
43
- },
44
- body: JSON.stringify({
45
- token,
46
- package_version,
47
- app_version,
48
- device_data,
49
- platform: 'REACT_NATIVE'
50
- })
51
- });
52
- const result = await fetch_result.json();
53
-
54
- // if (!result) throw new Error('No response obtained!');
55
-
56
- if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
57
- throw new Error(result === null || result === void 0 ? void 0 : result.msg);
58
- }
59
- if (__DEV__) {
60
- console.log('Linkrunner initialised successfully 🔥');
61
- }
62
- return result === null || result === void 0 ? void 0 : result.data;
63
- } catch (error) {
64
- console.error('Error initializing linkrunner');
65
- }
48
+ return await initApiCall(token, 'GENERAL');
66
49
  }
67
50
  async trigger({
68
51
  data,
@@ -87,7 +70,7 @@ class Linkrunner {
87
70
  platform: 'REACT_NATIVE',
88
71
  data: {
89
72
  ...data,
90
- device_data
73
+ device_data: await device_data()
91
74
  }
92
75
  })
93
76
  });
@@ -113,7 +96,12 @@ class Linkrunner {
113
96
  body: JSON.stringify({
114
97
  token: this.token
115
98
  })
116
- }).then(res => res.json()).catch(() => {});
99
+ }).then(() => {
100
+ if (__DEV__) {
101
+ var _result$data5;
102
+ 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);
103
+ }
104
+ }).catch(() => {});
117
105
  });
118
106
  }
119
107
  if (__DEV__) {
@@ -125,6 +113,96 @@ class Linkrunner {
125
113
  console.error('Linkrunner: ', err.message);
126
114
  }
127
115
  }
116
+ async capturePayment({
117
+ amount,
118
+ userId,
119
+ paymentId
120
+ }) {
121
+ if (!this.token) {
122
+ console.error('Linkrunner: Capture payment failed, token not initialized');
123
+ return;
124
+ }
125
+ try {
126
+ const response = await fetch(baseUrl + '/api/client/capture-payment', {
127
+ method: 'POST',
128
+ headers: {
129
+ 'Accept': 'application/json',
130
+ 'Content-Type': 'application/json'
131
+ },
132
+ body: JSON.stringify({
133
+ token: this.token,
134
+ user_id: userId,
135
+ platform: 'REACT_NATIVE',
136
+ data: {
137
+ device_data: await device_data()
138
+ },
139
+ amount,
140
+ payment_id: paymentId
141
+ })
142
+ });
143
+ const result = await response.json();
144
+ if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
145
+ console.error('Linkrunner: Capture payment failed');
146
+ console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
147
+ return;
148
+ }
149
+ if (__DEV__) {
150
+ console.log('Linkrunner: Payment captured successfully 💸', {
151
+ amount,
152
+ paymentId,
153
+ userId
154
+ });
155
+ }
156
+ } catch (error) {
157
+ console.error('Linkrunner: Payment capturing failed!');
158
+ return;
159
+ }
160
+ }
161
+ async removePayment({
162
+ userId,
163
+ paymentId
164
+ }) {
165
+ if (!this.token) {
166
+ console.error('Linkrunner: Remove payment failed, token not initialized');
167
+ return;
168
+ }
169
+ if (!paymentId && !userId) {
170
+ return console.error('Linkrunner: Either paymentId or userId must be provided!');
171
+ }
172
+ try {
173
+ const response = await fetch(baseUrl + '/api/client/remove-captured-payment', {
174
+ method: 'POST',
175
+ headers: {
176
+ 'Accept': 'application/json',
177
+ 'Content-Type': 'application/json'
178
+ },
179
+ body: JSON.stringify({
180
+ token: this.token,
181
+ user_id: userId,
182
+ platform: 'REACT_NATIVE',
183
+ data: {
184
+ device_data: await device_data()
185
+ },
186
+ payment_id: paymentId
187
+ })
188
+ });
189
+ const result = await response.json();
190
+ if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
191
+ console.error('Linkrunner: Capture payment failed');
192
+ console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
193
+ return;
194
+ }
195
+ if (__DEV__) {
196
+ console.log('Linkrunner: Payment entry removed successfully!', {
197
+ paymentId,
198
+ userId
199
+ });
200
+ }
201
+ } catch (error) {
202
+ console.error('Linkrunner: Payment capturing failed!');
203
+ return;
204
+ }
205
+ }
128
206
  }
129
207
  const linkrunner = new Linkrunner();
130
208
  export default linkrunner;
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","DeviceInfo","getManufacturer","getSystemVersion","package_version","app_version","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","system_version","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","openURL","then","res","catch","err","message","linkrunner"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["Linking","DeviceInfo","device_data","package_version","app_version","getVersion","baseUrl","initApiCall","token","source","link","fetch_result","fetch","method","headers","body","JSON","stringify","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","openURL","then","_result$data5","catch","err","message","capturePayment","amount","userId","paymentId","user_id","payment_id","removePayment","linkrunner"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const device_data: () => Promise<Record<string, any>>;
2
+ export { device_data };
3
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/helper.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,WAAW,QAAa,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CAgDxD,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,38 +1,27 @@
1
- interface UserData {
2
- id: string;
3
- name?: string;
4
- phone?: string;
5
- email?: string;
6
- }
7
- interface TriggerConfig {
8
- trigger_deeplink?: boolean;
9
- }
10
- export type Response = {
11
- ip_location_data: IPLocationData;
12
- deeplink: string;
13
- root_domain: boolean;
14
- };
15
- export interface IPLocationData {
16
- ip: string;
17
- city: string;
18
- countryLong: string;
19
- countryShort: string;
20
- latitude: number;
21
- longitude: number;
22
- region: string;
23
- timeZone: string;
24
- zipCode: string;
25
- }
1
+ import type { TriggerConfig, UserData } from './types';
26
2
  declare class Linkrunner {
27
3
  private token;
28
4
  constructor();
29
- init(token: string): Promise<void | Response>;
5
+ init(token: string): Promise<void | LRInitResponse>;
30
6
  trigger({ data, user_data, config, }: {
31
7
  config?: TriggerConfig;
32
- data: any;
8
+ data?: {
9
+ [key: string]: any;
10
+ };
33
11
  user_data: UserData;
34
- }): Promise<void | Response>;
12
+ }): Promise<void | LRTriggerResponse>;
13
+ capturePayment({ amount, userId, paymentId, }: {
14
+ paymentId?: string;
15
+ userId: string;
16
+ amount: number;
17
+ }): Promise<void>;
18
+ removePayment({ userId, paymentId, }: {
19
+ paymentId?: string;
20
+ userId: string;
21
+ }): Promise<void>;
35
22
  }
36
23
  declare const linkrunner: Linkrunner;
24
+ export type LRInitResponse = Response;
25
+ export type LRTriggerResponse = Response;
37
26
  export default linkrunner;
38
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAiCA,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,gBAAgB,EAAE,cAAc,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAgB;;IAMvB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IAyC7C,OAAO,CAAC,EACZ,IAAI,EACJ,SAAS,EACT,MAAM,GACP,EAAE;QACD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,IAAI,EAAE,GAAG,CAAC;QACV,SAAS,EAAE,QAAQ,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;CAkE7B;AAED,QAAA,MAAM,UAAU,YAAmB,CAAC;AAEpC,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgDvD,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAgB;;IAMvB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC;IAWnD,OAAO,CAAC,EACZ,IAAI,EACJ,SAAS,EACT,MAAM,GACP,EAAE;QACD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAC9B,SAAS,EAAE,QAAQ,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;IA0E/B,cAAc,CAAC,EACnB,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;IAgDK,aAAa,CAAC,EAClB,MAAM,EACN,SAAS,GACV,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB;CAoDF;AAED,QAAA,MAAM,UAAU,YAAmB,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEtC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEzC,eAAe,UAAU,CAAC"}
@@ -0,0 +1,27 @@
1
+ export interface LRIPLocationData {
2
+ ip: string;
3
+ city: string;
4
+ countryLong: string;
5
+ countryShort: string;
6
+ latitude: number;
7
+ longitude: number;
8
+ region: string;
9
+ timeZone: string;
10
+ zipCode: string;
11
+ }
12
+ export interface UserData {
13
+ id: string;
14
+ name?: string;
15
+ phone?: string;
16
+ email?: string;
17
+ }
18
+ export interface TriggerConfig {
19
+ trigger_deeplink?: boolean;
20
+ }
21
+ export type Response = {
22
+ ip_location_data: LRIPLocationData;
23
+ deeplink: string;
24
+ root_domain: boolean;
25
+ trigger?: boolean;
26
+ };
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-linkrunner",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "React Native Package for linkrunner",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -138,6 +138,8 @@
138
138
  ]
139
139
  },
140
140
  "dependencies": {
141
- "react-native-device-info": "^10.12.0"
141
+ "@react-native-community/netinfo": "^11.3.2",
142
+ "react-native-device-info": "^10.12.0",
143
+ "react-native-play-install-referrer": "^1.1.8"
142
144
  }
143
145
  }
package/src/helper.ts ADDED
@@ -0,0 +1,61 @@
1
+ import DeviceInfo, {
2
+ getManufacturer,
3
+ getSystemVersion,
4
+ } from 'react-native-device-info';
5
+ import { fetch as netinfoFetch } from '@react-native-community/netinfo';
6
+ import {
7
+ PlayInstallReferrer,
8
+ type PlayInstallReferrerInfo,
9
+ } from 'react-native-play-install-referrer';
10
+
11
+ const device_data = async (): Promise<Record<string, any>> => {
12
+ const getInstallReferrerInfo = (): Promise<PlayInstallReferrerInfo | {}> => {
13
+ return new Promise((resolve) => {
14
+ PlayInstallReferrer.getInstallReferrerInfo(
15
+ (installReferrerInfo, error) => {
16
+ if (!error && !!installReferrerInfo) {
17
+ resolve(installReferrerInfo);
18
+ } else {
19
+ resolve({});
20
+ }
21
+ }
22
+ );
23
+ });
24
+ };
25
+
26
+ const [installReferrerInfo, connectivity, manufacturer, systemVersion] =
27
+ await Promise.all([
28
+ getInstallReferrerInfo(),
29
+ netinfoFetch(),
30
+ getManufacturer(),
31
+ getSystemVersion(),
32
+ ]);
33
+
34
+ return {
35
+ android_id: DeviceInfo.getAndroidId(),
36
+ api_level: DeviceInfo.getApiLevel(),
37
+ application_name: DeviceInfo.getApplicationName(),
38
+ base_os: DeviceInfo.getBaseOs(),
39
+ build_id: DeviceInfo.getBuildId(),
40
+ brand: DeviceInfo.getBrand(),
41
+ build_number: DeviceInfo.getBuildNumber(),
42
+ bundle_id: DeviceInfo.getBundleId(),
43
+ carrier: [DeviceInfo.getCarrier()],
44
+ device: DeviceInfo.getDevice(),
45
+ device_id: DeviceInfo.getDeviceId(),
46
+ device_display: DeviceInfo.getDisplay(),
47
+ device_type: DeviceInfo.getDeviceType(),
48
+ device_name: DeviceInfo.getDeviceName(),
49
+ device_token: DeviceInfo.getDeviceToken(),
50
+ device_ip: DeviceInfo.getIpAddress(),
51
+ install_ref: await DeviceInfo.getInstallReferrer(),
52
+ manufacturer,
53
+ system_version: systemVersion,
54
+ version: DeviceInfo.getVersion(),
55
+ connectivity: connectivity.type,
56
+ user_agent: DeviceInfo.getUserAgent(),
57
+ ...installReferrerInfo,
58
+ };
59
+ };
60
+
61
+ export { device_data };