rn-linkrunner 0.5.0 → 0.5.2

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
@@ -39,19 +39,43 @@ import linkrunner from 'rn-linkrunner';
39
39
 
40
40
  // Inside your react component
41
41
  useEffect(() => {
42
- linkrunner.init('PROJECT_TOKEN');
42
+ init();
43
43
  }, []);
44
+
45
+ const init = async () => {
46
+ const initData = await linkrunner.init('PROJECT_TOKEN');
47
+ };
48
+ ```
49
+
50
+ #### Response type for `linkrunner.init`
51
+
52
+ ```
53
+ {
54
+ ip_location_data: {
55
+ ip: string;
56
+ city: string;
57
+ countryLong: string;
58
+ countryShort: string;
59
+ latitude: number;
60
+ longitude: number;
61
+ region: string;
62
+ timeZone: string;
63
+ zipCode: string;
64
+ };
65
+ deeplink: string;
66
+ root_domain: boolean;
67
+ }
44
68
  ```
45
69
 
46
70
  ### Trigger
47
71
 
48
- Call this function once your onboarding is completed and the navigation stack can be accessed by a deep link:
72
+ Call this function once your onboarding is completed and the navigation stack can be accessed by a deeplink:
49
73
 
50
74
  ```jsx
51
75
  import linkrunner from 'rn-linkrunner';
52
76
 
53
- const onTrigger = () => {
54
- linkrunner.trigger({
77
+ const onTrigger = async () => {
78
+ const trigger = await linkrunner.trigger({
55
79
  user_data: {
56
80
  id: '1',
57
81
  name: 'John Doe', // optional
@@ -63,7 +87,28 @@ const onTrigger = () => {
63
87
  };
64
88
  ```
65
89
 
66
- Both attributes in the `trigger` method are optional, although recommended.
90
+ #### Response type for `linkrunner.trigger`
91
+
92
+ ```
93
+ {
94
+ ip_location_data: {
95
+ ip: string;
96
+ city: string;
97
+ countryLong: string;
98
+ countryShort: string;
99
+ latitude: number;
100
+ longitude: number;
101
+ region: string;
102
+ timeZone: string;
103
+ zipCode: string;
104
+ };
105
+ deeplink: string;
106
+ root_domain: boolean;
107
+ trigger: boolean // Deeplink won't be triggered if false
108
+ }
109
+ ```
110
+
111
+ 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
67
112
 
68
113
  ### Facing issues during integration?
69
114
 
@@ -8,7 +8,7 @@ var _reactNative = require("react-native");
8
8
  var _reactNativeDeviceInfo = _interopRequireWildcard(require("react-native-device-info"));
9
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
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.0';
11
+ const package_version = '0.5.2';
12
12
  const app_version = _reactNativeDeviceInfo.default.getVersion();
13
13
  const device_data = {
14
14
  android_id: _reactNativeDeviceInfo.default.getAndroidId(),
@@ -36,36 +36,41 @@ class Linkrunner {
36
36
  constructor() {
37
37
  this.token = null;
38
38
  }
39
- init(token) {
39
+ async init(token) {
40
40
  if (!token) {
41
41
  console.error('Linkrunner needs your project token to initialize!');
42
42
  return;
43
43
  }
44
44
  this.token = token;
45
- fetch(baseUrl + '/api/client/init', {
46
- method: 'POST',
47
- headers: {
48
- 'Accept': 'application/json',
49
- 'Content-Type': 'application/json'
50
- },
51
- body: JSON.stringify({
52
- token,
53
- package_version,
54
- app_version,
55
- device_data,
56
- platform: 'REACT_NATIVE'
57
- })
58
- }).then(res => res.json()).then(result => {
59
- if (!result) throw new Error('No response obtained!');
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
+
60
64
  if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
61
65
  throw new Error(result === null || result === void 0 ? void 0 : result.msg);
62
66
  }
63
67
  if (__DEV__) {
64
68
  console.log('Linkrunner initialised successfully 🔥');
65
69
  }
66
- }).catch(err => {
67
- console.error('Error initializing linkrunner: ', err.message);
68
- });
70
+ return result === null || result === void 0 ? void 0 : result.data;
71
+ } catch (error) {
72
+ console.error('Error initializing linkrunner');
73
+ }
69
74
  }
70
75
  async trigger({
71
76
  data,
@@ -77,7 +82,7 @@ class Linkrunner {
77
82
  return;
78
83
  }
79
84
  try {
80
- var _result$data;
85
+ var _result$data, _result$data2;
81
86
  const response = await fetch(baseUrl + '/api/client/trigger', {
82
87
  method: 'POST',
83
88
  headers: {
@@ -100,9 +105,24 @@ class Linkrunner {
100
105
  console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
101
106
  return;
102
107
  }
103
- if (result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink && (config === null || config === void 0 ? void 0 : config.trigger_deeplink) !== false) {
104
- var _result$data2;
105
- _reactNative.Linking.openURL(result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.deeplink);
108
+ if (result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink && (config === null || config === void 0 ? void 0 : config.trigger_deeplink) !== false && result !== null && result !== void 0 && (_result$data2 = result.data) !== null && _result$data2 !== void 0 && _result$data2.trigger) {
109
+ var _result$data4;
110
+ if (__DEV__) {
111
+ var _result$data3;
112
+ console.log('Triggering deeplink > ', result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.deeplink);
113
+ }
114
+ _reactNative.Linking.openURL(result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.deeplink).then(() => {
115
+ fetch(baseUrl + '/api/client/deeplink-triggered', {
116
+ method: 'POST',
117
+ headers: {
118
+ 'Accept': 'application/json',
119
+ 'Content-Type': 'application/json'
120
+ },
121
+ body: JSON.stringify({
122
+ token: this.token
123
+ })
124
+ }).then(res => res.json()).catch(() => {});
125
+ });
106
126
  }
107
127
  if (__DEV__) {
108
128
  console.log('Linkrunner: Trigger called 🔥');
@@ -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","method","headers","body","JSON","stringify","platform","then","res","json","result","Error","status","msg","__DEV__","log","catch","err","message","trigger","data","user_data","config","_result$data","response","deeplink","trigger_deeplink","_result$data2","Linking","openURL","linkrunner","_default","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAGkC,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAElC,MAAMY,eAAe,GAAG,OAAO;AAC/B,MAAMC,WAAmB,GAAGC,8BAAU,CAACC,UAAU,CAAC,CAAC;AAEnD,MAAMC,WAAW,GAAG;EAClBC,UAAU,EAAEH,8BAAU,CAACI,YAAY,CAAC,CAAC;EACrCC,SAAS,EAAEL,8BAAU,CAACM,WAAW,CAAC,CAAC;EACnCC,gBAAgB,EAAEP,8BAAU,CAACQ,kBAAkB,CAAC,CAAC;EACjDC,OAAO,EAAET,8BAAU,CAACU,SAAS,CAAC,CAAC;EAC/BC,QAAQ,EAAEX,8BAAU,CAACY,UAAU,CAAC,CAAC;EACjCC,KAAK,EAAEb,8BAAU,CAACc,QAAQ,CAAC,CAAC;EAC5BC,YAAY,EAAEf,8BAAU,CAACgB,cAAc,CAAC,CAAC;EACzCC,SAAS,EAAEjB,8BAAU,CAACkB,WAAW,CAAC,CAAC;EACnCC,OAAO,EAAEnB,8BAAU,CAACoB,UAAU,CAAC,CAAC;EAChCC,MAAM,EAAErB,8BAAU,CAACsB,SAAS,CAAC,CAAC;EAC9BC,SAAS,EAAEvB,8BAAU,CAACwB,WAAW,CAAC,CAAC;EACnCC,WAAW,EAAEzB,8BAAU,CAAC0B,aAAa,CAAC,CAAC;EACvCC,WAAW,EAAE3B,8BAAU,CAAC4B,aAAa,CAAC,CAAC;EACvCC,YAAY,EAAE7B,8BAAU,CAAC8B,cAAc,CAAC,CAAC;EACzCC,SAAS,EAAE/B,8BAAU,CAACgC,YAAY,CAAC,CAAC;EACpCC,WAAW,EAAEjC,8BAAU,CAACkC,kBAAkB,CAAC,CAAC;EAC5CC,YAAY,EAAE,IAAAC,sCAAe,EAAC,CAAC;EAC/BC,cAAc,EAAE,IAAAC,uCAAgB,EAAC,CAAC;EAClCC,OAAO,EAAEvC,8BAAU,CAACC,UAAU,CAAC;AACjC,CAAC;AAED,MAAMuC,OAAO,GAAG,2BAA2B;AA+B3C,MAAMC,UAAU,CAAC;EAGfC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,MAAMC,IAAIA,CAACD,KAAa,EAA4B;IAClD,IAAI,CAACA,KAAK,EAAE;MACVE,OAAO,CAACC,KAAK,CAAC,oDAAoD,CAAC;MACnE;IACF;IAEA,IAAI,CAACH,KAAK,GAAGA,KAAK;IAClB,IAAI;MACF,MAAMI,YAAY,GAAG,MAAMC,KAAK,CAACR,OAAO,GAAG,kBAAkB,EAAE;QAC7DS,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,QAAQ,EAAE,kBAAkB;UAC5B,cAAc,EAAE;QAClB,CAAC;QACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnBV,KAAK;UACL7C,eAAe;UACfC,WAAW;UACXG,WAAW;UACXoD,QAAQ,EAAE;QACZ,CAAC;MACH,CAAC,CAAC;MAEF,MAAMC,MAAM,GAAG,MAAMR,YAAY,CAACS,IAAI,CAAC,CAAC;;MAExC;;MAEA,IAAI,CAAAD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,IAAI,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,EAAE;QACpD,MAAM,IAAIC,KAAK,CAACH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,GAAG,CAAC;MAC9B;MAEA,IAAIC,OAAO,EAAE;QACXf,OAAO,CAACgB,GAAG,CAAC,wCAAwC,CAAC;MACvD;MAEA,OAAON,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,IAAI;IACrB,CAAC,CAAC,OAAOhB,KAAK,EAAE;MACdD,OAAO,CAACC,KAAK,CAAC,+BAA+B,CAAC;IAChD;EACF;EAEA,MAAMiB,OAAOA,CAAC;IACZD,IAAI;IACJE,SAAS;IACTC;EAKF,CAAC,EAA4B;IAC3B,IAAI,CAAC,IAAI,CAACtB,KAAK,EAAE;MACfE,OAAO,CAACC,KAAK,CAAC,mDAAmD,CAAC;MAClE;IACF;IAEA,IAAI;MAAA,IAAAoB,YAAA,EAAAC,aAAA;MACF,MAAMC,QAAQ,GAAG,MAAMpB,KAAK,CAACR,OAAO,GAAG,qBAAqB,EAAE;QAC5DS,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,QAAQ,EAAE,kBAAkB;UAC5B,cAAc,EAAE;QAClB,CAAC;QACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnBV,KAAK,EAAE,IAAI,CAACA,KAAK;UACjBqB,SAAS;UACTV,QAAQ,EAAE,cAAc;UACxBQ,IAAI,EAAE;YACJ,GAAGA,IAAI;YACP5D;UACF;QACF,CAAC;MACH,CAAC,CAAC;MACF,MAAMqD,MAAM,GAAG,MAAMa,QAAQ,CAACZ,IAAI,CAAC,CAAC;MAEpC,IAAI,CAAAD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,IAAI,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,EAAE;QACpDZ,OAAO,CAACC,KAAK,CAAC,4BAA4B,CAAC;QAC3CD,OAAO,CAACC,KAAK,CAAC,cAAc,EAAES,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,GAAG,CAAC;QAC1C;MACF;MAEA,IACEJ,MAAM,aAANA,MAAM,gBAAAW,YAAA,GAANX,MAAM,CAAEO,IAAI,cAAAI,YAAA,eAAZA,YAAA,CAAcG,QAAQ,IACtB,CAAAJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,gBAAgB,MAAK,KAAK,IAClCf,MAAM,aAANA,MAAM,gBAAAY,aAAA,GAANZ,MAAM,CAAEO,IAAI,cAAAK,aAAA,eAAZA,aAAA,CAAcJ,OAAO,EACrB;QAAA,IAAAQ,aAAA;QACA,IAAIX,OAAO,EAAE;UAAA,IAAAY,aAAA;UACX3B,OAAO,CAACgB,GAAG,CAAC,wBAAwB,EAAEN,MAAM,aAANA,MAAM,gBAAAiB,aAAA,GAANjB,MAAM,CAAEO,IAAI,cAAAU,aAAA,uBAAZA,aAAA,CAAcH,QAAQ,CAAC;QAC/D;QAEAI,oBAAO,CAACC,OAAO,CAACnB,MAAM,aAANA,MAAM,gBAAAgB,aAAA,GAANhB,MAAM,CAAEO,IAAI,cAAAS,aAAA,uBAAZA,aAAA,CAAcF,QAAQ,CAAC,CAACM,IAAI,CAAC,MAAM;UACjD3B,KAAK,CAACR,OAAO,GAAG,gCAAgC,EAAE;YAChDS,MAAM,EAAE,MAAM;YACdC,OAAO,EAAE;cACP,QAAQ,EAAE,kBAAkB;cAC5B,cAAc,EAAE;YAClB,CAAC;YACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;cACnBV,KAAK,EAAE,IAAI,CAACA;YACd,CAAC;UACH,CAAC,CAAC,CACCgC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACpB,IAAI,CAAC,CAAC,CAAC,CACzBqB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;MACJ;MAEA,IAAIjB,OAAO,EAAE;QACXf,OAAO,CAACgB,GAAG,CAAC,+BAA+B,CAAC;MAC9C;MAEA,OAAON,MAAM,CAACO,IAAI;IACpB,CAAC,CAAC,OAAOgB,GAAQ,EAAE;MACjBjC,OAAO,CAACC,KAAK,CAAC,4BAA4B,CAAC;MAC3CD,OAAO,CAACC,KAAK,CAAC,cAAc,EAAEgC,GAAG,CAACC,OAAO,CAAC;IAC5C;EACF;AACF;AAEA,MAAMC,UAAU,GAAG,IAAIvC,UAAU,CAAC,CAAC;AAAC,IAAAwC,QAAA,GAAAC,OAAA,CAAAnG,OAAA,GAErBiG,UAAU"}
@@ -1,6 +1,6 @@
1
1
  import { Linking } from 'react-native';
2
2
  import DeviceInfo, { getManufacturer, getSystemVersion } from 'react-native-device-info';
3
- const package_version = '0.5.0';
3
+ const package_version = '0.5.2';
4
4
  const app_version = DeviceInfo.getVersion();
5
5
  const device_data = {
6
6
  android_id: DeviceInfo.getAndroidId(),
@@ -28,36 +28,41 @@ class Linkrunner {
28
28
  constructor() {
29
29
  this.token = null;
30
30
  }
31
- init(token) {
31
+ async init(token) {
32
32
  if (!token) {
33
33
  console.error('Linkrunner needs your project token to initialize!');
34
34
  return;
35
35
  }
36
36
  this.token = token;
37
- fetch(baseUrl + '/api/client/init', {
38
- method: 'POST',
39
- headers: {
40
- 'Accept': 'application/json',
41
- 'Content-Type': 'application/json'
42
- },
43
- body: JSON.stringify({
44
- token,
45
- package_version,
46
- app_version,
47
- device_data,
48
- platform: 'REACT_NATIVE'
49
- })
50
- }).then(res => res.json()).then(result => {
51
- if (!result) throw new Error('No response obtained!');
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
+
52
56
  if ((result === null || result === void 0 ? void 0 : result.status) !== 200 && (result === null || result === void 0 ? void 0 : result.status) !== 201) {
53
57
  throw new Error(result === null || result === void 0 ? void 0 : result.msg);
54
58
  }
55
59
  if (__DEV__) {
56
60
  console.log('Linkrunner initialised successfully 🔥');
57
61
  }
58
- }).catch(err => {
59
- console.error('Error initializing linkrunner: ', err.message);
60
- });
62
+ return result === null || result === void 0 ? void 0 : result.data;
63
+ } catch (error) {
64
+ console.error('Error initializing linkrunner');
65
+ }
61
66
  }
62
67
  async trigger({
63
68
  data,
@@ -69,7 +74,7 @@ class Linkrunner {
69
74
  return;
70
75
  }
71
76
  try {
72
- var _result$data;
77
+ var _result$data, _result$data2;
73
78
  const response = await fetch(baseUrl + '/api/client/trigger', {
74
79
  method: 'POST',
75
80
  headers: {
@@ -92,9 +97,24 @@ class Linkrunner {
92
97
  console.error('Linkrunner: ', result === null || result === void 0 ? void 0 : result.msg);
93
98
  return;
94
99
  }
95
- if (result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink && (config === null || config === void 0 ? void 0 : config.trigger_deeplink) !== false) {
96
- var _result$data2;
97
- Linking.openURL(result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.deeplink);
100
+ if (result !== null && result !== void 0 && (_result$data = result.data) !== null && _result$data !== void 0 && _result$data.deeplink && (config === null || config === void 0 ? void 0 : config.trigger_deeplink) !== false && result !== null && result !== void 0 && (_result$data2 = result.data) !== null && _result$data2 !== void 0 && _result$data2.trigger) {
101
+ var _result$data4;
102
+ if (__DEV__) {
103
+ var _result$data3;
104
+ console.log('Triggering deeplink > ', result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.deeplink);
105
+ }
106
+ Linking.openURL(result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.deeplink).then(() => {
107
+ fetch(baseUrl + '/api/client/deeplink-triggered', {
108
+ method: 'POST',
109
+ headers: {
110
+ 'Accept': 'application/json',
111
+ 'Content-Type': 'application/json'
112
+ },
113
+ body: JSON.stringify({
114
+ token: this.token
115
+ })
116
+ }).then(res => res.json()).catch(() => {});
117
+ });
98
118
  }
99
119
  if (__DEV__) {
100
120
  console.log('Linkrunner: Trigger called 🔥');
@@ -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","method","headers","body","JSON","stringify","platform","then","res","json","result","Error","status","msg","__DEV__","log","catch","err","message","trigger","data","user_data","config","_result$data","response","deeplink","trigger_deeplink","_result$data2","openURL","linkrunner"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc;AACtC,OAAOC,UAAU,IACfC,eAAe,EACfC,gBAAgB,QACX,0BAA0B;AAEjC,MAAMC,eAAe,GAAG,OAAO;AAC/B,MAAMC,WAAmB,GAAGJ,UAAU,CAACK,UAAU,CAAC,CAAC;AAEnD,MAAMC,WAAW,GAAG;EAClBC,UAAU,EAAEP,UAAU,CAACQ,YAAY,CAAC,CAAC;EACrCC,SAAS,EAAET,UAAU,CAACU,WAAW,CAAC,CAAC;EACnCC,gBAAgB,EAAEX,UAAU,CAACY,kBAAkB,CAAC,CAAC;EACjDC,OAAO,EAAEb,UAAU,CAACc,SAAS,CAAC,CAAC;EAC/BC,QAAQ,EAAEf,UAAU,CAACgB,UAAU,CAAC,CAAC;EACjCC,KAAK,EAAEjB,UAAU,CAACkB,QAAQ,CAAC,CAAC;EAC5BC,YAAY,EAAEnB,UAAU,CAACoB,cAAc,CAAC,CAAC;EACzCC,SAAS,EAAErB,UAAU,CAACsB,WAAW,CAAC,CAAC;EACnCC,OAAO,EAAEvB,UAAU,CAACwB,UAAU,CAAC,CAAC;EAChCC,MAAM,EAAEzB,UAAU,CAAC0B,SAAS,CAAC,CAAC;EAC9BC,SAAS,EAAE3B,UAAU,CAAC4B,WAAW,CAAC,CAAC;EACnCC,WAAW,EAAE7B,UAAU,CAAC8B,aAAa,CAAC,CAAC;EACvCC,WAAW,EAAE/B,UAAU,CAACgC,aAAa,CAAC,CAAC;EACvCC,YAAY,EAAEjC,UAAU,CAACkC,cAAc,CAAC,CAAC;EACzCC,SAAS,EAAEnC,UAAU,CAACoC,YAAY,CAAC,CAAC;EACpCC,WAAW,EAAErC,UAAU,CAACsC,kBAAkB,CAAC,CAAC;EAC5CC,YAAY,EAAEtC,eAAe,CAAC,CAAC;EAC/BuC,cAAc,EAAEtC,gBAAgB,CAAC,CAAC;EAClCuC,OAAO,EAAEzC,UAAU,CAACK,UAAU,CAAC;AACjC,CAAC;AAED,MAAMqC,OAAO,GAAG,2BAA2B;AAa3C,MAAMC,UAAU,CAAC;EAGfC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEAC,IAAIA,CAACD,KAAa,EAAQ;IACxB,IAAI,CAACA,KAAK,EAAE;MACVE,OAAO,CAACC,KAAK,CAAC,oDAAoD,CAAC;MACnE;IACF;IAEA,IAAI,CAACH,KAAK,GAAGA,KAAK;IAClBI,KAAK,CAACP,OAAO,GAAG,kBAAkB,EAAE;MAClCQ,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,QAAQ,EAAE,kBAAkB;QAC5B,cAAc,EAAE;MAClB,CAAC;MACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;QACnBT,KAAK;QACL1C,eAAe;QACfC,WAAW;QACXE,WAAW;QACXiD,QAAQ,EAAE;MACZ,CAAC;IACH,CAAC,CAAC,CACCC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CACzBF,IAAI,CAAEG,MAAM,IAAK;MAChB,IAAI,CAACA,MAAM,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;MAErD,IAAI,CAAAD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,IAAI,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,EAAE;QACpD,MAAM,IAAID,KAAK,CAACD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,GAAG,CAAC;MAC9B;MAEA,IAAIC,OAAO,EAAE;QACXhB,OAAO,CAACiB,GAAG,CAAC,wCAAwC,CAAC;MACvD;IACF,CAAC,CAAC,CACDC,KAAK,CAAEC,GAAG,IAAK;MACdnB,OAAO,CAACC,KAAK,CAAC,iCAAiC,EAAEkB,GAAG,CAACC,OAAO,CAAC;IAC/D,CAAC,CAAC;EACN;EAEA,MAAMC,OAAOA,CAAC;IACZC,IAAI;IACJC,SAAS;IACTC;EAKF,CAAC,EAAiB;IAChB,IAAI,CAAC,IAAI,CAAC1B,KAAK,EAAE;MACfE,OAAO,CAACC,KAAK,CAAC,mDAAmD,CAAC;MAClE;IACF;IAEA,IAAI;MAAA,IAAAwB,YAAA;MACF,MAAMC,QAAQ,GAAG,MAAMxB,KAAK,CAACP,OAAO,GAAG,qBAAqB,EAAE;QAC5DQ,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,QAAQ,EAAE,kBAAkB;UAC5B,cAAc,EAAE;QAClB,CAAC;QACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnBT,KAAK,EAAE,IAAI,CAACA,KAAK;UACjByB,SAAS;UACTf,QAAQ,EAAE,cAAc;UACxBc,IAAI,EAAE;YACJ,GAAGA,IAAI;YACP/D;UACF;QACF,CAAC;MACH,CAAC,CAAC;MACF,MAAMqD,MAAM,GAAG,MAAMc,QAAQ,CAACf,IAAI,CAAC,CAAC;MAEpC,IAAI,CAAAC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,IAAI,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,MAAK,GAAG,EAAE;QACpDd,OAAO,CAACC,KAAK,CAAC,4BAA4B,CAAC;QAC3CD,OAAO,CAACC,KAAK,CAAC,cAAc,EAAEW,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,GAAG,CAAC;QAC1C;MACF;MAEA,IAAIH,MAAM,aAANA,MAAM,gBAAAa,YAAA,GAANb,MAAM,CAAEU,IAAI,cAAAG,YAAA,eAAZA,YAAA,CAAcE,QAAQ,IAAI,CAAAH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,gBAAgB,MAAK,KAAK,EAAE;QAAA,IAAAC,aAAA;QAChE7E,OAAO,CAAC8E,OAAO,CAAClB,MAAM,aAANA,MAAM,gBAAAiB,aAAA,GAANjB,MAAM,CAAEU,IAAI,cAAAO,aAAA,uBAAZA,aAAA,CAAcF,QAAQ,CAAC;MACzC;MAEA,IAAIX,OAAO,EAAE;QACXhB,OAAO,CAACiB,GAAG,CAAC,+BAA+B,CAAC;MAC9C;MAEA,OAAOL,MAAM,CAACU,IAAI;IACpB,CAAC,CAAC,OAAOH,GAAQ,EAAE;MACjBnB,OAAO,CAACC,KAAK,CAAC,4BAA4B,CAAC;MAC3CD,OAAO,CAACC,KAAK,CAAC,cAAc,EAAEkB,GAAG,CAACC,OAAO,CAAC;IAC5C;EACF;AACF;AAEA,MAAMW,UAAU,GAAG,IAAInC,UAAU,CAAC,CAAC;AAEnC,eAAemC,UAAU"}
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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"}
@@ -7,15 +7,31 @@ interface UserData {
7
7
  interface TriggerConfig {
8
8
  trigger_deeplink?: boolean;
9
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
+ }
10
26
  declare class Linkrunner {
11
27
  private token;
12
28
  constructor();
13
- init(token: string): void;
29
+ init(token: string): Promise<void | Response>;
14
30
  trigger({ data, user_data, config, }: {
15
31
  config?: TriggerConfig;
16
32
  data: any;
17
33
  user_data: UserData;
18
- }): Promise<void>;
34
+ }): Promise<void | Response>;
19
35
  }
20
36
  declare const linkrunner: Linkrunner;
21
37
  export default linkrunner;
@@ -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,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAgB;;IAM7B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsCnB,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,CAAC;CA6ClB;AAED,QAAA,MAAM,UAAU,YAAmB,CAAC;AAEpC,eAAe,UAAU,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-linkrunner",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
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
@@ -4,7 +4,7 @@ import DeviceInfo, {
4
4
  getSystemVersion,
5
5
  } from 'react-native-device-info';
6
6
 
7
- const package_version = '0.5.0';
7
+ const package_version = '0.5.2';
8
8
  const app_version: string = DeviceInfo.getVersion();
9
9
 
10
10
  const device_data = {
@@ -42,6 +42,24 @@ interface TriggerConfig {
42
42
  trigger_deeplink?: boolean;
43
43
  }
44
44
 
45
+ export type Response = {
46
+ ip_location_data: IPLocationData;
47
+ deeplink: string;
48
+ root_domain: boolean;
49
+ };
50
+
51
+ export interface IPLocationData {
52
+ ip: string;
53
+ city: string;
54
+ countryLong: string;
55
+ countryShort: string;
56
+ latitude: number;
57
+ longitude: number;
58
+ region: string;
59
+ timeZone: string;
60
+ zipCode: string;
61
+ }
62
+
45
63
  class Linkrunner {
46
64
  private token: string | null;
47
65
 
@@ -49,42 +67,45 @@ class Linkrunner {
49
67
  this.token = null;
50
68
  }
51
69
 
52
- init(token: string): void {
70
+ async init(token: string): Promise<void | Response> {
53
71
  if (!token) {
54
72
  console.error('Linkrunner needs your project token to initialize!');
55
73
  return;
56
74
  }
57
75
 
58
76
  this.token = token;
59
- fetch(baseUrl + '/api/client/init', {
60
- method: 'POST',
61
- headers: {
62
- 'Accept': 'application/json',
63
- 'Content-Type': 'application/json',
64
- },
65
- body: JSON.stringify({
66
- token,
67
- package_version,
68
- app_version,
69
- device_data,
70
- platform: 'REACT_NATIVE',
71
- }),
72
- })
73
- .then((res) => res.json())
74
- .then((result) => {
75
- if (!result) throw new Error('No response obtained!');
76
-
77
- if (result?.status !== 200 && result?.status !== 201) {
78
- throw new Error(result?.msg);
79
- }
80
-
81
- if (__DEV__) {
82
- console.log('Linkrunner initialised successfully 🔥');
83
- }
84
- })
85
- .catch((err) => {
86
- console.error('Error initializing linkrunner: ', err.message);
77
+ try {
78
+ const fetch_result = await fetch(baseUrl + '/api/client/init', {
79
+ method: 'POST',
80
+ headers: {
81
+ 'Accept': 'application/json',
82
+ 'Content-Type': 'application/json',
83
+ },
84
+ body: JSON.stringify({
85
+ token,
86
+ package_version,
87
+ app_version,
88
+ device_data,
89
+ platform: 'REACT_NATIVE',
90
+ }),
87
91
  });
92
+
93
+ const result = await fetch_result.json();
94
+
95
+ // if (!result) throw new Error('No response obtained!');
96
+
97
+ if (result?.status !== 200 && result?.status !== 201) {
98
+ throw new Error(result?.msg);
99
+ }
100
+
101
+ if (__DEV__) {
102
+ console.log('Linkrunner initialised successfully 🔥');
103
+ }
104
+
105
+ return result?.data;
106
+ } catch (error) {
107
+ console.error('Error initializing linkrunner');
108
+ }
88
109
  }
89
110
 
90
111
  async trigger({
@@ -95,7 +116,7 @@ class Linkrunner {
95
116
  config?: TriggerConfig;
96
117
  data: any;
97
118
  user_data: UserData;
98
- }): Promise<void> {
119
+ }): Promise<void | Response> {
99
120
  if (!this.token) {
100
121
  console.error('Linkrunner: Trigger failed, token not initialized');
101
122
  return;
@@ -126,8 +147,29 @@ class Linkrunner {
126
147
  return;
127
148
  }
128
149
 
129
- if (result?.data?.deeplink && config?.trigger_deeplink !== false) {
130
- Linking.openURL(result?.data?.deeplink);
150
+ if (
151
+ result?.data?.deeplink &&
152
+ config?.trigger_deeplink !== false &&
153
+ result?.data?.trigger
154
+ ) {
155
+ if (__DEV__) {
156
+ console.log('Triggering deeplink > ', result?.data?.deeplink);
157
+ }
158
+
159
+ Linking.openURL(result?.data?.deeplink).then(() => {
160
+ fetch(baseUrl + '/api/client/deeplink-triggered', {
161
+ method: 'POST',
162
+ headers: {
163
+ 'Accept': 'application/json',
164
+ 'Content-Type': 'application/json',
165
+ },
166
+ body: JSON.stringify({
167
+ token: this.token,
168
+ }),
169
+ })
170
+ .then((res) => res.json())
171
+ .catch(() => {});
172
+ });
131
173
  }
132
174
 
133
175
  if (__DEV__) {