react-native-purchases-ui 8.10.1 → 8.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNPaywalls.podspec +1 -1
- package/android/build.gradle +2 -2
- package/lib/commonjs/index.js +17 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/preview/nativeModules.js +25 -0
- package/lib/commonjs/preview/nativeModules.js.map +1 -0
- package/lib/commonjs/utils/environment.js +32 -0
- package/lib/commonjs/utils/environment.js.map +1 -0
- package/lib/module/index.js +17 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/preview/nativeModules.js +20 -0
- package/lib/module/preview/nativeModules.js.map +1 -0
- package/lib/module/utils/environment.js +27 -0
- package/lib/module/utils/environment.js.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/preview/nativeModules.d.ts +13 -0
- package/lib/typescript/src/preview/nativeModules.d.ts.map +1 -0
- package/lib/typescript/src/utils/environment.d.ts +16 -0
- package/lib/typescript/src/utils/environment.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/index.tsx +19 -4
- package/src/preview/nativeModules.ts +25 -0
- package/src/utils/environment.ts +35 -0
package/RNPaywalls.podspec
CHANGED
@@ -17,6 +17,6 @@ Pod::Spec.new do |spec|
|
|
17
17
|
spec.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
|
18
18
|
|
19
19
|
spec.dependency "React-Core"
|
20
|
-
spec.dependency "PurchasesHybridCommonUI", '13.
|
20
|
+
spec.dependency "PurchasesHybridCommonUI", '13.33.0'
|
21
21
|
spec.swift_version = '5.7'
|
22
22
|
end
|
package/android/build.gradle
CHANGED
@@ -59,7 +59,7 @@ android {
|
|
59
59
|
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
60
60
|
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
61
61
|
versionCode 1
|
62
|
-
versionName '8.
|
62
|
+
versionName '8.11.1'
|
63
63
|
}
|
64
64
|
|
65
65
|
buildTypes {
|
@@ -91,7 +91,7 @@ dependencies {
|
|
91
91
|
//noinspection GradleDynamicVersion
|
92
92
|
implementation "com.facebook.react:react-native:+"
|
93
93
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
94
|
-
implementation 'com.revenuecat.purchases:purchases-hybrid-common-ui:13.
|
94
|
+
implementation 'com.revenuecat.purchases:purchases-hybrid-common-ui:13.33.0'
|
95
95
|
implementation 'androidx.compose.ui:ui-android:1.5.4'
|
96
96
|
implementation "androidx.appcompat:appcompat:1.6.1"
|
97
97
|
}
|
package/lib/commonjs/index.js
CHANGED
@@ -13,14 +13,19 @@ exports.default = void 0;
|
|
13
13
|
var _reactNative = require("react-native");
|
14
14
|
var _purchasesTypescriptInternal = require("@revenuecat/purchases-typescript-internal");
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
16
|
+
var _environment = require("./utils/environment");
|
17
|
+
var _nativeModules = require("./preview/nativeModules");
|
16
18
|
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); }
|
17
19
|
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; }
|
18
20
|
const LINKING_ERROR = `The package 'react-native-purchases-ui' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
19
21
|
ios: "- You have run 'pod install'\n",
|
20
22
|
default: ''
|
21
|
-
}) + '- You rebuilt the app after installing the package\n'
|
22
|
-
|
23
|
-
|
23
|
+
}) + '- You rebuilt the app after installing the package\n';
|
24
|
+
|
25
|
+
// Get the native module or use the preview implementation
|
26
|
+
const usingPreviewAPIMode = (0, _environment.shouldUsePreviewAPIMode)();
|
27
|
+
const RNPaywalls = usingPreviewAPIMode ? _nativeModules.previewNativeModuleRNPaywalls : _reactNative.NativeModules.RNPaywalls;
|
28
|
+
const RNCustomerCenter = usingPreviewAPIMode ? _nativeModules.previewNativeModuleRNCustomerCenter : _reactNative.NativeModules.RNCustomerCenter;
|
24
29
|
if (!RNPaywalls) {
|
25
30
|
throw new Error(LINKING_ERROR);
|
26
31
|
}
|
@@ -67,6 +72,7 @@ class RevenueCatUI {
|
|
67
72
|
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
68
73
|
fontFamily
|
69
74
|
} = {}) {
|
75
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentPaywall");
|
70
76
|
return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
71
77
|
}
|
72
78
|
|
@@ -89,6 +95,7 @@ class RevenueCatUI {
|
|
89
95
|
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
90
96
|
fontFamily
|
91
97
|
}) {
|
98
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentPaywallIfNeeded");
|
92
99
|
return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
93
100
|
}
|
94
101
|
static Paywall = ({
|
@@ -229,6 +236,7 @@ class RevenueCatUI {
|
|
229
236
|
subscriptions.forEach(subscription => subscription.remove());
|
230
237
|
});
|
231
238
|
}
|
239
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentCustomerCenter");
|
232
240
|
return RNCustomerCenter.presentCustomerCenter();
|
233
241
|
}
|
234
242
|
|
@@ -236,6 +244,12 @@ class RevenueCatUI {
|
|
236
244
|
* @deprecated, Use {@link OriginalTemplatePaywallFooterContainerView} instead
|
237
245
|
*/
|
238
246
|
static PaywallFooterContainerView = RevenueCatUI.OriginalTemplatePaywallFooterContainerView;
|
247
|
+
static logWarningIfPreviewAPIMode(methodName) {
|
248
|
+
if (usingPreviewAPIMode) {
|
249
|
+
// tslint:disable-next-line:no-console
|
250
|
+
console.warn(`[RevenueCatUI] [${methodName}] This method is available but has no effect in Preview API mode.`);
|
251
|
+
}
|
252
|
+
}
|
239
253
|
}
|
240
254
|
exports.default = RevenueCatUI;
|
241
255
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_purchasesTypescriptInternal","_react","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","RNPaywalls","NativeModules","RNCustomerCenter","Error","eventEmitter","NativeEventEmitter","customerCenterEventEmitter","InternalPaywall","UIManager","getViewManagerConfig","requireNativeComponent","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","PAYWALL_RESULT","presentPaywall","offering","displayCloseButton","fontFamily","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","OriginalTemplatePaywallFooterContainerView","paddingBottom","setPaddingBottom","useState","height","setHeight","useEffect","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","View","ScrollView","contentContainerStyle","flexGrow","marginTop","android","onMeasure","measurements","presentCustomerCenter","params","callbacks","subscriptions","onFeedbackSurveyCompleted","push","onShowingManageSubscriptions","onRestoreFailed","onRefundRequestStarted","onRefundRequestCompleted","onManagementOptionSelected","finally","forEach","PaywallFooterContainerView","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAWA,IAAAC,4BAAA,GAAAD,OAAA;AAOA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;
|
1
|
+
{"version":3,"names":["_reactNative","require","_purchasesTypescriptInternal","_react","_interopRequireWildcard","_environment","_nativeModules","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","usingPreviewAPIMode","shouldUsePreviewAPIMode","RNPaywalls","previewNativeModuleRNPaywalls","NativeModules","RNCustomerCenter","previewNativeModuleRNCustomerCenter","Error","eventEmitter","NativeEventEmitter","customerCenterEventEmitter","InternalPaywall","UIManager","getViewManagerConfig","requireNativeComponent","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","PAYWALL_RESULT","presentPaywall","offering","displayCloseButton","fontFamily","logWarningIfPreviewAPIMode","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","OriginalTemplatePaywallFooterContainerView","paddingBottom","setPaddingBottom","useState","height","setHeight","useEffect","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","View","ScrollView","contentContainerStyle","flexGrow","marginTop","android","onMeasure","measurements","presentCustomerCenter","params","callbacks","subscriptions","onFeedbackSurveyCompleted","push","onShowingManageSubscriptions","onRestoreFailed","onRefundRequestStarted","onRefundRequestCompleted","onManagementOptionSelected","finally","forEach","PaywallFooterContainerView","methodName","console","warn","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.previewNativeModuleRNPaywalls = exports.previewNativeModuleRNCustomerCenter = void 0;
|
7
|
+
var _purchasesTypescriptInternal = require("@revenuecat/purchases-typescript-internal");
|
8
|
+
/**
|
9
|
+
* Preview implementation of the native module for Preview API mode, i.e. for environments where native modules are not available
|
10
|
+
* (like Expo Go).
|
11
|
+
*/
|
12
|
+
const previewNativeModuleRNPaywalls = exports.previewNativeModuleRNPaywalls = {
|
13
|
+
presentPaywall: () => {
|
14
|
+
return _purchasesTypescriptInternal.PAYWALL_RESULT.NOT_PRESENTED;
|
15
|
+
},
|
16
|
+
presentPaywallIfNeeded: () => {
|
17
|
+
return _purchasesTypescriptInternal.PAYWALL_RESULT.NOT_PRESENTED;
|
18
|
+
}
|
19
|
+
};
|
20
|
+
const previewNativeModuleRNCustomerCenter = exports.previewNativeModuleRNCustomerCenter = {
|
21
|
+
presentCustomerCenter: () => {
|
22
|
+
return null;
|
23
|
+
}
|
24
|
+
};
|
25
|
+
//# sourceMappingURL=nativeModules.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_purchasesTypescriptInternal","require","previewNativeModuleRNPaywalls","exports","presentPaywall","PAYWALL_RESULT","NOT_PRESENTED","presentPaywallIfNeeded","previewNativeModuleRNCustomerCenter","presentCustomerCenter"],"sourceRoot":"../../../src","sources":["preview/nativeModules.ts"],"mappings":";;;;;;AAAA,IAAAA,4BAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,MAAMC,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG;EAEzCE,cAAc,EAAEA,CAAA,KAAM;IAClB,OAAOC,2CAAc,CAACC,aAAa;EACvC,CAAC;EAEDC,sBAAsB,EAAEA,CAAA,KAAM;IAC1B,OAAOF,2CAAc,CAACC,aAAa;EACvC;AAEJ,CAAC;AAEM,MAAME,mCAAmC,GAAAL,OAAA,CAAAK,mCAAA,GAAG;EAE/CC,qBAAqB,EAAEA,CAAA,KAAM;IACzB,OAAO,IAAI;EACf;AAEJ,CAAC","ignoreList":[]}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.shouldUsePreviewAPIMode = shouldUsePreviewAPIMode;
|
7
|
+
var _reactNative = require("react-native");
|
8
|
+
/**
|
9
|
+
* Detects if the app is running in an environment where native modules are not available
|
10
|
+
* (like Expo Go) or if the required native modules are missing.
|
11
|
+
*
|
12
|
+
* @returns {boolean} True if the app is running in an environment where native modules are not available
|
13
|
+
* (like Expo Go) or if the required native modules are missing.
|
14
|
+
*/
|
15
|
+
function shouldUsePreviewAPIMode() {
|
16
|
+
let usePreviewAPIMode = isExpoGo();
|
17
|
+
if (usePreviewAPIMode) {
|
18
|
+
console.log('Expo Go app detected. Using RevenueCat in Preview API Mode.');
|
19
|
+
}
|
20
|
+
return usePreviewAPIMode;
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* Detects if the app is running in Expo Go
|
24
|
+
*/
|
25
|
+
function isExpoGo() {
|
26
|
+
var _globalThis$expo;
|
27
|
+
if (!!_reactNative.NativeModules.RNPaywalls && !!_reactNative.NativeModules.RNCustomerCenter) {
|
28
|
+
return false;
|
29
|
+
}
|
30
|
+
return !!((_globalThis$expo = globalThis.expo) !== null && _globalThis$expo !== void 0 && (_globalThis$expo = _globalThis$expo.modules) !== null && _globalThis$expo !== void 0 && _globalThis$expo.ExpoGo);
|
31
|
+
}
|
32
|
+
//# sourceMappingURL=environment.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_reactNative","require","shouldUsePreviewAPIMode","usePreviewAPIMode","isExpoGo","console","log","_globalThis$expo","NativeModules","RNPaywalls","RNCustomerCenter","globalThis","expo","modules","ExpoGo"],"sourceRoot":"../../../src","sources":["utils/environment.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CAAA,EAAY;EACjD,IAAIC,iBAAiB,GAAGC,QAAQ,CAAC,CAAC;EAClC,IAAID,iBAAiB,EAAE;IACrBE,OAAO,CAACC,GAAG,CAAC,6DAA6D,CAAC;EAC5E;EACA,OAAOH,iBAAiB;AAC1B;AAUA;AACA;AACA;AACA,SAASC,QAAQA,CAAA,EAAY;EAAA,IAAAG,gBAAA;EAC3B,IAAI,CAAC,CAACC,0BAAa,CAACC,UAAU,IAAI,CAAC,CAACD,0BAAa,CAACE,gBAAgB,EAAE;IAClE,OAAO,KAAK;EACd;EAEA,OAAO,CAAC,GAAAH,gBAAA,GAACI,UAAU,CAACC,IAAI,cAAAL,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBM,OAAO,cAAAN,gBAAA,eAAxBA,gBAAA,CAA0BO,MAAM;AAC3C","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
import { NativeEventEmitter, NativeModules, Platform, requireNativeComponent, ScrollView, UIManager, View } from "react-native";
|
2
2
|
import { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
|
3
3
|
import React, { useEffect, useState } from "react";
|
4
|
+
import { shouldUsePreviewAPIMode } from "./utils/environment";
|
5
|
+
import { previewNativeModuleRNCustomerCenter, previewNativeModuleRNPaywalls } from "./preview/nativeModules";
|
4
6
|
export { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
|
5
7
|
const LINKING_ERROR = `The package 'react-native-purchases-ui' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
6
8
|
ios: "- You have run 'pod install'\n",
|
7
9
|
default: ''
|
8
|
-
}) + '- You rebuilt the app after installing the package\n'
|
9
|
-
|
10
|
-
|
10
|
+
}) + '- You rebuilt the app after installing the package\n';
|
11
|
+
|
12
|
+
// Get the native module or use the preview implementation
|
13
|
+
const usingPreviewAPIMode = shouldUsePreviewAPIMode();
|
14
|
+
const RNPaywalls = usingPreviewAPIMode ? previewNativeModuleRNPaywalls : NativeModules.RNPaywalls;
|
15
|
+
const RNCustomerCenter = usingPreviewAPIMode ? previewNativeModuleRNCustomerCenter : NativeModules.RNCustomerCenter;
|
11
16
|
if (!RNPaywalls) {
|
12
17
|
throw new Error(LINKING_ERROR);
|
13
18
|
}
|
@@ -54,6 +59,7 @@ export default class RevenueCatUI {
|
|
54
59
|
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
55
60
|
fontFamily
|
56
61
|
} = {}) {
|
62
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentPaywall");
|
57
63
|
return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
58
64
|
}
|
59
65
|
|
@@ -76,6 +82,7 @@ export default class RevenueCatUI {
|
|
76
82
|
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
77
83
|
fontFamily
|
78
84
|
}) {
|
85
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentPaywallIfNeeded");
|
79
86
|
return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
80
87
|
}
|
81
88
|
static Paywall = ({
|
@@ -216,6 +223,7 @@ export default class RevenueCatUI {
|
|
216
223
|
subscriptions.forEach(subscription => subscription.remove());
|
217
224
|
});
|
218
225
|
}
|
226
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentCustomerCenter");
|
219
227
|
return RNCustomerCenter.presentCustomerCenter();
|
220
228
|
}
|
221
229
|
|
@@ -223,5 +231,11 @@ export default class RevenueCatUI {
|
|
223
231
|
* @deprecated, Use {@link OriginalTemplatePaywallFooterContainerView} instead
|
224
232
|
*/
|
225
233
|
static PaywallFooterContainerView = RevenueCatUI.OriginalTemplatePaywallFooterContainerView;
|
234
|
+
static logWarningIfPreviewAPIMode(methodName) {
|
235
|
+
if (usingPreviewAPIMode) {
|
236
|
+
// tslint:disable-next-line:no-console
|
237
|
+
console.warn(`[RevenueCatUI] [${methodName}] This method is available but has no effect in Preview API mode.`);
|
238
|
+
}
|
239
|
+
}
|
226
240
|
}
|
227
241
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","requireNativeComponent","ScrollView","UIManager","View","PAYWALL_RESULT","React","useEffect","useState","LINKING_ERROR","select","ios","default","RNPaywalls","RNCustomerCenter","Error","eventEmitter","customerCenterEventEmitter","InternalPaywall","getViewManagerConfig","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","presentPaywall","offering","displayCloseButton","fontFamily","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","OriginalTemplatePaywallFooterContainerView","paddingBottom","setPaddingBottom","height","setHeight","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","contentContainerStyle","flexGrow","marginTop","android","onMeasure","measurements","presentCustomerCenter","params","callbacks","subscriptions","onFeedbackSurveyCompleted","push","onShowingManageSubscriptions","onRestoreFailed","onRefundRequestStarted","onRefundRequestCompleted","onManagementOptionSelected","finally","forEach","PaywallFooterContainerView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SACEA,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,EACRC,sBAAsB,EACtBC,UAAU,EAEVC,SAAS,EACTC,IAAI,QAEC,cAAc;AACrB,SAEEC,cAAc,QAIT,2CAA2C;AAClD,OAAOC,KAAK,IAAoBC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","requireNativeComponent","ScrollView","UIManager","View","PAYWALL_RESULT","React","useEffect","useState","shouldUsePreviewAPIMode","previewNativeModuleRNCustomerCenter","previewNativeModuleRNPaywalls","LINKING_ERROR","select","ios","default","usingPreviewAPIMode","RNPaywalls","RNCustomerCenter","Error","eventEmitter","customerCenterEventEmitter","InternalPaywall","getViewManagerConfig","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","presentPaywall","offering","displayCloseButton","fontFamily","logWarningIfPreviewAPIMode","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","OriginalTemplatePaywallFooterContainerView","paddingBottom","setPaddingBottom","height","setHeight","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","contentContainerStyle","flexGrow","marginTop","android","onMeasure","measurements","presentCustomerCenter","params","callbacks","subscriptions","onFeedbackSurveyCompleted","push","onShowingManageSubscriptions","onRestoreFailed","onRefundRequestStarted","onRefundRequestCompleted","onManagementOptionSelected","finally","forEach","PaywallFooterContainerView","methodName","console","warn"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Preview implementation of the native module for Preview API mode, i.e. for environments where native modules are not available
|
5
|
+
* (like Expo Go).
|
6
|
+
*/
|
7
|
+
export const previewNativeModuleRNPaywalls = {
|
8
|
+
presentPaywall: () => {
|
9
|
+
return PAYWALL_RESULT.NOT_PRESENTED;
|
10
|
+
},
|
11
|
+
presentPaywallIfNeeded: () => {
|
12
|
+
return PAYWALL_RESULT.NOT_PRESENTED;
|
13
|
+
}
|
14
|
+
};
|
15
|
+
export const previewNativeModuleRNCustomerCenter = {
|
16
|
+
presentCustomerCenter: () => {
|
17
|
+
return null;
|
18
|
+
}
|
19
|
+
};
|
20
|
+
//# sourceMappingURL=nativeModules.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["PAYWALL_RESULT","previewNativeModuleRNPaywalls","presentPaywall","NOT_PRESENTED","presentPaywallIfNeeded","previewNativeModuleRNCustomerCenter","presentCustomerCenter"],"sourceRoot":"../../../src","sources":["preview/nativeModules.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,2CAA2C;;AAE1E;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAG;EAEzCC,cAAc,EAAEA,CAAA,KAAM;IAClB,OAAOF,cAAc,CAACG,aAAa;EACvC,CAAC;EAEDC,sBAAsB,EAAEA,CAAA,KAAM;IAC1B,OAAOJ,cAAc,CAACG,aAAa;EACvC;AAEJ,CAAC;AAED,OAAO,MAAME,mCAAmC,GAAG;EAE/CC,qBAAqB,EAAEA,CAAA,KAAM;IACzB,OAAO,IAAI;EACf;AAEJ,CAAC","ignoreList":[]}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { NativeModules } from "react-native";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Detects if the app is running in an environment where native modules are not available
|
5
|
+
* (like Expo Go) or if the required native modules are missing.
|
6
|
+
*
|
7
|
+
* @returns {boolean} True if the app is running in an environment where native modules are not available
|
8
|
+
* (like Expo Go) or if the required native modules are missing.
|
9
|
+
*/
|
10
|
+
export function shouldUsePreviewAPIMode() {
|
11
|
+
let usePreviewAPIMode = isExpoGo();
|
12
|
+
if (usePreviewAPIMode) {
|
13
|
+
console.log('Expo Go app detected. Using RevenueCat in Preview API Mode.');
|
14
|
+
}
|
15
|
+
return usePreviewAPIMode;
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* Detects if the app is running in Expo Go
|
19
|
+
*/
|
20
|
+
function isExpoGo() {
|
21
|
+
var _globalThis$expo;
|
22
|
+
if (!!NativeModules.RNPaywalls && !!NativeModules.RNCustomerCenter) {
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
return !!((_globalThis$expo = globalThis.expo) !== null && _globalThis$expo !== void 0 && (_globalThis$expo = _globalThis$expo.modules) !== null && _globalThis$expo !== void 0 && _globalThis$expo.ExpoGo);
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=environment.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["NativeModules","shouldUsePreviewAPIMode","usePreviewAPIMode","isExpoGo","console","log","_globalThis$expo","RNPaywalls","RNCustomerCenter","globalThis","expo","modules","ExpoGo"],"sourceRoot":"../../../src","sources":["utils/environment.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAAA,EAAY;EACjD,IAAIC,iBAAiB,GAAGC,QAAQ,CAAC,CAAC;EAClC,IAAID,iBAAiB,EAAE;IACrBE,OAAO,CAACC,GAAG,CAAC,6DAA6D,CAAC;EAC5E;EACA,OAAOH,iBAAiB;AAC1B;AAUA;AACA;AACA;AACA,SAASC,QAAQA,CAAA,EAAY;EAAA,IAAAG,gBAAA;EAC3B,IAAI,CAAC,CAACN,aAAa,CAACO,UAAU,IAAI,CAAC,CAACP,aAAa,CAACQ,gBAAgB,EAAE;IAClE,OAAO,KAAK;EACd;EAEA,OAAO,CAAC,GAAAF,gBAAA,GAACG,UAAU,CAACC,IAAI,cAAAJ,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBK,OAAO,cAAAL,gBAAA,eAAxBA,gBAAA,CAA0BM,MAAM;AAC3C","ignoreList":[]}
|
@@ -213,5 +213,6 @@ export default class RevenueCatUI {
|
|
213
213
|
* @deprecated, Use {@link OriginalTemplatePaywallFooterContainerView} instead
|
214
214
|
*/
|
215
215
|
static PaywallFooterContainerView: React.FC<FooterPaywallViewProps>;
|
216
|
+
private static logWarningIfPreviewAPIMode;
|
216
217
|
}
|
217
218
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,YAAY,EACjB,cAAc,EAAE,KAAK,cAAc,EACnC,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAC7C,KAAK,yBAAyB,EAC9B,qBAAqB,EACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
|
2
|
+
/**
|
3
|
+
* Preview implementation of the native module for Preview API mode, i.e. for environments where native modules are not available
|
4
|
+
* (like Expo Go).
|
5
|
+
*/
|
6
|
+
export declare const previewNativeModuleRNPaywalls: {
|
7
|
+
presentPaywall: () => PAYWALL_RESULT;
|
8
|
+
presentPaywallIfNeeded: () => PAYWALL_RESULT;
|
9
|
+
};
|
10
|
+
export declare const previewNativeModuleRNCustomerCenter: {
|
11
|
+
presentCustomerCenter: () => null;
|
12
|
+
};
|
13
|
+
//# sourceMappingURL=nativeModules.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nativeModules.d.ts","sourceRoot":"","sources":["../../../../src/preview/nativeModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;CAUzC,CAAA;AAED,eAAO,MAAM,mCAAmC;;CAM/C,CAAA"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/**
|
2
|
+
* Detects if the app is running in an environment where native modules are not available
|
3
|
+
* (like Expo Go) or if the required native modules are missing.
|
4
|
+
*
|
5
|
+
* @returns {boolean} True if the app is running in an environment where native modules are not available
|
6
|
+
* (like Expo Go) or if the required native modules are missing.
|
7
|
+
*/
|
8
|
+
export declare function shouldUsePreviewAPIMode(): boolean;
|
9
|
+
declare global {
|
10
|
+
var expo: {
|
11
|
+
modules?: {
|
12
|
+
ExpoGo?: boolean;
|
13
|
+
};
|
14
|
+
};
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=environment.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../src/utils/environment.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAMjD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,IAAI,EAAE;QACR,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,CAAC;KACH,CAAC;CACH"}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-native-purchases-ui",
|
3
3
|
"title": "React Native Purchases UI",
|
4
|
-
"version": "8.
|
4
|
+
"version": "8.11.1",
|
5
5
|
"description": "React Native in-app purchases and subscriptions made easy. Supports iOS and Android.",
|
6
6
|
"main": "lib/commonjs/index",
|
7
7
|
"module": "lib/module/index",
|
@@ -114,7 +114,7 @@
|
|
114
114
|
]
|
115
115
|
},
|
116
116
|
"dependencies": {
|
117
|
-
"@revenuecat/purchases-typescript-internal": "13.
|
118
|
-
"react-native-purchases": "8.
|
117
|
+
"@revenuecat/purchases-typescript-internal": "13.33.0",
|
118
|
+
"react-native-purchases": "8.11.1"
|
119
119
|
}
|
120
120
|
}
|
package/src/index.tsx
CHANGED
@@ -17,17 +17,22 @@ import {
|
|
17
17
|
REFUND_REQUEST_STATUS
|
18
18
|
} from "@revenuecat/purchases-typescript-internal";
|
19
19
|
import React, { type ReactNode, useEffect, useState } from "react";
|
20
|
+
import { shouldUsePreviewAPIMode } from "./utils/environment";
|
21
|
+
import { previewNativeModuleRNCustomerCenter, previewNativeModuleRNPaywalls } from "./preview/nativeModules";
|
20
22
|
|
21
23
|
export { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
|
22
24
|
|
23
25
|
const LINKING_ERROR =
|
24
26
|
`The package 'react-native-purchases-ui' doesn't seem to be linked. Make sure: \n\n` +
|
25
27
|
Platform.select({ios: "- You have run 'pod install'\n", default: ''}) +
|
26
|
-
'- You rebuilt the app after installing the package\n'
|
27
|
-
'- You are not using Expo Go\n';
|
28
|
+
'- You rebuilt the app after installing the package\n';
|
28
29
|
|
29
|
-
|
30
|
-
|
30
|
+
|
31
|
+
// Get the native module or use the preview implementation
|
32
|
+
const usingPreviewAPIMode = shouldUsePreviewAPIMode();
|
33
|
+
|
34
|
+
const RNPaywalls = usingPreviewAPIMode ? previewNativeModuleRNPaywalls : NativeModules.RNPaywalls;
|
35
|
+
const RNCustomerCenter = usingPreviewAPIMode ? previewNativeModuleRNCustomerCenter : NativeModules.RNCustomerCenter;
|
31
36
|
|
32
37
|
if (!RNPaywalls) {
|
33
38
|
throw new Error(LINKING_ERROR);
|
@@ -249,6 +254,7 @@ export default class RevenueCatUI {
|
|
249
254
|
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
250
255
|
fontFamily,
|
251
256
|
}: PresentPaywallParams = {}): Promise<PAYWALL_RESULT> {
|
257
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentPaywall");
|
252
258
|
return RNPaywalls.presentPaywall(
|
253
259
|
offering?.identifier ?? null,
|
254
260
|
displayCloseButton,
|
@@ -275,6 +281,7 @@ export default class RevenueCatUI {
|
|
275
281
|
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
276
282
|
fontFamily,
|
277
283
|
}: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT> {
|
284
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentPaywallIfNeeded");
|
278
285
|
return RNPaywalls.presentPaywallIfNeeded(
|
279
286
|
requiredEntitlementIdentifier,
|
280
287
|
offering?.identifier ?? null,
|
@@ -462,6 +469,7 @@ export default class RevenueCatUI {
|
|
462
469
|
});
|
463
470
|
}
|
464
471
|
|
472
|
+
RevenueCatUI.logWarningIfPreviewAPIMode("presentCustomerCenter");
|
465
473
|
return RNCustomerCenter.presentCustomerCenter();
|
466
474
|
}
|
467
475
|
|
@@ -470,4 +478,11 @@ export default class RevenueCatUI {
|
|
470
478
|
*/
|
471
479
|
public static PaywallFooterContainerView: React.FC<FooterPaywallViewProps> =
|
472
480
|
RevenueCatUI.OriginalTemplatePaywallFooterContainerView;
|
481
|
+
|
482
|
+
private static logWarningIfPreviewAPIMode(methodName: string) {
|
483
|
+
if (usingPreviewAPIMode) {
|
484
|
+
// tslint:disable-next-line:no-console
|
485
|
+
console.warn(`[RevenueCatUI] [${methodName}] This method is available but has no effect in Preview API mode.`);
|
486
|
+
}
|
487
|
+
}
|
473
488
|
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal"
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Preview implementation of the native module for Preview API mode, i.e. for environments where native modules are not available
|
5
|
+
* (like Expo Go).
|
6
|
+
*/
|
7
|
+
export const previewNativeModuleRNPaywalls = {
|
8
|
+
|
9
|
+
presentPaywall: () => {
|
10
|
+
return PAYWALL_RESULT.NOT_PRESENTED
|
11
|
+
},
|
12
|
+
|
13
|
+
presentPaywallIfNeeded: () => {
|
14
|
+
return PAYWALL_RESULT.NOT_PRESENTED
|
15
|
+
},
|
16
|
+
|
17
|
+
}
|
18
|
+
|
19
|
+
export const previewNativeModuleRNCustomerCenter = {
|
20
|
+
|
21
|
+
presentCustomerCenter: () => {
|
22
|
+
return null
|
23
|
+
}
|
24
|
+
|
25
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { NativeModules } from "react-native";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Detects if the app is running in an environment where native modules are not available
|
5
|
+
* (like Expo Go) or if the required native modules are missing.
|
6
|
+
*
|
7
|
+
* @returns {boolean} True if the app is running in an environment where native modules are not available
|
8
|
+
* (like Expo Go) or if the required native modules are missing.
|
9
|
+
*/
|
10
|
+
export function shouldUsePreviewAPIMode(): boolean {
|
11
|
+
let usePreviewAPIMode = isExpoGo();
|
12
|
+
if (usePreviewAPIMode) {
|
13
|
+
console.log('Expo Go app detected. Using RevenueCat in Preview API Mode.');
|
14
|
+
}
|
15
|
+
return usePreviewAPIMode;
|
16
|
+
}
|
17
|
+
|
18
|
+
declare global {
|
19
|
+
var expo: {
|
20
|
+
modules?: {
|
21
|
+
ExpoGo?: boolean;
|
22
|
+
};
|
23
|
+
};
|
24
|
+
}
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Detects if the app is running in Expo Go
|
28
|
+
*/
|
29
|
+
function isExpoGo(): boolean {
|
30
|
+
if (!!NativeModules.RNPaywalls && !!NativeModules.RNCustomerCenter) {
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
|
34
|
+
return !!globalThis.expo?.modules?.ExpoGo;
|
35
|
+
}
|