@tryheliumai/paywall-sdk-react-native 0.1.16 → 0.1.19

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,7 +16,7 @@ Pod::Spec.new do |s|
16
16
 
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
- s.dependency 'Helium', '~> 1.6.0'
19
+ s.dependency 'Helium', '~> 1.6.1'
20
20
 
21
21
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
22
22
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
@@ -25,4 +25,4 @@ Pod::Spec.new do |s|
25
25
  else
26
26
  s.dependency "React-Core"
27
27
  end
28
- end
28
+ end
@@ -253,7 +253,13 @@ class HeliumBridge: RCTEventEmitter {
253
253
  public func handleRestoreResponse(_ response: NSDictionary) {
254
254
  bridgingDelegate?.handleRestoreResponse(response)
255
255
  }
256
-
256
+
257
+ @objc
258
+ public func getFetchedTriggerNames(_ callback: RCTResponseSenderBlock) {
259
+ let triggerNames = HeliumFetchedConfigManager.shared.getFetchedTriggerNames();
260
+ callback([triggerNames])
261
+ }
262
+
257
263
  @objc
258
264
  public func upsellViewForTrigger(
259
265
  _ trigger: String,
@@ -20,6 +20,10 @@ RCT_EXTERN_METHOD(
20
20
  presentUpsell:(NSString *)trigger
21
21
  )
22
22
 
23
+ RCT_EXTERN_METHOD(
24
+ getFetchedTriggerNames: (RCTResponseSenderBlock)callback
25
+ )
26
+
23
27
  RCT_EXTERN_METHOD(
24
28
  hideUpsell
25
29
  )
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useHelium = exports.presentUpsell = exports.initialize = exports.hideUpsell = exports.UpsellView = exports.NativeHeliumUpsellView = exports.HeliumProvider = exports.HELIUM_CTA_NAMES = void 0;
6
+ exports.useHelium = exports.presentUpsell = exports.initialize = exports.hideUpsell = exports.getDownloadStatus = exports.UpsellView = exports.NativeHeliumUpsellView = exports.HeliumProvider = exports.HELIUM_CTA_NAMES = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _jsxRuntime = require("react/jsx-runtime");
@@ -31,12 +31,20 @@ providerMountedPromise = new Promise(resolve => {
31
31
  }
32
32
  });
33
33
 
34
- // Create a context for the download status
34
+ // Add module-level download status tracking
35
+ let globalDownloadStatus = 'notStarted';
36
+ const getDownloadStatus = () => globalDownloadStatus;
35
37
 
38
+ // Create a context for the download status
39
+ exports.getDownloadStatus = getDownloadStatus;
36
40
  const HeliumContext = /*#__PURE__*/(0, _react.createContext)(undefined);
37
41
 
38
- // Create a ref to store the context setter
42
+ // Update the setter ref to also update global status
39
43
  let setDownloadStatusRef = null;
44
+ const updateDownloadStatus = status => {
45
+ globalDownloadStatus = status;
46
+ setDownloadStatusRef?.(status);
47
+ };
40
48
 
41
49
  // Hook to use the Helium context
42
50
  const useHelium = () => {
@@ -104,17 +112,15 @@ const initialize = async (heliumCallbacks, config = {}) => {
104
112
  }
105
113
 
106
114
  // Update download status to inProgress
107
- if (setDownloadStatusRef) {
108
- setDownloadStatusRef('inProgress');
109
- }
115
+ updateDownloadStatus('inProgress');
110
116
 
111
117
  // Set up event listeners
112
118
  heliumEventEmitter.addListener('helium_paywall_event', event => {
113
119
  // Handle download status events
114
- if (event.type === 'paywallsDownloadSuccess' && setDownloadStatusRef) {
115
- setDownloadStatusRef('success');
116
- } else if (event.type === 'paywallsDownloadError' && setDownloadStatusRef) {
117
- setDownloadStatusRef('failed');
120
+ if (event.type === 'paywallsDownloadSuccess') {
121
+ updateDownloadStatus('success');
122
+ } else if (event.type === 'paywallsDownloadError') {
123
+ updateDownloadStatus('failed');
118
124
  }
119
125
  // Handle fallback view visibility
120
126
  else if (event.type === 'paywallOpen' && event.paywallTemplateName === 'Fallback') {
@@ -172,8 +178,22 @@ const initialize = async (heliumCallbacks, config = {}) => {
172
178
 
173
179
  // Update the other methods to be synchronous
174
180
  exports.initialize = initialize;
175
- const presentUpsell = triggerName => {
176
- HeliumBridge.presentUpsell(triggerName);
181
+ const presentUpsell = ({
182
+ triggerName,
183
+ onFallback
184
+ }) => {
185
+ const downloadStatus = getDownloadStatus();
186
+ HeliumBridge.getFetchedTriggerNames(triggerNames => {
187
+ if (!triggerNames.includes(triggerName) || downloadStatus !== 'success') {
188
+ onFallback?.();
189
+ return;
190
+ }
191
+ try {
192
+ HeliumBridge.presentUpsell(triggerName);
193
+ } catch (error) {
194
+ onFallback?.();
195
+ }
196
+ });
177
197
  };
178
198
  exports.presentUpsell = presentUpsell;
179
199
  const hideUpsell = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","NativeHeliumUpsellView","exports","requireNativeComponent","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","HeliumContext","createContext","undefined","setDownloadStatusRef","useHelium","context","useContext","Error","fallbackRef","createRef","FallbackViewComponent","HeliumProvider","children","fallbackView","FallbackView","downloadStatus","setDownloadStatus","useState","useEffect","jsxs","Provider","value","jsx","View","ref","collapsable","style","display","initialize","heliumCallbacks","config","viewTag","findNodeHandle","current","addListener","event","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","fallbackViewProps","fallbackViewWrapperStyles","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","NativeHeliumUpsellView","exports","requireNativeComponent","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","globalDownloadStatus","getDownloadStatus","HeliumContext","createContext","undefined","setDownloadStatusRef","updateDownloadStatus","status","useHelium","context","useContext","Error","fallbackRef","createRef","FallbackViewComponent","HeliumProvider","children","fallbackView","FallbackView","downloadStatus","setDownloadStatus","useState","useEffect","jsxs","Provider","value","jsx","View","ref","collapsable","style","display","initialize","heliumCallbacks","config","viewTag","findNodeHandle","current","addListener","event","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","onFallback","getFetchedTriggerNames","triggerNames","includes","error","hideUpsell","UpsellView","trigger","fallbackViewProps","fallbackViewWrapperStyles","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
@@ -25,12 +25,20 @@ providerMountedPromise = new Promise(resolve => {
25
25
  }
26
26
  });
27
27
 
28
+ // Add module-level download status tracking
29
+ let globalDownloadStatus = 'notStarted';
30
+ export const getDownloadStatus = () => globalDownloadStatus;
31
+
28
32
  // Create a context for the download status
29
33
 
30
34
  const HeliumContext = /*#__PURE__*/createContext(undefined);
31
35
 
32
- // Create a ref to store the context setter
36
+ // Update the setter ref to also update global status
33
37
  let setDownloadStatusRef = null;
38
+ const updateDownloadStatus = status => {
39
+ globalDownloadStatus = status;
40
+ setDownloadStatusRef?.(status);
41
+ };
34
42
 
35
43
  // Hook to use the Helium context
36
44
  export const useHelium = () => {
@@ -96,17 +104,15 @@ export const initialize = async (heliumCallbacks, config = {}) => {
96
104
  }
97
105
 
98
106
  // Update download status to inProgress
99
- if (setDownloadStatusRef) {
100
- setDownloadStatusRef('inProgress');
101
- }
107
+ updateDownloadStatus('inProgress');
102
108
 
103
109
  // Set up event listeners
104
110
  heliumEventEmitter.addListener('helium_paywall_event', event => {
105
111
  // Handle download status events
106
- if (event.type === 'paywallsDownloadSuccess' && setDownloadStatusRef) {
107
- setDownloadStatusRef('success');
108
- } else if (event.type === 'paywallsDownloadError' && setDownloadStatusRef) {
109
- setDownloadStatusRef('failed');
112
+ if (event.type === 'paywallsDownloadSuccess') {
113
+ updateDownloadStatus('success');
114
+ } else if (event.type === 'paywallsDownloadError') {
115
+ updateDownloadStatus('failed');
110
116
  }
111
117
  // Handle fallback view visibility
112
118
  else if (event.type === 'paywallOpen' && event.paywallTemplateName === 'Fallback') {
@@ -163,8 +169,22 @@ export const initialize = async (heliumCallbacks, config = {}) => {
163
169
  };
164
170
 
165
171
  // Update the other methods to be synchronous
166
- export const presentUpsell = triggerName => {
167
- HeliumBridge.presentUpsell(triggerName);
172
+ export const presentUpsell = ({
173
+ triggerName,
174
+ onFallback
175
+ }) => {
176
+ const downloadStatus = getDownloadStatus();
177
+ HeliumBridge.getFetchedTriggerNames(triggerNames => {
178
+ if (!triggerNames.includes(triggerName) || downloadStatus !== 'success') {
179
+ onFallback?.();
180
+ return;
181
+ }
182
+ try {
183
+ HeliumBridge.presentUpsell(triggerName);
184
+ } catch (error) {
185
+ onFallback?.();
186
+ }
187
+ });
168
188
  };
169
189
  export const hideUpsell = () => {
170
190
  HeliumBridge.hideUpsell();
@@ -1 +1 @@
1
- {"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","useState","createContext","useContext","jsx","_jsx","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","NativeHeliumUpsellView","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","HeliumContext","undefined","setDownloadStatusRef","useHelium","context","Error","fallbackRef","FallbackViewComponent","HeliumProvider","children","fallbackView","FallbackView","downloadStatus","setDownloadStatus","Provider","value","ref","collapsable","style","display","initialize","heliumCallbacks","config","viewTag","current","addListener","event","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","fallbackViewProps","fallbackViewWrapperStyles","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","useState","createContext","useContext","jsx","_jsx","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","NativeHeliumUpsellView","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","globalDownloadStatus","getDownloadStatus","HeliumContext","undefined","setDownloadStatusRef","updateDownloadStatus","status","useHelium","context","Error","fallbackRef","FallbackViewComponent","HeliumProvider","children","fallbackView","FallbackView","downloadStatus","setDownloadStatus","Provider","value","ref","collapsable","style","display","initialize","heliumCallbacks","config","viewTag","current","addListener","event","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","onFallback","getFetchedTriggerNames","triggerNames","includes","error","hideUpsell","UpsellView","trigger","fallbackViewProps","fallbackViewWrapperStyles","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HeliumCallbacks, HeliumConfig, HeliumUpsellViewProps, HeliumDownloadStatus } from './types';
3
3
  export declare const NativeHeliumUpsellView: import("react-native").HostComponent<HeliumUpsellViewProps>;
4
+ export declare const getDownloadStatus: () => HeliumDownloadStatus;
4
5
  interface HeliumContextType {
5
6
  downloadStatus: HeliumDownloadStatus;
6
7
  setDownloadStatus: (status: HeliumDownloadStatus) => void;
@@ -12,7 +13,10 @@ interface HeliumProviderProps {
12
13
  }
13
14
  export declare const HeliumProvider: ({ children, fallbackView: FallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
14
15
  export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => Promise<void>;
15
- export declare const presentUpsell: (triggerName: string) => void;
16
+ export declare const presentUpsell: ({ triggerName, onFallback }: {
17
+ triggerName: string;
18
+ onFallback?: () => void;
19
+ }) => void;
16
20
  export declare const hideUpsell: () => void;
17
21
  export declare const UpsellView: React.FC<HeliumUpsellViewProps & {
18
22
  fallbackViewProps?: Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoE,MAAM,OAAO,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAO1G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAiBxG,UAAU,iBAAiB;IACzB,cAAc,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC3D;AAQD,eAAO,MAAM,SAAS,yBAMrB,CAAC;AAEF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAQD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAmC3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAoF/F,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,GAAG;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjD,CAoBA,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
1
+ {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoE,MAAM,OAAO,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAO1G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAkBxG,eAAO,MAAM,iBAAiB,4BAA6B,CAAC;AAG5D,UAAU,iBAAiB;IACzB,cAAc,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC3D;AAYD,eAAO,MAAM,SAAS,yBAMrB,CAAC;AAEF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAQD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAmC3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAkF/F,CAAC;AAGF,eAAO,MAAM,aAAa,gCAGvB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,SAcA,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,GAAG;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjD,CAoBA,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HeliumCallbacks, HeliumConfig, HeliumUpsellViewProps, HeliumDownloadStatus } from './types';
3
3
  export declare const NativeHeliumUpsellView: import("react-native").HostComponent<HeliumUpsellViewProps>;
4
+ export declare const getDownloadStatus: () => HeliumDownloadStatus;
4
5
  interface HeliumContextType {
5
6
  downloadStatus: HeliumDownloadStatus;
6
7
  setDownloadStatus: (status: HeliumDownloadStatus) => void;
@@ -12,7 +13,10 @@ interface HeliumProviderProps {
12
13
  }
13
14
  export declare const HeliumProvider: ({ children, fallbackView: FallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
14
15
  export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => Promise<void>;
15
- export declare const presentUpsell: (triggerName: string) => void;
16
+ export declare const presentUpsell: ({ triggerName, onFallback }: {
17
+ triggerName: string;
18
+ onFallback?: () => void;
19
+ }) => void;
16
20
  export declare const hideUpsell: () => void;
17
21
  export declare const UpsellView: React.FC<HeliumUpsellViewProps & {
18
22
  fallbackViewProps?: Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoE,MAAM,OAAO,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAO1G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAiBxG,UAAU,iBAAiB;IACzB,cAAc,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC3D;AAQD,eAAO,MAAM,SAAS,yBAMrB,CAAC;AAEF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAQD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAmC3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAoF/F,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,GAAG;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjD,CAoBA,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
1
+ {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoE,MAAM,OAAO,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAO1G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAkBxG,eAAO,MAAM,iBAAiB,4BAA6B,CAAC;AAG5D,UAAU,iBAAiB;IACzB,cAAc,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC3D;AAYD,eAAO,MAAM,SAAS,yBAMrB,CAAC;AAEF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAQD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAmC3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAkF/F,CAAC;AAGF,eAAO,MAAM,aAAa,gCAGvB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,SAcA,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,GAAG;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjD,CAoBA,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryheliumai/paywall-sdk-react-native",
3
- "version": "0.1.16",
3
+ "version": "0.1.19",
4
4
  "description": "Paywall SDK Helium",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -23,6 +23,10 @@ providerMountedPromise = new Promise<void>((resolve) => {
23
23
  }
24
24
  });
25
25
 
26
+ // Add module-level download status tracking
27
+ let globalDownloadStatus: HeliumDownloadStatus = 'notStarted';
28
+ export const getDownloadStatus = () => globalDownloadStatus;
29
+
26
30
  // Create a context for the download status
27
31
  interface HeliumContextType {
28
32
  downloadStatus: HeliumDownloadStatus;
@@ -31,8 +35,12 @@ interface HeliumContextType {
31
35
 
32
36
  const HeliumContext = createContext<HeliumContextType | undefined>(undefined);
33
37
 
34
- // Create a ref to store the context setter
38
+ // Update the setter ref to also update global status
35
39
  let setDownloadStatusRef: ((status: HeliumDownloadStatus) => void) | null = null;
40
+ const updateDownloadStatus = (status: HeliumDownloadStatus) => {
41
+ globalDownloadStatus = status;
42
+ setDownloadStatusRef?.(status);
43
+ };
36
44
 
37
45
  // Hook to use the Helium context
38
46
  export const useHelium = () => {
@@ -104,19 +112,17 @@ export const initialize = async (heliumCallbacks: HeliumCallbacks, config: Parti
104
112
  }
105
113
 
106
114
  // Update download status to inProgress
107
- if (setDownloadStatusRef) {
108
- setDownloadStatusRef('inProgress');
109
- }
115
+ updateDownloadStatus('inProgress');
110
116
 
111
117
  // Set up event listeners
112
118
  heliumEventEmitter.addListener(
113
119
  'helium_paywall_event',
114
120
  (event: any) => {
115
121
  // Handle download status events
116
- if (event.type === 'paywallsDownloadSuccess' && setDownloadStatusRef) {
117
- setDownloadStatusRef('success');
118
- } else if (event.type === 'paywallsDownloadError' && setDownloadStatusRef) {
119
- setDownloadStatusRef('failed');
122
+ if (event.type === 'paywallsDownloadSuccess') {
123
+ updateDownloadStatus('success');
124
+ } else if (event.type === 'paywallsDownloadError') {
125
+ updateDownloadStatus('failed');
120
126
  }
121
127
  // Handle fallback view visibility
122
128
  else if (event.type === 'paywallOpen' && event.paywallTemplateName === 'Fallback') {
@@ -179,8 +185,26 @@ export const initialize = async (heliumCallbacks: HeliumCallbacks, config: Parti
179
185
  };
180
186
 
181
187
  // Update the other methods to be synchronous
182
- export const presentUpsell = (triggerName: string) => {
183
- HeliumBridge.presentUpsell(triggerName);
188
+ export const presentUpsell = ({
189
+ triggerName,
190
+ onFallback
191
+ }: {
192
+ triggerName: string;
193
+ onFallback?: () => void;
194
+ }) => {
195
+ const downloadStatus = getDownloadStatus();
196
+ HeliumBridge.getFetchedTriggerNames((triggerNames: string[]) => {
197
+ if (!triggerNames.includes(triggerName) || downloadStatus !== 'success') {
198
+ onFallback?.();
199
+ return;
200
+ }
201
+
202
+ try {
203
+ HeliumBridge.presentUpsell(triggerName);
204
+ } catch (error) {
205
+ onFallback?.();
206
+ }
207
+ });
184
208
  };
185
209
 
186
210
  export const hideUpsell = () => {