@tryheliumai/paywall-sdk-react-native 0.1.15 → 0.1.18

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.
@@ -188,7 +188,7 @@ class HeliumBridge: RCTEventEmitter {
188
188
  let triggers = config["triggers"] as? [String]
189
189
  let customUserId = config["customUserId"] as? String
190
190
  let customAPIEndpoint = config["customAPIEndpoint"] as? String
191
- let customUserTraits = config["customUserTraits"] as? [String: AnyCodable]
191
+ let customUserTraits = config["customUserTraits"] as? [String: Any]
192
192
  let fallbackPaywallPerTriggerTags = config["fallbackPaywallPerTrigger"] as? [String: NSNumber]
193
193
 
194
194
  self.bridgingDelegate = BridgingPaywallDelegate(
@@ -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') {
@@ -164,16 +170,30 @@ const initialize = async (heliumCallbacks, config = {}) => {
164
170
  triggers: config.triggers || [],
165
171
  customUserId: config.customUserId || null,
166
172
  customAPIEndpoint: config.customAPIEndpoint || null,
167
- customUserTraits: config.customUserTraits || {
173
+ customUserTraits: config.customUserTraits == null ? {
168
174
  "exampleUserTrait": "test_value"
169
- }
175
+ } : config.customUserTraits
170
176
  }, {});
171
177
  };
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAyF,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAI,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,SAAAH,wBAAAG,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,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGzF,MAAM;EAAEW;AAAa,CAAC,GAAGC,0BAAa;AACtC,MAAMC,kBAAkB,GAAG,IAAIC,+BAAkB,CAACH,YAAY,CAAC;;AAE/D;AACA;AACO,MAAMI,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,IAAAE,mCAAsB,EAAwB,kBAAkB,CAAC;AAEvG,IAAIC,iBAAiB,GAAG,KAAK;AAC7B;AACA,IAAIC,sBAAqC;AACzC,IAAIC,sBAAkC;;AAEtC;AACAD,sBAAsB,GAAG,IAAIE,OAAO,CAAQC,OAAO,IAAK;EACtDF,sBAAsB,GAAGE,OAAO;EAChC;EACA,IAAIJ,iBAAiB,EAAE;IACrBI,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC;;AAEF;;AAMA,MAAMC,aAAa,gBAAG,IAAAC,oBAAa,EAAgCC,SAAS,CAAC;;AAE7E;AACA,IAAIC,oBAAqE,GAAG,IAAI;;AAEhF;AACO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACN,aAAa,CAAC;EACzC,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOF,OAAO;AAChB,CAAC;AAACZ,OAAA,CAAAW,SAAA,GAAAA,SAAA;AAOF;AACA,MAAMI,WAAW,gBAAG,IAAAC,gBAAS,EAAO,CAAC;AACrC;AACA,IAAIC,qBAAiD,GAAG,IAAI;;AAE5D;AACO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,YAAY,EAAEC;AAAkC,CAAC,KAAK;EAC/F;EACA,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAC,eAAQ,EAAuB,YAAY,CAAC;;EAExF;EACA,IAAAC,gBAAS,EAAC,MAAM;IACdf,oBAAoB,GAAGa,iBAAiB;IACxC;IACAN,qBAAqB,GAAGI,YAAY;EACtC,CAAC,EAAE,CAACE,iBAAiB,EAAEF,YAAY,CAAC,CAAC;EAErC,IAAAI,gBAAS,EAAC,MAAM;IACdvB,iBAAiB,GAAG,IAAI;IACxB;IACAE,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM;MACXF,iBAAiB,GAAG,KAAK;MACzBQ,oBAAoB,GAAG,IAAI;IAC7B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,IAAApC,WAAA,CAAAoD,IAAA,EAACnB,aAAa,CAACoB,QAAQ;IAACC,KAAK,EAAE;MAAEN,cAAc;MAAEC;IAAkB,CAAE;IAAAJ,QAAA,gBACnE,IAAA7C,WAAA,CAAAuD,GAAA,EAAC3D,YAAA,CAAA4D,IAAI;MACHC,GAAG,EAAEhB,WAAY;MACjBiB,WAAW,EAAE,KAAM;MACnBC,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM,CAAC;MAClB,CAAE;MAAAf,QAAA,eAEF,IAAA7C,WAAA,CAAAuD,GAAA,EAACR,YAAY,IAAE;IAAC,CACZ,CAAC,EACNF,QAAQ;EAAA,CACa,CAAC;AAE7B,CAAC;;AAED;AAAAnB,OAAA,CAAAkB,cAAA,GAAAA,cAAA;AACO,MAAMiB,UAAU,GAAG,MAAAA,CAAOC,eAAgC,EAAEC,MAA6B,GAAG,CAAC,CAAC,KAAK;EACxG;EACA,IAAI,CAACnC,iBAAiB,EAAE;IACtB,MAAMC,sBAAsB;EAC9B;EAEA,MAAMmC,OAAO,GAAG,IAAAC,2BAAc,EAACxB,WAAW,CAACyB,OAAO,CAAC;EACnD,IAAI,CAACF,OAAO,EAAE;IACZ,MAAM,IAAIxB,KAAK,CAAC,kGAAkG,CAAC;EACrH;;EAEA;EACA,IAAIJ,oBAAoB,EAAE;IACxBA,oBAAoB,CAAC,YAAY,CAAC;EACpC;;EAEA;EACAb,kBAAkB,CAAC4C,WAAW,CAC5B,sBAAsB,EACrBC,KAAU,IAAK;IACd;IACA,IAAIA,KAAK,CAACC,IAAI,KAAK,yBAAyB,IAAIjC,oBAAoB,EAAE;MACpEA,oBAAoB,CAAC,SAAS,CAAC;IACjC,CAAC,MAAM,IAAIgC,KAAK,CAACC,IAAI,KAAK,uBAAuB,IAAIjC,oBAAoB,EAAE;MACzEA,oBAAoB,CAAC,QAAQ,CAAC;IAChC;IACA;IAAA,KACK,IAAIgC,KAAK,CAACC,IAAI,KAAK,aAAa,IAAID,KAAK,CAACE,mBAAmB,KAAK,UAAU,EAAE;MACjF,IAAI7B,WAAW,CAACyB,OAAO,EAAE;QACvBzB,WAAW,CAACyB,OAAO,CAACK,cAAc,CAAC;UACjCZ,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAC3B,CAAC,CAAC;MACJ;IACF,CAAC,MAAM,IAAIQ,KAAK,CAACC,IAAI,KAAK,cAAc,IAAID,KAAK,CAACE,mBAAmB,KAAK,UAAU,EAAE;MACpF,IAAI7B,WAAW,CAACyB,OAAO,EAAE;QACvBzB,WAAW,CAACyB,OAAO,CAACK,cAAc,CAAC;UACjCZ,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAC3B,CAAC,CAAC;MACJ;IACF;;IAEA;IACAE,eAAe,CAACU,oBAAoB,CAACJ,KAAK,CAAC;EAC7C,CACF,CAAC;;EAED;EACA7C,kBAAkB,CAAC4C,WAAW,CAC5B,sBAAsB,EACtB,MAAOC,KAAmD,IAAK;IAC7D,MAAMK,MAAM,GAAG,MAAMX,eAAe,CAACY,YAAY,CAACN,KAAK,CAACO,SAAS,CAAC;IAClEtD,YAAY,CAACuD,sBAAsB,CAAC;MAClCC,aAAa,EAAET,KAAK,CAACS,aAAa;MAClCJ,MAAM,EAAEA;IACV,CAAC,CAAC;EACJ,CACF,CAAC;;EAED;EACAlD,kBAAkB,CAAC4C,WAAW,CAC5B,0BAA0B,EAC1B,MAAOC,KAAgC,IAAK;IAC1C,MAAMU,OAAO,GAAG,MAAMhB,eAAe,CAACiB,gBAAgB,CAAC,CAAC;IACxD1D,YAAY,CAAC2D,qBAAqB,CAAC;MACjCH,aAAa,EAAET,KAAK,CAACS,aAAa;MAClCJ,MAAM,EAAEK,OAAO,GAAG,UAAU,GAAG;IACjC,CAAC,CAAC;EACJ,CACF,CAAC;;EAED;EACAzD,YAAY,CAACwC,UAAU,CACrB;IACEoB,MAAM,EAAElB,MAAM,CAACkB,MAAM;IACrBC,eAAe,EAAElB,OAAO;IACxBmB,QAAQ,EAAEpB,MAAM,CAACoB,QAAQ,IAAI,EAAE;IAC/BC,YAAY,EAAErB,MAAM,CAACqB,YAAY,IAAI,IAAI;IACzCC,iBAAiB,EAAEtB,MAAM,CAACsB,iBAAiB,IAAI,IAAI;IACnDC,gBAAgB,EAAEvB,MAAM,CAACuB,gBAAgB,IAAI;MAC3C,kBAAkB,EAAE;IACtB;EACF,CAAC,EACD,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AAAA5D,OAAA,CAAAmC,UAAA,GAAAA,UAAA;AACO,MAAM0B,aAAa,GAAIC,WAAmB,IAAK;EACpDnE,YAAY,CAACkE,aAAa,CAACC,WAAW,CAAC;AACzC,CAAC;AAAC9D,OAAA,CAAA6D,aAAA,GAAAA,aAAA;AAEK,MAAME,UAAU,GAAGA,CAAA,KAAM;EAC9BpE,YAAY,CAACoE,UAAU,CAAC,CAAC;AAC3B,CAAC;;AAED;AAAA/D,OAAA,CAAA+D,UAAA,GAAAA,UAAA;AACO,MAAMC,UAGX,GAAGA,CAAC;EAAEC,OAAO;EAAEC,iBAAiB;EAAEC;AAA0B,CAAC,KAAK;EAClE,MAAM;IAAE7C;EAAe,CAAC,GAAGX,SAAS,CAAC,CAAC;;EAEtC;EACA;EACA,IAAIW,cAAc,KAAK,YAAY,IAAIA,cAAc,KAAK,YAAY,IAAIA,cAAc,KAAK,QAAQ,EAAE;IACrG;IACA,IAAIL,qBAAqB,EAAE;MACzB,oBACE,IAAA3C,WAAA,CAAAuD,GAAA,EAAC3D,YAAA,CAAA4D,IAAI;QAACG,KAAK,EAAEkC,yBAA0B;QAAAhD,QAAA,eACrC,IAAA7C,WAAA,CAAAuD,GAAA,EAACZ,qBAAqB;UAAA,GAAKiD;QAAiB,CAAG;MAAC,CAC5C,CAAC;IAEX;IAEA,OAAO,IAAI;EACb;;EAEA;EACA,oBAAO,IAAA5F,WAAA,CAAAuD,GAAA,EAAC9B,sBAAsB;IAACkE,OAAO,EAAEA;EAAQ,CAAE,CAAC;AACrD,CAAC;AAACjE,OAAA,CAAAgE,UAAA,GAAAA,UAAA;AAEK,MAAMI,gBAAgB,GAAApE,OAAA,CAAAoE,gBAAA,GAAG;EAC9BC,aAAa,EAAE,eAAe;EAC9BC,gBAAgB,EAAE;AACpB,CAAC","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') {
@@ -156,15 +162,29 @@ export const initialize = async (heliumCallbacks, config = {}) => {
156
162
  triggers: config.triggers || [],
157
163
  customUserId: config.customUserId || null,
158
164
  customAPIEndpoint: config.customAPIEndpoint || null,
159
- customUserTraits: config.customUserTraits || {
165
+ customUserTraits: config.customUserTraits == null ? {
160
166
  "exampleUserTrait": "test_value"
161
- }
167
+ } : config.customUserTraits
162
168
  }, {});
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.15",
3
+ "version": "0.1.18",
4
4
  "description": "Paywall SDK Helium",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -185,7 +185,10 @@
185
185
  {
186
186
  "project": "tsconfig.build.json",
187
187
  "esm": true,
188
- "tscOptions": ["--declaration", "--emitDeclarationOnly"]
188
+ "tscOptions": [
189
+ "--declaration",
190
+ "--emitDeclarationOnly"
191
+ ]
189
192
  }
190
193
  ]
191
194
  ]
@@ -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') {
@@ -170,17 +176,35 @@ export const initialize = async (heliumCallbacks: HeliumCallbacks, config: Parti
170
176
  triggers: config.triggers || [],
171
177
  customUserId: config.customUserId || null,
172
178
  customAPIEndpoint: config.customAPIEndpoint || null,
173
- customUserTraits: config.customUserTraits || {
179
+ customUserTraits: config.customUserTraits == null ? {
174
180
  "exampleUserTrait": "test_value"
175
- }
181
+ } : config.customUserTraits
176
182
  },
177
183
  {}
178
184
  );
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 = () => {