rn-linkrunner 1.1.1 → 1.1.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.
@@ -16,72 +16,94 @@ var _reactNativeIdfaAaid = _interopRequireDefault(require("@sparkfabrik/react-na
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  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); }
18
18
  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; }
19
- const device_data = async () => {
20
- const getInstallReferrerInfo = () => {
21
- return new Promise(resolve => {
22
- if (_reactNative.Platform.OS === 'ios') {
23
- resolve({});
24
- return;
25
- }
19
+ const getInstallReferrerInfo = () => {
20
+ return new Promise(resolve => {
21
+ if (_reactNative.Platform.OS === 'ios') {
22
+ resolve({});
23
+ return;
24
+ }
26
25
 
27
- // Add a timeout to ensure the promise resolves even if the callback never fires
28
- const timeoutId = setTimeout(() => {
29
- resolve({});
30
- }, 2000);
31
- try {
32
- _reactNativePlayInstallReferrer.PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
33
- // Clear the timeout since callback fired
34
- clearTimeout(timeoutId);
35
- if (!error && !!installReferrerInfo) {
36
- resolve(installReferrerInfo);
37
- } else {
38
- resolve({});
39
- }
40
- });
41
- } catch (e) {
42
- // Clear the timeout since we caught an exception
26
+ // Add a timeout to ensure the promise resolves even if the callback never fires
27
+ const timeoutId = setTimeout(() => {
28
+ resolve({});
29
+ }, 2000);
30
+ try {
31
+ _reactNativePlayInstallReferrer.PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
32
+ // Clear the timeout since callback fired
43
33
  clearTimeout(timeoutId);
44
- resolve({});
45
- }
46
- });
47
- };
48
- const getAdvertisingIdentifier = async () => {
34
+ if (!error && !!installReferrerInfo) {
35
+ resolve(installReferrerInfo);
36
+ } else {
37
+ resolve({});
38
+ }
39
+ });
40
+ } catch (e) {
41
+ // Clear the timeout since we caught an exception
42
+ clearTimeout(timeoutId);
43
+ resolve({});
44
+ }
45
+ });
46
+ };
47
+ const getAdvertisingIdentifier = async () => {
48
+ try {
49
49
  const identifier = await _reactNativeIdfaAaid.default.getAdvertisingInfo();
50
50
  if (!identifier.isAdTrackingLimited && identifier.id) {
51
51
  return identifier.id;
52
52
  } else {
53
53
  return null;
54
54
  }
55
- };
56
- const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), (0, _netinfo.fetch)(), (0, _reactNativeDeviceInfo.getManufacturer)(), (0, _reactNativeDeviceInfo.getSystemVersion)()]);
57
- return {
58
- android_id: await _reactNativeDeviceInfo.default.getAndroidId(),
59
- api_level: await _reactNativeDeviceInfo.default.getApiLevel(),
60
- application_name: _reactNativeDeviceInfo.default.getApplicationName(),
61
- base_os: await _reactNativeDeviceInfo.default.getBaseOs(),
62
- build_id: await _reactNativeDeviceInfo.default.getBuildId(),
63
- brand: _reactNativeDeviceInfo.default.getBrand(),
64
- build_number: _reactNativeDeviceInfo.default.getBuildNumber(),
65
- bundle_id: _reactNativeDeviceInfo.default.getBundleId(),
66
- carrier: [await _reactNativeDeviceInfo.default.getCarrier()],
67
- device: await _reactNativeDeviceInfo.default.getDevice(),
68
- device_id: await _reactNativeDeviceInfo.default.getDeviceId(),
69
- device_display: await _reactNativeDeviceInfo.default.getDisplay(),
70
- device_type: await _reactNativeDeviceInfo.default.getDeviceType(),
71
- device_name: await _reactNativeDeviceInfo.default.getDeviceName(),
72
- device_token: await _reactNativeDeviceInfo.default.getDeviceToken(),
73
- device_ip: await _reactNativeDeviceInfo.default.getIpAddress(),
74
- install_ref: await _reactNativeDeviceInfo.default.getInstallReferrer(),
75
- manufacturer,
76
- system_version: systemVersion,
77
- version: _reactNativeDeviceInfo.default.getVersion(),
78
- connectivity: connectivity.type,
79
- user_agent: await _reactNativeDeviceInfo.default.getUserAgent(),
80
- gaid: _reactNative.Platform.OS === 'android' ? await getAdvertisingIdentifier() : null,
81
- idfa: _reactNative.Platform.OS === 'ios' ? await getAdvertisingIdentifier() : null,
82
- idfv: _reactNative.Platform.OS === 'ios' ? await _reactNativeDeviceInfo.default.getUniqueId() : null,
83
- ...installReferrerInfo
84
- };
55
+ } catch (error) {
56
+ console.error('Error getting advertising identifier:', error);
57
+ return null;
58
+ }
59
+ };
60
+ const device_data = async () => {
61
+ try {
62
+ const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), (0, _netinfo.fetch)(), (0, _reactNativeDeviceInfo.getManufacturer)(), (0, _reactNativeDeviceInfo.getSystemVersion)()]);
63
+
64
+ // Helper function to safely get device info with fallback
65
+ const safeGet = async (getter, fallback = null) => {
66
+ try {
67
+ return await getter();
68
+ } catch (error) {
69
+ console.warn(`DeviceInfo error: ${error}`);
70
+ return fallback;
71
+ }
72
+ };
73
+ return {
74
+ android_id: await safeGet(_reactNativeDeviceInfo.default.getAndroidId),
75
+ api_level: await safeGet(_reactNativeDeviceInfo.default.getApiLevel),
76
+ application_name: await safeGet(_reactNativeDeviceInfo.default.getApplicationName),
77
+ base_os: await safeGet(_reactNativeDeviceInfo.default.getBaseOs),
78
+ build_id: await safeGet(_reactNativeDeviceInfo.default.getBuildId),
79
+ brand: await safeGet(_reactNativeDeviceInfo.default.getBrand),
80
+ build_number: await safeGet(_reactNativeDeviceInfo.default.getBuildNumber),
81
+ bundle_id: await safeGet(_reactNativeDeviceInfo.default.getBundleId),
82
+ carrier: [await safeGet(_reactNativeDeviceInfo.default.getCarrier)],
83
+ device: await safeGet(_reactNativeDeviceInfo.default.getDevice),
84
+ device_id: await safeGet(_reactNativeDeviceInfo.default.getDeviceId),
85
+ device_display: await safeGet(_reactNativeDeviceInfo.default.getDisplay),
86
+ device_type: await safeGet(_reactNativeDeviceInfo.default.getDeviceType),
87
+ device_name: await safeGet(_reactNativeDeviceInfo.default.getDeviceName),
88
+ device_token: await safeGet(_reactNativeDeviceInfo.default.getDeviceToken),
89
+ device_ip: await safeGet(_reactNativeDeviceInfo.default.getIpAddress),
90
+ install_ref: await safeGet(_reactNativeDeviceInfo.default.getInstallReferrer),
91
+ manufacturer,
92
+ system_version: systemVersion,
93
+ version: await safeGet(_reactNativeDeviceInfo.default.getVersion),
94
+ connectivity: connectivity.type,
95
+ user_agent: await safeGet(_reactNativeDeviceInfo.default.getUserAgent),
96
+ gaid: _reactNative.Platform.OS === 'android' ? await getAdvertisingIdentifier() : null,
97
+ idfa: _reactNative.Platform.OS === 'ios' ? await getAdvertisingIdentifier() : null,
98
+ idfv: _reactNative.Platform.OS === 'ios' ? await safeGet(_reactNativeDeviceInfo.default.getUniqueId) : null,
99
+ ...installReferrerInfo
100
+ };
101
+ } catch (error) {
102
+ console.error('Error collecting device data:', error);
103
+ return {
104
+ error: 'Failed to collect device data'
105
+ };
106
+ }
85
107
  };
86
108
  exports.device_data = device_data;
87
109
  const STORAGE_KEY = 'linkrunner_install_instance_id';
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeDeviceInfo","_interopRequireWildcard","require","_netinfo","_reactNativePlayInstallReferrer","_asyncStorage","_interopRequireDefault","_reactNative","_reactNativeIdfaAaid","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","Platform","OS","timeoutId","setTimeout","PlayInstallReferrer","installReferrerInfo","error","clearTimeout","getAdvertisingIdentifier","identifier","ReactNativeIdfaAaid","getAdvertisingInfo","isAdTrackingLimited","id","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","gaid","idfa","idfv","getUniqueId","exports","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","AsyncStorage","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join","DEEPLINK_URL_STORAGE_KEY","setDeeplinkURL","deeplink_url","getDeeplinkURL"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNativeDeviceInfo","_interopRequireWildcard","require","_netinfo","_reactNativePlayInstallReferrer","_asyncStorage","_interopRequireDefault","_reactNative","_reactNativeIdfaAaid","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","getInstallReferrerInfo","Promise","resolve","Platform","OS","timeoutId","setTimeout","PlayInstallReferrer","installReferrerInfo","error","clearTimeout","getAdvertisingIdentifier","identifier","ReactNativeIdfaAaid","getAdvertisingInfo","isAdTrackingLimited","id","console","device_data","connectivity","manufacturer","systemVersion","all","netinfoFetch","getManufacturer","getSystemVersion","safeGet","getter","fallback","warn","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","gaid","idfa","idfv","getUniqueId","exports","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","AsyncStorage","getItem","generateRandomString","setItem","length","chars","Array","fill","map","charAt","Math","floor","random","join","DEEPLINK_URL_STORAGE_KEY","setDeeplinkURL","deeplink_url","getDeeplinkURL"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
@@ -4,72 +4,94 @@ import { PlayInstallReferrer } from 'react-native-play-install-referrer';
4
4
  import AsyncStorage from '@react-native-async-storage/async-storage';
5
5
  import { Platform } from 'react-native';
6
6
  import ReactNativeIdfaAaid from '@sparkfabrik/react-native-idfa-aaid';
7
- const device_data = async () => {
8
- const getInstallReferrerInfo = () => {
9
- return new Promise(resolve => {
10
- if (Platform.OS === 'ios') {
11
- resolve({});
12
- return;
13
- }
7
+ const getInstallReferrerInfo = () => {
8
+ return new Promise(resolve => {
9
+ if (Platform.OS === 'ios') {
10
+ resolve({});
11
+ return;
12
+ }
14
13
 
15
- // Add a timeout to ensure the promise resolves even if the callback never fires
16
- const timeoutId = setTimeout(() => {
17
- resolve({});
18
- }, 2000);
19
- try {
20
- PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
21
- // Clear the timeout since callback fired
22
- clearTimeout(timeoutId);
23
- if (!error && !!installReferrerInfo) {
24
- resolve(installReferrerInfo);
25
- } else {
26
- resolve({});
27
- }
28
- });
29
- } catch (e) {
30
- // Clear the timeout since we caught an exception
14
+ // Add a timeout to ensure the promise resolves even if the callback never fires
15
+ const timeoutId = setTimeout(() => {
16
+ resolve({});
17
+ }, 2000);
18
+ try {
19
+ PlayInstallReferrer.getInstallReferrerInfo((installReferrerInfo, error) => {
20
+ // Clear the timeout since callback fired
31
21
  clearTimeout(timeoutId);
32
- resolve({});
33
- }
34
- });
35
- };
36
- const getAdvertisingIdentifier = async () => {
22
+ if (!error && !!installReferrerInfo) {
23
+ resolve(installReferrerInfo);
24
+ } else {
25
+ resolve({});
26
+ }
27
+ });
28
+ } catch (e) {
29
+ // Clear the timeout since we caught an exception
30
+ clearTimeout(timeoutId);
31
+ resolve({});
32
+ }
33
+ });
34
+ };
35
+ const getAdvertisingIdentifier = async () => {
36
+ try {
37
37
  const identifier = await ReactNativeIdfaAaid.getAdvertisingInfo();
38
38
  if (!identifier.isAdTrackingLimited && identifier.id) {
39
39
  return identifier.id;
40
40
  } else {
41
41
  return null;
42
42
  }
43
- };
44
- const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), netinfoFetch(), getManufacturer(), getSystemVersion()]);
45
- return {
46
- android_id: await DeviceInfo.getAndroidId(),
47
- api_level: await DeviceInfo.getApiLevel(),
48
- application_name: DeviceInfo.getApplicationName(),
49
- base_os: await DeviceInfo.getBaseOs(),
50
- build_id: await DeviceInfo.getBuildId(),
51
- brand: DeviceInfo.getBrand(),
52
- build_number: DeviceInfo.getBuildNumber(),
53
- bundle_id: DeviceInfo.getBundleId(),
54
- carrier: [await DeviceInfo.getCarrier()],
55
- device: await DeviceInfo.getDevice(),
56
- device_id: await DeviceInfo.getDeviceId(),
57
- device_display: await DeviceInfo.getDisplay(),
58
- device_type: await DeviceInfo.getDeviceType(),
59
- device_name: await DeviceInfo.getDeviceName(),
60
- device_token: await DeviceInfo.getDeviceToken(),
61
- device_ip: await DeviceInfo.getIpAddress(),
62
- install_ref: await DeviceInfo.getInstallReferrer(),
63
- manufacturer,
64
- system_version: systemVersion,
65
- version: DeviceInfo.getVersion(),
66
- connectivity: connectivity.type,
67
- user_agent: await DeviceInfo.getUserAgent(),
68
- gaid: Platform.OS === 'android' ? await getAdvertisingIdentifier() : null,
69
- idfa: Platform.OS === 'ios' ? await getAdvertisingIdentifier() : null,
70
- idfv: Platform.OS === 'ios' ? await DeviceInfo.getUniqueId() : null,
71
- ...installReferrerInfo
72
- };
43
+ } catch (error) {
44
+ console.error('Error getting advertising identifier:', error);
45
+ return null;
46
+ }
47
+ };
48
+ const device_data = async () => {
49
+ try {
50
+ const [installReferrerInfo, connectivity, manufacturer, systemVersion] = await Promise.all([getInstallReferrerInfo(), netinfoFetch(), getManufacturer(), getSystemVersion()]);
51
+
52
+ // Helper function to safely get device info with fallback
53
+ const safeGet = async (getter, fallback = null) => {
54
+ try {
55
+ return await getter();
56
+ } catch (error) {
57
+ console.warn(`DeviceInfo error: ${error}`);
58
+ return fallback;
59
+ }
60
+ };
61
+ return {
62
+ android_id: await safeGet(DeviceInfo.getAndroidId),
63
+ api_level: await safeGet(DeviceInfo.getApiLevel),
64
+ application_name: await safeGet(DeviceInfo.getApplicationName),
65
+ base_os: await safeGet(DeviceInfo.getBaseOs),
66
+ build_id: await safeGet(DeviceInfo.getBuildId),
67
+ brand: await safeGet(DeviceInfo.getBrand),
68
+ build_number: await safeGet(DeviceInfo.getBuildNumber),
69
+ bundle_id: await safeGet(DeviceInfo.getBundleId),
70
+ carrier: [await safeGet(DeviceInfo.getCarrier)],
71
+ device: await safeGet(DeviceInfo.getDevice),
72
+ device_id: await safeGet(DeviceInfo.getDeviceId),
73
+ device_display: await safeGet(DeviceInfo.getDisplay),
74
+ device_type: await safeGet(DeviceInfo.getDeviceType),
75
+ device_name: await safeGet(DeviceInfo.getDeviceName),
76
+ device_token: await safeGet(DeviceInfo.getDeviceToken),
77
+ device_ip: await safeGet(DeviceInfo.getIpAddress),
78
+ install_ref: await safeGet(DeviceInfo.getInstallReferrer),
79
+ manufacturer,
80
+ system_version: systemVersion,
81
+ version: await safeGet(DeviceInfo.getVersion),
82
+ connectivity: connectivity.type,
83
+ user_agent: await safeGet(DeviceInfo.getUserAgent),
84
+ gaid: Platform.OS === 'android' ? await getAdvertisingIdentifier() : null,
85
+ idfa: Platform.OS === 'ios' ? await getAdvertisingIdentifier() : null,
86
+ idfv: Platform.OS === 'ios' ? await safeGet(DeviceInfo.getUniqueId) : null,
87
+ ...installReferrerInfo
88
+ };
89
+ } catch (error) {
90
+ console.error('Error collecting device data:', error);
91
+ return {
92
+ error: 'Failed to collect device data'
93
+ };
94
+ }
73
95
  };
74
96
  const STORAGE_KEY = 'linkrunner_install_instance_id';
75
97
  const ID_LENGTH = 20;
@@ -1 +1 @@
1
- {"version":3,"names":["DeviceInfo","getManufacturer","getSystemVersion","fetch","netinfoFetch","PlayInstallReferrer","AsyncStorage","Platform","ReactNativeIdfaAaid","device_data","getInstallReferrerInfo","Promise","resolve","OS","timeoutId","setTimeout","installReferrerInfo","error","clearTimeout","e","getAdvertisingIdentifier","identifier","getAdvertisingInfo","isAdTrackingLimited","id","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","gaid","idfa","idfv","getUniqueId","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","getItem","generateRandomString","setItem","console","length","chars","Array","fill","map","charAt","Math","floor","random","join","DEEPLINK_URL_STORAGE_KEY","setDeeplinkURL","deeplink_url","getDeeplinkURL"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
1
+ {"version":3,"names":["DeviceInfo","getManufacturer","getSystemVersion","fetch","netinfoFetch","PlayInstallReferrer","AsyncStorage","Platform","ReactNativeIdfaAaid","getInstallReferrerInfo","Promise","resolve","OS","timeoutId","setTimeout","installReferrerInfo","error","clearTimeout","e","getAdvertisingIdentifier","identifier","getAdvertisingInfo","isAdTrackingLimited","id","console","device_data","connectivity","manufacturer","systemVersion","all","safeGet","getter","fallback","warn","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","gaid","idfa","idfv","getUniqueId","STORAGE_KEY","ID_LENGTH","getLinkRunnerInstallInstanceId","installInstanceId","getItem","generateRandomString","setItem","length","chars","Array","fill","map","charAt","Math","floor","random","join","DEEPLINK_URL_STORAGE_KEY","setDeeplinkURL","deeplink_url","getDeeplinkURL"],"sourceRoot":"../../src","sources":["helper.ts"],"mappings":"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"}
@@ -2,5 +2,5 @@ declare const device_data: () => Promise<Record<string, any>>;
2
2
  declare function getLinkRunnerInstallInstanceId(): Promise<string>;
3
3
  declare function setDeeplinkURL(deeplink_url: string): Promise<void>;
4
4
  declare function getDeeplinkURL(): Promise<string | null>;
5
- export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL };
5
+ export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL, };
6
6
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/helper.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,WAAW,QAAa,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CA+ExD,CAAC;AAKF,iBAAe,8BAA8B,IAAI,OAAO,CAAC,MAAM,CAAC,CAgB/D;AAaD,iBAAe,cAAc,CAAC,YAAY,EAAE,MAAM,iBAMjD;AAED,iBAAe,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOtD;AAED,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/helper.ts"],"names":[],"mappings":"AA4DA,QAAA,MAAM,WAAW,QAAa,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CAwDxD,CAAC;AAKF,iBAAe,8BAA8B,IAAI,OAAO,CAAC,MAAM,CAAC,CAgB/D;AAaD,iBAAe,cAAc,CAAC,YAAY,EAAE,MAAM,iBAMjD;AAED,iBAAe,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOtD;AAED,OAAO,EACL,WAAW,EACX,8BAA8B,EAC9B,cAAc,EACd,cAAc,GACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-linkrunner",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "React Native Package for linkrunner",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/helper.ts CHANGED
@@ -11,85 +11,109 @@ import AsyncStorage from '@react-native-async-storage/async-storage';
11
11
  import { Platform } from 'react-native';
12
12
  import ReactNativeIdfaAaid from '@sparkfabrik/react-native-idfa-aaid';
13
13
 
14
- const device_data = async (): Promise<Record<string, any>> => {
15
- const getInstallReferrerInfo = (): Promise<PlayInstallReferrerInfo | {}> => {
16
- return new Promise((resolve) => {
17
- if (Platform.OS === 'ios') {
18
- resolve({});
19
- return;
20
- }
21
-
22
- // Add a timeout to ensure the promise resolves even if the callback never fires
23
- const timeoutId = setTimeout(() => {
24
- resolve({});
25
- }, 2000);
14
+ const getInstallReferrerInfo = (): Promise<PlayInstallReferrerInfo | {}> => {
15
+ return new Promise((resolve) => {
16
+ if (Platform.OS === 'ios') {
17
+ resolve({});
18
+ return;
19
+ }
26
20
 
27
- try {
28
- PlayInstallReferrer.getInstallReferrerInfo(
29
- (installReferrerInfo, error) => {
30
- // Clear the timeout since callback fired
31
- clearTimeout(timeoutId);
32
-
33
- if (!error && !!installReferrerInfo) {
34
- resolve(installReferrerInfo);
35
- } else {
36
- resolve({});
37
- }
21
+ // Add a timeout to ensure the promise resolves even if the callback never fires
22
+ const timeoutId = setTimeout(() => {
23
+ resolve({});
24
+ }, 2000);
25
+
26
+ try {
27
+ PlayInstallReferrer.getInstallReferrerInfo(
28
+ (installReferrerInfo, error) => {
29
+ // Clear the timeout since callback fired
30
+ clearTimeout(timeoutId);
31
+
32
+ if (!error && !!installReferrerInfo) {
33
+ resolve(installReferrerInfo);
34
+ } else {
35
+ resolve({});
38
36
  }
39
- );
40
- } catch (e) {
41
- // Clear the timeout since we caught an exception
42
- clearTimeout(timeoutId);
43
- resolve({});
44
- }
45
- });
46
- };
37
+ }
38
+ );
39
+ } catch (e) {
40
+ // Clear the timeout since we caught an exception
41
+ clearTimeout(timeoutId);
42
+ resolve({});
43
+ }
44
+ });
45
+ };
47
46
 
48
- const getAdvertisingIdentifier = async () => {
47
+ const getAdvertisingIdentifier = async (): Promise<string | null> => {
48
+ try {
49
49
  const identifier = await ReactNativeIdfaAaid.getAdvertisingInfo();
50
50
  if (!identifier.isAdTrackingLimited && identifier.id) {
51
51
  return identifier.id;
52
52
  } else {
53
53
  return null;
54
54
  }
55
- };
56
-
57
- const [installReferrerInfo, connectivity, manufacturer, systemVersion] =
58
- await Promise.all([
59
- getInstallReferrerInfo(),
60
- netinfoFetch(),
61
- getManufacturer(),
62
- getSystemVersion(),
63
- ]);
64
-
65
- return {
66
- android_id: await DeviceInfo.getAndroidId(),
67
- api_level: await DeviceInfo.getApiLevel(),
68
- application_name: DeviceInfo.getApplicationName(),
69
- base_os: await DeviceInfo.getBaseOs(),
70
- build_id: await DeviceInfo.getBuildId(),
71
- brand: DeviceInfo.getBrand(),
72
- build_number: DeviceInfo.getBuildNumber(),
73
- bundle_id: DeviceInfo.getBundleId(),
74
- carrier: [await DeviceInfo.getCarrier()],
75
- device: await DeviceInfo.getDevice(),
76
- device_id: await DeviceInfo.getDeviceId(),
77
- device_display: await DeviceInfo.getDisplay(),
78
- device_type: await DeviceInfo.getDeviceType(),
79
- device_name: await DeviceInfo.getDeviceName(),
80
- device_token: await DeviceInfo.getDeviceToken(),
81
- device_ip: await DeviceInfo.getIpAddress(),
82
- install_ref: await DeviceInfo.getInstallReferrer(),
83
- manufacturer,
84
- system_version: systemVersion,
85
- version: DeviceInfo.getVersion(),
86
- connectivity: connectivity.type,
87
- user_agent: await DeviceInfo.getUserAgent(),
88
- gaid: Platform.OS === 'android' ? await getAdvertisingIdentifier() : null,
89
- idfa: Platform.OS === 'ios' ? await getAdvertisingIdentifier() : null,
90
- idfv: Platform.OS === 'ios' ? await DeviceInfo.getUniqueId() : null,
91
- ...installReferrerInfo,
92
- };
55
+ } catch (error) {
56
+ console.error('Error getting advertising identifier:', error);
57
+ return null;
58
+ }
59
+ };
60
+
61
+ const device_data = async (): Promise<Record<string, any>> => {
62
+ try {
63
+ const [installReferrerInfo, connectivity, manufacturer, systemVersion] =
64
+ await Promise.all([
65
+ getInstallReferrerInfo(),
66
+ netinfoFetch(),
67
+ getManufacturer(),
68
+ getSystemVersion(),
69
+ ]);
70
+
71
+ // Helper function to safely get device info with fallback
72
+ const safeGet = async <T>(
73
+ getter: () => Promise<T> | T,
74
+ fallback: T = null as unknown as T
75
+ ): Promise<T> => {
76
+ try {
77
+ return await getter();
78
+ } catch (error) {
79
+ console.warn(`DeviceInfo error: ${error}`);
80
+ return fallback;
81
+ }
82
+ };
83
+
84
+ return {
85
+ android_id: await safeGet(DeviceInfo.getAndroidId),
86
+ api_level: await safeGet(DeviceInfo.getApiLevel),
87
+ application_name: await safeGet(DeviceInfo.getApplicationName),
88
+ base_os: await safeGet(DeviceInfo.getBaseOs),
89
+ build_id: await safeGet(DeviceInfo.getBuildId),
90
+ brand: await safeGet(DeviceInfo.getBrand),
91
+ build_number: await safeGet(DeviceInfo.getBuildNumber),
92
+ bundle_id: await safeGet(DeviceInfo.getBundleId),
93
+ carrier: [await safeGet(DeviceInfo.getCarrier)],
94
+ device: await safeGet(DeviceInfo.getDevice),
95
+ device_id: await safeGet(DeviceInfo.getDeviceId),
96
+ device_display: await safeGet(DeviceInfo.getDisplay),
97
+ device_type: await safeGet(DeviceInfo.getDeviceType),
98
+ device_name: await safeGet(DeviceInfo.getDeviceName),
99
+ device_token: await safeGet(DeviceInfo.getDeviceToken),
100
+ device_ip: await safeGet(DeviceInfo.getIpAddress),
101
+ install_ref: await safeGet(DeviceInfo.getInstallReferrer),
102
+ manufacturer,
103
+ system_version: systemVersion,
104
+ version: await safeGet(DeviceInfo.getVersion),
105
+ connectivity: connectivity.type,
106
+ user_agent: await safeGet(DeviceInfo.getUserAgent),
107
+ gaid: Platform.OS === 'android' ? await getAdvertisingIdentifier() : null,
108
+ idfa: Platform.OS === 'ios' ? await getAdvertisingIdentifier() : null,
109
+ idfv:
110
+ Platform.OS === 'ios' ? await safeGet(DeviceInfo.getUniqueId) : null,
111
+ ...installReferrerInfo,
112
+ };
113
+ } catch (error) {
114
+ console.error('Error collecting device data:', error);
115
+ return { error: 'Failed to collect device data' };
116
+ }
93
117
  };
94
118
 
95
119
  const STORAGE_KEY = 'linkrunner_install_instance_id';
@@ -141,4 +165,9 @@ async function getDeeplinkURL(): Promise<string | null> {
141
165
  }
142
166
  }
143
167
 
144
- export { device_data, getLinkRunnerInstallInstanceId, setDeeplinkURL, getDeeplinkURL };
168
+ export {
169
+ device_data,
170
+ getLinkRunnerInstallInstanceId,
171
+ setDeeplinkURL,
172
+ getDeeplinkURL,
173
+ };