@tryheliumai/paywall-sdk-react-native 0.2.13 → 0.2.15

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', '~> 2.0.7'
19
+ s.dependency 'Helium', '2.0.10'
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.
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
1
  ## **Background**
2
2
 
3
- Get set up with the Helium SDK for iOS in 5 minutes. Reach out over your Helium slack channel, or email founders@tryhelium.com for any questions.
3
+ Get set up with the Helium SDK for iOS in 5 minutes. Reach out over your Helium slack channel, or email [founders@tryhelium.com](mailto:founders@tryhelium.com) for any questions.
4
+
4
5
  ## **Installation**
5
6
 
6
- Install **@tryheliumai/paywall-sdk-react-native** using your preferred package manager:
7
+ We use semantic versioning and recommend version 0.2.0\+
8
+
9
+ Install **@tryheliumai/paywall-sdk-react-native** using your preferred package manager (if using Expo skip to next section):
7
10
 
8
11
  ```bash
9
12
  npm install @tryheliumai/paywall-sdk-react-native
@@ -11,54 +14,36 @@ npm install @tryheliumai/paywall-sdk-react-native
11
14
  yarn add @tryheliumai/paywall-sdk-react-native
12
15
  ```
13
16
 
14
- The package should be autolinked. If not, you can manually link it by running:
17
+ and then run the following to install the native dependencies:
15
18
 
16
19
  ```bash
17
- cd ios
18
- npx pod-install
19
- cd ..
20
20
  npx react-native link @tryheliumai/paywall-sdk-react-native
21
21
  ```
22
22
 
23
- ### TypeScript Configuration
23
+ ### Expo installation
24
24
 
25
- If you encounter TypeScript errors related to module resolution, you may need to update your `tsconfig.json` file. The SDK uses modern module resolution, so you'll need to set the `moduleResolution` option to one of the following:
25
+ If you're using Expo's managed workflow, you can install the package by adding it to your project:
26
26
 
27
- ```json
28
- {
29
- "compilerOptions": {
30
- "moduleResolution": "node16" // or "nodenext" or "bundler"
31
- }
32
- }
27
+ ```bash
28
+ npx expo install @tryheliumai/paywall-sdk-react-native
33
29
  ```
34
30
 
35
- Alternatively, you can add a `paths` entry to your `tsconfig.json`:
36
-
37
- ```json
38
- {
39
- "compilerOptions": {
40
- "paths": {
41
- "@tryheliumai/paywall-sdk-react-native": ["./node_modules/@tryheliumai/paywall-sdk-react-native/lib/typescript/module/src/index.d.ts"]
42
- }
43
- }
44
- }
45
- ```
31
+ We recommend using Helium with Expo 49 and up. If you're an on older version and having trouble migrating, ping us - we've got experience\
32
+ with all kinds of versioning, upgrade, and custom build plugin work.
46
33
 
47
34
  ## **Configuration**
48
35
 
49
- ### Provider Setup
36
+ ### Wrap things in a `HeliumProvider`
50
37
 
51
- Wrap your app's root component with `HeliumProvider`. This provider makes Helium's functionality available throughout your app:
38
+ Wrap a suitably root-y component with `HeliumProvider`. We recommend wrapping your navigation provider, but placing HeliumProvider UNDER your sentry error boundary, to make sure
39
+ errors get logged.
52
40
 
53
41
  ```tsx
54
42
  import { HeliumProvider } from '@tryheliumai/paywall-sdk-react-native';
55
43
 
56
44
  function App() {
57
45
  return (
58
- <HeliumProvider
59
- apiKey="<your-helium-api-key>"
60
- fallbackComponent={YourFallbackComponent}
61
- >
46
+ <HeliumProvider>
62
47
  <YourAppComponent />
63
48
  </HeliumProvider>
64
49
  );
@@ -67,146 +52,110 @@ function App() {
67
52
 
68
53
  ### Initialization
69
54
 
70
- Initialize Helium by calling `Helium.initialize()` early in your app's lifecycle, typically in your root component:
55
+ Initialize Helium by calling `initialize()` early in your app's lifecycle, typically in your root component.
56
+ `initialize` takes in a configuration object that includes your purchase config, event handlers, and other settings.
71
57
 
72
58
  ```tsx
73
- import { initializeHelium } from '@tryheliumai/paywall-sdk-react-native';
59
+ import { initialize, createRevenueCatPurchaseConfig, createCustomPurchaseConfig } from '@tryheliumai/paywall-sdk-react-native';
74
60
 
75
61
  function App() {
76
62
  useEffect(() => {
77
- initializeHelium({
63
+ initialize({
78
64
  // Helium provided api key
79
65
  apiKey: '<your-helium-api-key>',
80
66
 
81
- // Purchase handlers: described in next section
82
- delegate: yourDelegate
83
-
84
67
  // Custom user id - e.g. your amplitude analytics user id.
85
68
  customUserId: '<your-custom-user-id>',
86
69
 
87
- // Helium provided custom API endpoint
88
- customApiEndpoint: '<your-custom-api-endpoint>',
70
+ // Purchase configuration (see next section if using RevenueCat)
71
+ purchaseConfig: createCustomPurchaseConfig({
72
+ makePurchase: async (productId) => {
73
+ // Your purchase logic here
74
+ return { status: 'purchased' };
75
+ },
76
+ restorePurchases: async () => {
77
+ // Your restore logic here
78
+ return true;
79
+ }
80
+ }),
81
+
82
+ // Event handler for paywall events
83
+ onHeliumPaywallEvent: (event) => {
84
+ switch (event.type) {
85
+ case 'paywallOpen':
86
+ break;
87
+ case 'ctaPressed':
88
+ if (event.ctaName === HELIUM_CTA_NAMES.SCHEDULE_CALL) {
89
+ // Handle schedule call
90
+ }
91
+ break;
92
+ case 'subscriptionSucceeded':
93
+ // Handle successful subscription
94
+ break;
95
+ }
96
+ },
89
97
 
90
98
  // Custom user traits
91
99
  customUserTraits: {
92
100
  "example_trait": "example_value",
93
101
  },
102
+
94
103
  });
95
104
  }, []);
96
105
  }
97
106
  ```
98
107
 
99
- ### Payment Delegate Implementation
100
-
101
- Create a payment delegate object that implements the `HeliumPaymentDelegate` interface. This delegate handles purchase logic for your paywalls:
102
-
103
- ```typescript
104
- export type HeliumTransactionStatus =
105
- | { type: 'purchased' }
106
- | { type: 'cancelled' }
107
- | { type: 'abandoned' }
108
- | { type: 'failed', error: Error }
109
- | { type: 'restored' }
110
- | { type: 'pending' };
111
-
112
- export interface HeliumPaymentDelegate {
113
- // [REQUIRED] Trigger the purchase of a product
114
- makePurchase: (productId: string) => Promise<HeliumTransactionStatus>;
115
-
116
- // [OPTIONAL] Restore existing subscriptions
117
- restorePurchases?: () => Promise<boolean>;
118
-
119
- // [OPTIONAL] Handle Helium paywall events
120
- onPaywallEvent?: (event: HeliumPaywallEvent) => void;
121
-
122
- // [OPTIONAL] Provides custom variables for dynamic paywall content
123
- getCustomVariables?: () => Record<string, any>;
124
- }
125
- ```
126
-
127
- ### Example Delegate
128
-
129
- Here's an example delegate using React Native's in-app purchases:
108
+ #### Use RevenueCat with Helium
130
109
 
131
- ```typescript
132
- import * as RNIap from 'react-native-iap';
133
-
134
- const paymentDelegate: HeliumPaymentDelegate = {
135
- async makePurchase(productId: string): Promise<HeliumTransactionStatus> {
136
- try {
137
- const products = await RNIap.getProducts([productId]);
138
- const purchase = await RNIap.requestPurchase(productId);
139
-
140
- if (purchase) {
141
- return { type: 'purchased' };
142
- }
143
- return { type: 'cancelled' };
144
- } catch (error) {
145
- return { type: 'failed', error };
146
- }
147
- },
148
-
149
- async restorePurchases(): Promise<boolean> {
150
- try {
151
- await RNIap.initConnection();
152
- const restored = await RNIap.restorePurchases();
153
- return restored.length > 0;
154
- } catch (error) {
155
- console.error('Restore failed:', error);
156
- return false;
157
- }
158
- },
159
-
160
- getCustomVariables() {
161
- return {
162
- userSubscriptionStatus: checkUserSubscriptionStatus(),
163
- userIntent: checkUserIntent(),
164
- };
165
- }
166
- };
167
- ```
168
-
169
- ### Checking Download Status
110
+ **Important** Make sure that you've already:
170
111
 
171
- Monitor the status of paywall configuration downloads using the `useHeliumStatus` hook:
112
+ - installed and configured RevenueCat's `Purchases` client - if not, follow [`https://www.revenuecat.com/docs/getting-started/configuring-sdk`](https://www.revenuecat.com/docs/getting-started/configuring-sdk) for more details.
113
+ - have packages configured for each apple app store SKU
114
+ - assigned one of your Offerings as "default"
115
+ - initialize RevenueCat (`Purchases.configure()`) _before_ initializing Helium
172
116
 
173
- ```typescript
174
- import { useHeliumStatus } from '@tryhelium/paywall-sdk';
117
+ ```javascript
118
+ import { createRevenueCatPurchaseConfig, HELIUM_CTA_NAMES } from '@tryheliumai/paywall-sdk-react-native';
175
119
 
176
- function YourComponent() {
177
- const status = useHeliumStatus();
120
+ import { Linking } from 'react-native';
178
121
 
179
- useEffect(() => {
180
- switch (status.type) {
181
- case 'not_downloaded':
182
- console.log('Download not started or in progress');
183
- break;
184
- case 'success':
185
- console.log('Download successful with config ID:', status.configId);
122
+ // Usage in your app:
123
+ await initialize({
124
+ apiKey: '<your-helium-api-key>',
125
+ customUserId: '<your-custom-user-id>',
126
+ purchaseConfig: createRevenueCatPurchaseConfig(),
127
+ onHeliumPaywallEvent: (event) => {
128
+ switch (event.type) {
129
+ case 'subscriptionFailed':
130
+ // Custom logic
186
131
  break;
187
- case 'error':
188
- console.log('Download failed');
132
+ case 'subscriptionSucceeded':
133
+ // Handle a subscription success event
134
+ // e.g. navigate to a premium page
189
135
  break;
190
136
  }
191
- }, [status]);
192
-
193
- return <YourContent />;
194
- }
137
+ }
138
+ });
195
139
  ```
196
140
 
197
141
  ## **Presenting Paywalls**
198
142
 
199
- ### Using the Hook
200
-
201
- Use the `presentPaywall` method in any component under the `HeliumProvider` to present a paywall:
143
+ Use the `presentUpsell` method in any component under the `HeliumProvider` to present a paywall. `presentUpsell` takes in a dictionary
144
+ specifying the `triggerName` as well as an optional `onFallback` parameter defining custom fallback behavior (in case the user didn't have a network connection)
202
145
 
203
146
  ```typescript
204
- import { presentPaywall } from '@tryhelium/paywall-sdk';
147
+ import { presentUpsell } from '@tryheliumai/paywall-sdk-react-native';
205
148
 
206
149
  function YourComponent() {
207
150
  const handlePremiumPress = useCallback(async () => {
208
- await presentPaywall({ trigger: 'premium_feature_press' });
209
- }, [presentPaywall]);
151
+ await presentUpsell({
152
+ triggerName: 'premium_feature_press',
153
+ onFallback: () => {
154
+ // Logic to open a default paywall
155
+ openFallbackPaywall();
156
+ }
157
+ });
158
+ }, [presentUpsell]);
210
159
 
211
160
  return (
212
161
  <Button title="Try Premium" onPress={handlePremiumPress} />
@@ -214,7 +163,7 @@ function YourComponent() {
214
163
  }
215
164
  ```
216
165
 
217
- ### Custom Navigation
166
+ ## Custom Navigation
218
167
 
219
168
  Handle custom navigation or dismissal by implementing the `onPaywallEvent` method in your payment delegate:
220
169
 
@@ -238,5 +187,4 @@ const paymentDelegate: HeliumPaymentDelegate = {
238
187
 
239
188
  ## **Paywall Events**
240
189
 
241
- Helium emits various events during the lifecycle of a paywall. You can handle these events in your payment delegate. See the iOS docs
242
- for more details.
190
+ Helium emits various events during the lifecycle of a paywall. You can handle these events in your payment delegate. See the iOS docs for more details.
@@ -193,6 +193,7 @@ class HeliumBridge: RCTEventEmitter {
193
193
  let customUserId = config["customUserId"] as? String
194
194
  let customAPIEndpoint = config["customAPIEndpoint"] as? String
195
195
  let customUserTraits = config["customUserTraits"] as? [String: Any]
196
+ let revenueCatAppUserId = config["revenueCatAppUserId"] as? String
196
197
  let fallbackPaywallPerTriggerTags = config["fallbackPaywallPerTrigger"] as? [String: NSNumber]
197
198
 
198
199
  self.bridgingDelegate = BridgingPaywallDelegate(
@@ -240,6 +241,7 @@ class HeliumBridge: RCTEventEmitter {
240
241
  customUserId: customUserId,
241
242
  customAPIEndpoint: customAPIEndpoint,
242
243
  customUserTraits: HeliumUserTraits(customUserTraits ?? [:]),
244
+ revenueCatAppUserId: revenueCatAppUserId,
243
245
  fallbackPaywallPerTrigger: triggerViewsMap
244
246
  )
245
247
 
@@ -291,4 +293,14 @@ class HeliumBridge: RCTEventEmitter {
291
293
  public func hideAllUpsells() {
292
294
  Helium.shared.hideAllUpsells();
293
295
  }
296
+
297
+ @objc
298
+ public func fallbackOpenOrCloseEvent(
299
+ _ trigger: String?,
300
+ isOpen: Bool,
301
+ viewType: String?
302
+ ) {
303
+ HeliumPaywallDelegateWrapper.shared.onFallbackOpenCloseEvent(trigger: trigger, isOpen: isOpen, viewType: viewType)
304
+ }
305
+
294
306
  }
@@ -40,4 +40,10 @@ RCT_EXTERN_METHOD(
40
40
  handleRestoreResponse:(NSDictionary *)response
41
41
  )
42
42
 
43
+ RCT_EXTERN_METHOD(
44
+ fallbackOpenOrCloseEvent:(NSString *)trigger
45
+ isOpen:(BOOL)isOpen
46
+ viewType:(NSString *)viewType
47
+ )
48
+
43
49
  @end
@@ -7,7 +7,9 @@ exports.useHelium = exports.presentUpsell = exports.initialize = exports.hideUps
7
7
  var _reactNative = require("react-native");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _revenuecat = require("./handlers/revenuecat.js");
10
+ var _reactNativePurchases = _interopRequireDefault(require("react-native-purchases"));
10
11
  var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
13
  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); }
12
14
  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 && {}.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; }
13
15
  const {
@@ -68,7 +70,7 @@ const HeliumProvider = ({
68
70
  children,
69
71
  fallbackView
70
72
  }) => {
71
- // TODO - deprecate fallbackView
73
+ // TODO - deprecate fallbackView (and maybe HeliumProvider too?)
72
74
  if (fallbackView) {
73
75
  console.warn('HeliumProvider: fallbackView is deprecated. Use onFallback passed to presentUpsell instead.');
74
76
  }
@@ -196,13 +198,19 @@ const initialize = async config => {
196
198
  status: success ? 'restored' : 'failed'
197
199
  });
198
200
  });
201
+ const usingRevenueCat = await _reactNativePurchases.default.isConfigured();
202
+ let revenueCatAppUserId = null;
203
+ if (usingRevenueCat) {
204
+ revenueCatAppUserId = await _reactNativePurchases.default.getAppUserID();
205
+ }
199
206
  HeliumBridge.initialize({
200
207
  apiKey: config.apiKey,
201
208
  fallbackPaywall: viewTag,
202
209
  triggers: config.triggers || [],
203
210
  customUserId: config.customUserId || null,
204
211
  customAPIEndpoint: config.customAPIEndpoint || null,
205
- customUserTraits: config.customUserTraits == null ? {} : config.customUserTraits
212
+ customUserTraits: config.customUserTraits == null ? {} : config.customUserTraits,
213
+ revenueCatAppUserId: revenueCatAppUserId
206
214
  }, {});
207
215
 
208
216
  // Mark as initialized after successful initialization
@@ -220,6 +228,7 @@ const presentUpsell = ({
220
228
  if (!triggerNames.includes(triggerName) || downloadStatus !== 'success') {
221
229
  console.log(`Helium trigger "${triggerName}" not found or download status not successful. Status:`, downloadStatus);
222
230
  onFallback?.();
231
+ HeliumBridge.fallbackOpenOrCloseEvent(triggerName, true, 'presented');
223
232
  return;
224
233
  }
225
234
  try {
@@ -227,6 +236,7 @@ const presentUpsell = ({
227
236
  } catch (error) {
228
237
  console.log('Helium present error', error);
229
238
  onFallback?.();
239
+ HeliumBridge.fallbackOpenOrCloseEvent(triggerName, true, 'presented');
230
240
  }
231
241
  });
232
242
  };
@@ -249,10 +259,21 @@ const UpsellView = ({
249
259
  const {
250
260
  downloadStatus
251
261
  } = useHelium();
262
+ const showFallback = downloadStatus === 'notStarted' || downloadStatus === 'inProgress' || downloadStatus === 'failed';
263
+ (0, _react.useEffect)(() => {
264
+ if (showFallback && FallbackViewComponent) {
265
+ HeliumBridge.fallbackOpenOrCloseEvent(trigger, true, 'embedded');
266
+ }
267
+ return () => {
268
+ if (showFallback && FallbackViewComponent) {
269
+ HeliumBridge.fallbackOpenOrCloseEvent(trigger, false, 'embedded');
270
+ }
271
+ };
272
+ }, [showFallback, trigger]);
252
273
 
253
274
  // If download status is notStarted or inProgress, we haven't fully initialized yet
254
275
  // In this case, we should render the fallback view
255
- if (downloadStatus === 'notStarted' || downloadStatus === 'inProgress' || downloadStatus === 'failed') {
276
+ if (showFallback) {
256
277
  // If we have a fallback view component, render it
257
278
  if (FallbackViewComponent) {
258
279
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_revenuecat","_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","isInitialized","providerMountedPromise","resolveProviderMounted","Promise","resolve","globalDownloadStatus","getDownloadStatus","HeliumContext","createContext","undefined","setDownloadStatusRef","updateDownloadStatus","status","useHelium","context","useContext","Error","fallbackRef","createRef","FallbackViewComponent","HeliumProvider","children","fallbackView","console","warn","FallbackView","downloadStatus","setDownloadStatus","useState","useEffect","jsxs","Provider","value","jsx","View","ref","collapsable","style","display","initialize","config","viewTag","findNodeHandle","current","purchaseHandler","purchaseConfig","type","rcHandler","RevenueCatHeliumHandler","apiKey","makePurchase","bind","restorePurchases","addListener","event","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","result","productId","handlePurchaseResponse","transactionId","error","success","handleRestoreResponse","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","onFallback","getFetchedTriggerNames","triggerNames","includes","log","hideUpsell","hideAllUpsells","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","_revenuecat","_reactNativePurchases","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","NativeHeliumUpsellView","exports","requireNativeComponent","isProviderMounted","isInitialized","providerMountedPromise","resolveProviderMounted","Promise","resolve","globalDownloadStatus","getDownloadStatus","HeliumContext","createContext","undefined","setDownloadStatusRef","updateDownloadStatus","status","useHelium","context","useContext","Error","fallbackRef","createRef","FallbackViewComponent","HeliumProvider","children","fallbackView","console","warn","FallbackView","downloadStatus","setDownloadStatus","useState","useEffect","jsxs","Provider","value","jsx","View","ref","collapsable","style","display","initialize","config","viewTag","findNodeHandle","current","purchaseHandler","purchaseConfig","type","rcHandler","RevenueCatHeliumHandler","apiKey","makePurchase","bind","restorePurchases","addListener","event","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","result","productId","handlePurchaseResponse","transactionId","error","success","handleRestoreResponse","usingRevenueCat","Purchases","isConfigured","revenueCatAppUserId","getAppUserID","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","onFallback","getFetchedTriggerNames","triggerNames","includes","log","fallbackOpenOrCloseEvent","hideUpsell","hideAllUpsells","UpsellView","trigger","fallbackViewProps","fallbackViewWrapperStyles","showFallback","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import { findNodeHandle, NativeModules, View, NativeEventEmitter, requireNativeComponent } from 'react-native';
4
4
  import React, { createRef, useEffect, useState, createContext, useContext } from 'react';
5
5
  import { RevenueCatHeliumHandler } from "./handlers/revenuecat.js";
6
+ import Purchases from 'react-native-purchases';
6
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  const {
8
9
  HeliumBridge
@@ -61,7 +62,7 @@ export const HeliumProvider = ({
61
62
  children,
62
63
  fallbackView
63
64
  }) => {
64
- // TODO - deprecate fallbackView
65
+ // TODO - deprecate fallbackView (and maybe HeliumProvider too?)
65
66
  if (fallbackView) {
66
67
  console.warn('HeliumProvider: fallbackView is deprecated. Use onFallback passed to presentUpsell instead.');
67
68
  }
@@ -188,13 +189,19 @@ export const initialize = async config => {
188
189
  status: success ? 'restored' : 'failed'
189
190
  });
190
191
  });
192
+ const usingRevenueCat = await Purchases.isConfigured();
193
+ let revenueCatAppUserId = null;
194
+ if (usingRevenueCat) {
195
+ revenueCatAppUserId = await Purchases.getAppUserID();
196
+ }
191
197
  HeliumBridge.initialize({
192
198
  apiKey: config.apiKey,
193
199
  fallbackPaywall: viewTag,
194
200
  triggers: config.triggers || [],
195
201
  customUserId: config.customUserId || null,
196
202
  customAPIEndpoint: config.customAPIEndpoint || null,
197
- customUserTraits: config.customUserTraits == null ? {} : config.customUserTraits
203
+ customUserTraits: config.customUserTraits == null ? {} : config.customUserTraits,
204
+ revenueCatAppUserId: revenueCatAppUserId
198
205
  }, {});
199
206
 
200
207
  // Mark as initialized after successful initialization
@@ -211,6 +218,7 @@ export const presentUpsell = ({
211
218
  if (!triggerNames.includes(triggerName) || downloadStatus !== 'success') {
212
219
  console.log(`Helium trigger "${triggerName}" not found or download status not successful. Status:`, downloadStatus);
213
220
  onFallback?.();
221
+ HeliumBridge.fallbackOpenOrCloseEvent(triggerName, true, 'presented');
214
222
  return;
215
223
  }
216
224
  try {
@@ -218,6 +226,7 @@ export const presentUpsell = ({
218
226
  } catch (error) {
219
227
  console.log('Helium present error', error);
220
228
  onFallback?.();
229
+ HeliumBridge.fallbackOpenOrCloseEvent(triggerName, true, 'presented');
221
230
  }
222
231
  });
223
232
  };
@@ -237,10 +246,21 @@ export const UpsellView = ({
237
246
  const {
238
247
  downloadStatus
239
248
  } = useHelium();
249
+ const showFallback = downloadStatus === 'notStarted' || downloadStatus === 'inProgress' || downloadStatus === 'failed';
250
+ useEffect(() => {
251
+ if (showFallback && FallbackViewComponent) {
252
+ HeliumBridge.fallbackOpenOrCloseEvent(trigger, true, 'embedded');
253
+ }
254
+ return () => {
255
+ if (showFallback && FallbackViewComponent) {
256
+ HeliumBridge.fallbackOpenOrCloseEvent(trigger, false, 'embedded');
257
+ }
258
+ };
259
+ }, [showFallback, trigger]);
240
260
 
241
261
  // If download status is notStarted or inProgress, we haven't fully initialized yet
242
262
  // In this case, we should render the fallback view
243
- if (downloadStatus === 'notStarted' || downloadStatus === 'inProgress' || downloadStatus === 'failed') {
263
+ if (showFallback) {
244
264
  // If we have a fallback view component, render it
245
265
  if (FallbackViewComponent) {
246
266
  return /*#__PURE__*/_jsx(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","useState","createContext","useContext","RevenueCatHeliumHandler","jsx","_jsx","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","NativeHeliumUpsellView","isProviderMounted","isInitialized","providerMountedPromise","resolveProviderMounted","Promise","resolve","globalDownloadStatus","getDownloadStatus","HeliumContext","undefined","setDownloadStatusRef","updateDownloadStatus","status","useHelium","context","Error","fallbackRef","FallbackViewComponent","HeliumProvider","children","fallbackView","console","warn","FallbackView","downloadStatus","setDownloadStatus","Provider","value","ref","collapsable","style","display","initialize","config","viewTag","current","purchaseHandler","purchaseConfig","type","rcHandler","apiKey","makePurchase","bind","restorePurchases","addListener","event","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","result","productId","handlePurchaseResponse","transactionId","error","success","handleRestoreResponse","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","onFallback","getFetchedTriggerNames","triggerNames","includes","log","hideUpsell","hideAllUpsells","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","RevenueCatHeliumHandler","Purchases","jsx","_jsx","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","NativeHeliumUpsellView","isProviderMounted","isInitialized","providerMountedPromise","resolveProviderMounted","Promise","resolve","globalDownloadStatus","getDownloadStatus","HeliumContext","undefined","setDownloadStatusRef","updateDownloadStatus","status","useHelium","context","Error","fallbackRef","FallbackViewComponent","HeliumProvider","children","fallbackView","console","warn","FallbackView","downloadStatus","setDownloadStatus","Provider","value","ref","collapsable","style","display","initialize","config","viewTag","current","purchaseHandler","purchaseConfig","type","rcHandler","apiKey","makePurchase","bind","restorePurchases","addListener","event","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","result","productId","handlePurchaseResponse","transactionId","error","success","handleRestoreResponse","usingRevenueCat","isConfigured","revenueCatAppUserId","getAppUserID","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","onFallback","getFetchedTriggerNames","triggerNames","includes","log","fallbackOpenOrCloseEvent","hideUpsell","hideAllUpsells","UpsellView","trigger","fallbackViewProps","fallbackViewWrapperStyles","showFallback","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
@@ -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,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAwB,MAAM,SAAS,CAAC;AAQ/G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAoBxG,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,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAQD,eAAO,MAAM,cAAc,+BAAgC,mBAAmB,4CAwC7E,CAAC;AAGF,eAAO,MAAM,UAAU,WAAkB,YAAY,kBAgHpD,CAAC;AAGF,eAAO,MAAM,aAAa,gCAGvB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,SAmBA,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAEF,eAAO,MAAM,cAAc,YAE1B,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,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAwB,MAAM,SAAS,CAAC;AAS/G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAoBxG,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,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAQD,eAAO,MAAM,cAAc,+BAAgC,mBAAmB,4CAwC7E,CAAC;AAGF,eAAO,MAAM,UAAU,WAAkB,YAAY,kBAuHpD,CAAC;AAGF,eAAO,MAAM,aAAa,gCAGvB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,SAqBA,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAEF,eAAO,MAAM,cAAc,YAE1B,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,CAmCA,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
@@ -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,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAwB,MAAM,SAAS,CAAC;AAQ/G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAoBxG,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,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAQD,eAAO,MAAM,cAAc,+BAAgC,mBAAmB,4CAwC7E,CAAC;AAGF,eAAO,MAAM,UAAU,WAAkB,YAAY,kBAgHpD,CAAC;AAGF,eAAO,MAAM,aAAa,gCAGvB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,SAmBA,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAEF,eAAO,MAAM,cAAc,YAE1B,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,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAwB,MAAM,SAAS,CAAC;AAS/G,eAAO,MAAM,sBAAsB,6DAAoE,CAAC;AAoBxG,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,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC;AAQD,eAAO,MAAM,cAAc,+BAAgC,mBAAmB,4CAwC7E,CAAC;AAGF,eAAO,MAAM,UAAU,WAAkB,YAAY,kBAuHpD,CAAC;AAGF,eAAO,MAAM,aAAa,gCAGvB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,SAqBA,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAEF,eAAO,MAAM,cAAc,YAE1B,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,CAmCA,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.2.13",
3
+ "version": "0.2.15",
4
4
  "description": "Paywall SDK Helium",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -51,8 +51,7 @@
51
51
  "typecheck": "tsc",
52
52
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
53
53
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
54
- "prepare": "bob build",
55
- "release": "release-it"
54
+ "prepare": "bob build"
56
55
  },
57
56
  "keywords": [
58
57
  "react-native",
@@ -118,23 +117,6 @@
118
117
  "@commitlint/config-conventional"
119
118
  ]
120
119
  },
121
- "release-it": {
122
- "git": {
123
- "commitMessage": "chore: release ${version}",
124
- "tagName": "v${version}"
125
- },
126
- "npm": {
127
- "publish": true
128
- },
129
- "github": {
130
- "release": true
131
- },
132
- "plugins": {
133
- "@release-it/conventional-changelog": {
134
- "preset": "angular"
135
- }
136
- }
137
- },
138
120
  "eslintConfig": {
139
121
  "root": true,
140
122
  "extends": [
@@ -2,6 +2,7 @@ import { findNodeHandle, NativeModules, View, NativeEventEmitter, requireNativeC
2
2
  import React, { createRef, useEffect, useState, createContext, useContext } from 'react';
3
3
  import type { HeliumConfig, HeliumUpsellViewProps, HeliumDownloadStatus, HeliumPurchaseResult } from './types';
4
4
  import { RevenueCatHeliumHandler } from './handlers/revenuecat';
5
+ import Purchases from 'react-native-purchases';
5
6
 
6
7
  const { HeliumBridge } = NativeModules;
7
8
  const heliumEventEmitter = new NativeEventEmitter(HeliumBridge);
@@ -66,7 +67,7 @@ let FallbackViewComponent: React.ComponentType | null = null;
66
67
 
67
68
  // Provider component to be rendered at the app root
68
69
  export const HeliumProvider = ({ children, fallbackView }: HeliumProviderProps) => {
69
- // TODO - deprecate fallbackView
70
+ // TODO - deprecate fallbackView (and maybe HeliumProvider too?)
70
71
  if (fallbackView) {
71
72
  console.warn('HeliumProvider: fallbackView is deprecated. Use onFallback passed to presentUpsell instead.');
72
73
  }
@@ -206,6 +207,12 @@ export const initialize = async (config: HeliumConfig) => {
206
207
  }
207
208
  );
208
209
 
210
+ const usingRevenueCat = await Purchases.isConfigured();
211
+ let revenueCatAppUserId = null;
212
+ if (usingRevenueCat) {
213
+ revenueCatAppUserId = await Purchases.getAppUserID();
214
+ }
215
+
209
216
  HeliumBridge.initialize(
210
217
  {
211
218
  apiKey: config.apiKey,
@@ -213,7 +220,8 @@ export const initialize = async (config: HeliumConfig) => {
213
220
  triggers: config.triggers || [],
214
221
  customUserId: config.customUserId || null,
215
222
  customAPIEndpoint: config.customAPIEndpoint || null,
216
- customUserTraits: config.customUserTraits == null ? {} : config.customUserTraits
223
+ customUserTraits: config.customUserTraits == null ? {} : config.customUserTraits,
224
+ revenueCatAppUserId: revenueCatAppUserId,
217
225
  },
218
226
  {}
219
227
  );
@@ -238,6 +246,7 @@ export const presentUpsell = ({
238
246
  downloadStatus
239
247
  );
240
248
  onFallback?.();
249
+ HeliumBridge.fallbackOpenOrCloseEvent(triggerName, true, 'presented');
241
250
  return;
242
251
  }
243
252
 
@@ -246,6 +255,7 @@ export const presentUpsell = ({
246
255
  } catch (error) {
247
256
  console.log('Helium present error', error);
248
257
  onFallback?.();
258
+ HeliumBridge.fallbackOpenOrCloseEvent(triggerName, true, 'presented');
249
259
  }
250
260
  });
251
261
  };
@@ -264,10 +274,25 @@ export const UpsellView: React.FC<HeliumUpsellViewProps & {
264
274
  fallbackViewWrapperStyles?: Record<string, any>;
265
275
  }> = ({ trigger, fallbackViewProps, fallbackViewWrapperStyles }) => {
266
276
  const { downloadStatus } = useHelium();
267
-
277
+
278
+ const showFallback = downloadStatus === 'notStarted' ||
279
+ downloadStatus === 'inProgress' ||
280
+ downloadStatus === 'failed';
281
+
282
+ useEffect(() => {
283
+ if (showFallback && FallbackViewComponent) {
284
+ HeliumBridge.fallbackOpenOrCloseEvent(trigger, true, 'embedded');
285
+ }
286
+ return () => {
287
+ if (showFallback && FallbackViewComponent) {
288
+ HeliumBridge.fallbackOpenOrCloseEvent(trigger, false, 'embedded');
289
+ }
290
+ };
291
+ }, [showFallback, trigger]);
292
+
268
293
  // If download status is notStarted or inProgress, we haven't fully initialized yet
269
294
  // In this case, we should render the fallback view
270
- if (downloadStatus === 'notStarted' || downloadStatus === 'inProgress' || downloadStatus === 'failed') {
295
+ if (showFallback) {
271
296
  // If we have a fallback view component, render it
272
297
  if (FallbackViewComponent) {
273
298
  return (