react-native-purchases-ui 7.21.1 → 8.0.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/RNPaywalls.podspec +2 -2
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/revenuecat/purchases/react/ui/BasePaywallViewManager.kt +38 -10
- package/android/src/main/java/com/revenuecat/purchases/react/ui/FontAssetManager.kt +68 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallEvent.kt +3 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallFooterViewManager.kt +4 -2
- package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallViewManager.kt +4 -1
- package/ios/PaywallViewManager.m +2 -0
- package/ios/PaywallViewWrapper.h +2 -0
- package/ios/PaywallViewWrapper.m +16 -3
- package/ios/RCPaywallFooterViewManager.m +2 -0
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +23 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.tsx +28 -1
package/RNPaywalls.podspec
CHANGED
@@ -10,13 +10,13 @@ Pod::Spec.new do |spec|
|
|
10
10
|
spec.authors = package['author']
|
11
11
|
spec.homepage = "https://github.com/RevenueCat/react-native-purchases"
|
12
12
|
spec.license = package['license']
|
13
|
-
spec.platform = :ios, "
|
13
|
+
spec.platform = :ios, "13.0"
|
14
14
|
|
15
15
|
spec.source = { :git => "https://github.com/RevenueCat/react-native-purchases.git" }
|
16
16
|
spec.source_files = "ios/**/*.{h,m,swift}"
|
17
17
|
spec.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
|
18
18
|
|
19
19
|
spec.dependency "React-Core"
|
20
|
-
spec.dependency "PurchasesHybridCommonUI",
|
20
|
+
spec.dependency "PurchasesHybridCommonUI", "10.0.0-beta.1"
|
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 '
|
62
|
+
versionName '8.0.0-beta.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:9.
|
94
|
+
implementation 'com.revenuecat.purchases:purchases-hybrid-common-ui:9.8.0'
|
95
95
|
implementation 'androidx.compose.ui:ui-android:1.5.4'
|
96
96
|
implementation "androidx.appcompat:appcompat:1.6.1"
|
97
97
|
}
|
@@ -9,32 +9,58 @@ import com.facebook.react.uimanager.ThemedReactContext
|
|
9
9
|
import com.facebook.react.uimanager.annotations.ReactProp
|
10
10
|
import com.facebook.react.uimanager.events.RCTEventEmitter
|
11
11
|
import com.revenuecat.purchases.hybridcommon.ui.PaywallListenerWrapper
|
12
|
+
import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
|
13
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
|
12
14
|
|
13
15
|
internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>() {
|
14
16
|
|
17
|
+
companion object PropNames {
|
18
|
+
private const val PROP_OPTIONS = "options"
|
19
|
+
private const val OPTION_OFFERING = "offering"
|
20
|
+
private const val OFFERING_IDENTIFIER = "identifier"
|
21
|
+
private const val OPTION_FONT_FAMILY = "fontFamily"
|
22
|
+
}
|
23
|
+
|
15
24
|
abstract fun setOfferingId(view: T, identifier: String)
|
16
25
|
|
17
26
|
override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
|
18
27
|
return MapBuilder.builder<String, Any>()
|
28
|
+
.putEvent(PaywallEvent.ON_PURCHASE_STARTED)
|
19
29
|
.putEvent(PaywallEvent.ON_PURCHASE_COMPLETED)
|
20
30
|
.putEvent(PaywallEvent.ON_PURCHASE_ERROR)
|
21
31
|
.putEvent(PaywallEvent.ON_PURCHASE_CANCELLED)
|
32
|
+
.putEvent(PaywallEvent.ON_RESTORE_STARTED)
|
22
33
|
.putEvent(PaywallEvent.ON_RESTORE_COMPLETED)
|
23
34
|
.putEvent(PaywallEvent.ON_RESTORE_ERROR)
|
24
35
|
.putEvent(PaywallEvent.ON_DISMISS)
|
25
36
|
.build()
|
26
37
|
}
|
27
38
|
|
28
|
-
@
|
39
|
+
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
40
|
+
abstract fun setFontFamily(view: T, customFontProvider: CustomFontProvider)
|
41
|
+
|
42
|
+
@ReactProp(name = PROP_OPTIONS)
|
29
43
|
fun setOptions(view: T, options: ReadableMap?) {
|
30
44
|
options?.let { props ->
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
45
|
+
setOfferingIdProp(view, props)
|
46
|
+
setFontFamilyProp(view, props)
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
private fun setOfferingIdProp(view: T, props: ReadableMap?) {
|
51
|
+
val offeringIdentifier = props?.getDynamic(OPTION_OFFERING)?.asMap()?.getString(OFFERING_IDENTIFIER)
|
52
|
+
offeringIdentifier?.let {
|
53
|
+
setOfferingId(view, it)
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
58
|
+
private fun setFontFamilyProp(view: T, props: ReadableMap?) {
|
59
|
+
props?.getString(OPTION_FONT_FAMILY)?.let {
|
60
|
+
FontAssetManager.getFontFamily(fontFamilyName = it, view.resources.assets)?.let {
|
61
|
+
setFontFamily(view, CustomFontProvider(it))
|
37
62
|
}
|
63
|
+
|
38
64
|
}
|
39
65
|
}
|
40
66
|
|
@@ -46,7 +72,10 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
46
72
|
) = object : PaywallListenerWrapper() {
|
47
73
|
|
48
74
|
override fun onPurchaseStarted(rcPackage: Map<String, Any?>) {
|
49
|
-
|
75
|
+
val payload = mapOf(
|
76
|
+
PaywallEventKey.PACKAGE to rcPackage,
|
77
|
+
)
|
78
|
+
emitEvent(themedReactContext, view.id, PaywallEvent.ON_PURCHASE_STARTED, payload)
|
50
79
|
}
|
51
80
|
|
52
81
|
override fun onPurchaseCompleted(
|
@@ -70,7 +99,7 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
70
99
|
}
|
71
100
|
|
72
101
|
override fun onRestoreStarted() {
|
73
|
-
|
102
|
+
emitEvent(themedReactContext, view.id, PaywallEvent.ON_RESTORE_STARTED)
|
74
103
|
}
|
75
104
|
|
76
105
|
override fun onRestoreCompleted(customerInfo: Map<String, Any?>) {
|
@@ -136,4 +165,3 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
136
165
|
)
|
137
166
|
}
|
138
167
|
}
|
139
|
-
|
@@ -0,0 +1,68 @@
|
|
1
|
+
package com.revenuecat.purchases.react.ui
|
2
|
+
|
3
|
+
import android.content.res.AssetManager
|
4
|
+
import androidx.compose.ui.text.font.Font
|
5
|
+
import androidx.compose.ui.text.font.FontFamily
|
6
|
+
import androidx.compose.ui.text.font.FontStyle
|
7
|
+
import androidx.compose.ui.text.font.FontWeight
|
8
|
+
|
9
|
+
|
10
|
+
internal object FontAssetManager {
|
11
|
+
@get:Synchronized
|
12
|
+
private var fontFamilyCache = mapOf<String, FontFamily>()
|
13
|
+
private val FILE_EXTENSIONS = arrayOf(".ttf", ".otf")
|
14
|
+
|
15
|
+
private const val FONT_PATH = "fonts/"
|
16
|
+
|
17
|
+
private enum class FontStyleExtension(
|
18
|
+
val extension: String,
|
19
|
+
val weight: FontWeight,
|
20
|
+
val style: FontStyle
|
21
|
+
) {
|
22
|
+
REGULAR("", FontWeight.Normal, FontStyle.Normal),
|
23
|
+
BOLD("_bold", FontWeight.Bold, FontStyle.Normal),
|
24
|
+
ITALIC("_italic", FontWeight.Normal, FontStyle.Italic),
|
25
|
+
BOLD_ITALIC("_bold_italic", FontWeight.Bold, FontStyle.Italic);
|
26
|
+
|
27
|
+
companion object {
|
28
|
+
fun possibleFileNames(fontFamilyName: String) = values().flatMap { styleExtension ->
|
29
|
+
FILE_EXTENSIONS.map { fileNameExtension ->
|
30
|
+
"$fontFamilyName${styleExtension.extension}$fileNameExtension"
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
@Synchronized
|
37
|
+
fun getFontFamily(fontFamilyName: String, assetManager: AssetManager): FontFamily? {
|
38
|
+
val cachedFontFamily = fontFamilyCache[fontFamilyName]
|
39
|
+
if (cachedFontFamily != null) {
|
40
|
+
return cachedFontFamily
|
41
|
+
}
|
42
|
+
val existingFontFileNames = assetManager.list(FONT_PATH)?.toList() ?: emptyList()
|
43
|
+
val fontsInFamily = mutableListOf<Font>()
|
44
|
+
FontStyleExtension.values().forEach { styleExtension ->
|
45
|
+
FILE_EXTENSIONS.forEach { fileNameExtension ->
|
46
|
+
val fileName = "$fontFamilyName${styleExtension.extension}$fileNameExtension"
|
47
|
+
if (existingFontFileNames.contains(fileName)) {
|
48
|
+
fontsInFamily.add(
|
49
|
+
Font(
|
50
|
+
path = FONT_PATH + fileName,
|
51
|
+
assetManager = assetManager,
|
52
|
+
weight = styleExtension.weight,
|
53
|
+
style = styleExtension.style
|
54
|
+
)
|
55
|
+
)
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
return if (fontsInFamily.isNotEmpty()) {
|
61
|
+
val fontFamily = FontFamily(fontsInFamily)
|
62
|
+
fontFamilyCache = fontFamilyCache + (fontFamilyName to fontFamily)
|
63
|
+
fontFamily
|
64
|
+
} else {
|
65
|
+
null
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
@@ -1,15 +1,18 @@
|
|
1
1
|
package com.revenuecat.purchases.react.ui
|
2
2
|
|
3
3
|
internal enum class PaywallEvent(val eventName: String) {
|
4
|
+
ON_PURCHASE_STARTED("onPurchaseStarted"),
|
4
5
|
ON_PURCHASE_COMPLETED("onPurchaseCompleted"),
|
5
6
|
ON_PURCHASE_ERROR("onPurchaseError"),
|
6
7
|
ON_PURCHASE_CANCELLED("onPurchaseCancelled"),
|
8
|
+
ON_RESTORE_STARTED("onRestoreStarted"),
|
7
9
|
ON_RESTORE_COMPLETED("onRestoreCompleted"),
|
8
10
|
ON_RESTORE_ERROR("onRestoreError"),
|
9
11
|
ON_DISMISS("onDismiss");
|
10
12
|
}
|
11
13
|
|
12
14
|
internal enum class PaywallEventKey(val key: String) {
|
15
|
+
PACKAGE("packageBeingPurchased"),
|
13
16
|
CUSTOMER_INFO("customerInfo"),
|
14
17
|
STORE_TRANSACTION("storeTransaction"),
|
15
18
|
ERROR("error")
|
@@ -3,11 +3,10 @@ package com.revenuecat.purchases.react.ui
|
|
3
3
|
import androidx.core.view.children
|
4
4
|
import com.facebook.react.uimanager.ThemedReactContext
|
5
5
|
import com.facebook.react.uimanager.UIManagerModule
|
6
|
-
import com.facebook.react.uimanager.events.RCTEventEmitter
|
7
6
|
import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
|
7
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
|
8
8
|
import com.revenuecat.purchases.ui.revenuecatui.views.PaywallFooterView
|
9
9
|
|
10
|
-
|
11
10
|
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
12
11
|
internal class PaywallFooterViewManager : BasePaywallViewManager<PaywallFooterView>() {
|
13
12
|
|
@@ -66,4 +65,7 @@ internal class PaywallFooterViewManager : BasePaywallViewManager<PaywallFooterVi
|
|
66
65
|
view.setOfferingId(identifier)
|
67
66
|
}
|
68
67
|
|
68
|
+
override fun setFontFamily(view: PaywallFooterView, customFontProvider: CustomFontProvider) {
|
69
|
+
view.setFontProvider(customFontProvider)
|
70
|
+
}
|
69
71
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
package com.revenuecat.purchases.react.ui
|
2
2
|
|
3
3
|
import com.facebook.react.uimanager.ThemedReactContext
|
4
|
-
import com.facebook.react.uimanager.events.RCTEventEmitter
|
5
4
|
import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
|
5
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
|
6
6
|
import com.revenuecat.purchases.ui.revenuecatui.views.PaywallView
|
7
7
|
|
8
8
|
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
@@ -31,4 +31,7 @@ internal class PaywallViewManager : BasePaywallViewManager<PaywallView>() {
|
|
31
31
|
view.setOfferingId(identifier)
|
32
32
|
}
|
33
33
|
|
34
|
+
override fun setFontFamily(view: PaywallView, customFontProvider: CustomFontProvider) {
|
35
|
+
view.setFontProvider(customFontProvider)
|
36
|
+
}
|
34
37
|
}
|
package/ios/PaywallViewManager.m
CHANGED
@@ -22,9 +22,11 @@
|
|
22
22
|
|
23
23
|
RCT_EXPORT_VIEW_PROPERTY(options, NSDictionary);
|
24
24
|
|
25
|
+
RCT_EXPORT_VIEW_PROPERTY(onPurchaseStarted, RCTDirectEventBlock)
|
25
26
|
RCT_EXPORT_VIEW_PROPERTY(onPurchaseCompleted, RCTDirectEventBlock)
|
26
27
|
RCT_EXPORT_VIEW_PROPERTY(onPurchaseError, RCTDirectEventBlock)
|
27
28
|
RCT_EXPORT_VIEW_PROPERTY(onPurchaseCancelled, RCTDirectEventBlock)
|
29
|
+
RCT_EXPORT_VIEW_PROPERTY(onRestoreStarted, RCTDirectEventBlock)
|
28
30
|
RCT_EXPORT_VIEW_PROPERTY(onRestoreCompleted, RCTDirectEventBlock)
|
29
31
|
RCT_EXPORT_VIEW_PROPERTY(onRestoreError, RCTDirectEventBlock)
|
30
32
|
RCT_EXPORT_VIEW_PROPERTY(onDismiss, RCTDirectEventBlock)
|
package/ios/PaywallViewWrapper.h
CHANGED
@@ -13,9 +13,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
13
13
|
|
14
14
|
@interface PaywallViewWrapper : UIView <RCPaywallViewControllerDelegateWrapper>
|
15
15
|
|
16
|
+
@property (nonatomic, copy) RCTDirectEventBlock onPurchaseStarted;
|
16
17
|
@property (nonatomic, copy) RCTDirectEventBlock onPurchaseCompleted;
|
17
18
|
@property (nonatomic, copy) RCTDirectEventBlock onPurchaseError;
|
18
19
|
@property (nonatomic, copy) RCTDirectEventBlock onPurchaseCancelled;
|
20
|
+
@property (nonatomic, copy) RCTDirectEventBlock onRestoreStarted;
|
19
21
|
@property (nonatomic, copy) RCTDirectEventBlock onRestoreCompleted;
|
20
22
|
@property (nonatomic, copy) RCTDirectEventBlock onRestoreError;
|
21
23
|
@property (nonatomic, copy) RCTDirectEventBlock onDismiss;
|
package/ios/PaywallViewWrapper.m
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
static NSString *const KeyCustomerInfo = @"customerInfo";
|
15
15
|
static NSString *const KeyStoreTransaction = @"storeTransaction";
|
16
16
|
static NSString *const KeyError = @"error";
|
17
|
+
static NSString *const KeyPackage = @"packageBeingPurchased";
|
17
18
|
|
18
19
|
API_AVAILABLE(ios(15.0))
|
19
20
|
@interface PaywallViewWrapper ()
|
@@ -37,7 +38,7 @@ API_AVAILABLE(ios(15.0))
|
|
37
38
|
|
38
39
|
- (void)layoutSubviews {
|
39
40
|
[super layoutSubviews];
|
40
|
-
|
41
|
+
|
41
42
|
// Need to wait for this view to be in the hierarchy to look for the parent UIVC.
|
42
43
|
// This is required to add a SwiftUI `UIHostingController` to the hierarchy in a way that allows
|
43
44
|
// UIKit to read properties from the environment, like traits and safe area.
|
@@ -70,13 +71,21 @@ API_AVAILABLE(ios(15.0))
|
|
70
71
|
[self.paywallViewController updateWithOfferingIdentifier:identifier];
|
71
72
|
}
|
72
73
|
}
|
74
|
+
|
75
|
+
NSString *fontFamily = options[@"fontFamily"];
|
76
|
+
if (fontFamily && [fontFamily isKindOfClass:[NSString class]] && fontFamily.length > 0) {
|
77
|
+
[self.paywallViewController updateFontWithFontName:fontFamily];
|
78
|
+
}
|
73
79
|
} else {
|
74
80
|
NSLog(@"Error: attempted to present paywalls on unsupported iOS version.");
|
75
81
|
}
|
76
82
|
}
|
77
83
|
|
78
|
-
- (void)
|
79
|
-
|
84
|
+
- (void)paywallViewController:(RCPaywallViewController *)controller
|
85
|
+
didStartPurchaseWithPackage:(NSDictionary *)packageDictionary API_AVAILABLE(ios(15.0)) {
|
86
|
+
self.onPurchaseStarted(@{
|
87
|
+
KeyPackage: packageDictionary,
|
88
|
+
});
|
80
89
|
}
|
81
90
|
|
82
91
|
- (void)paywallViewController:(RCPaywallViewController *)controller
|
@@ -92,6 +101,10 @@ didFinishPurchasingWithCustomerInfoDictionary:(NSDictionary *)customerInfoDictio
|
|
92
101
|
self.onPurchaseCancelled(nil);
|
93
102
|
}
|
94
103
|
|
104
|
+
- (void)paywallViewControllerDidStartRestore:(RCPaywallViewController *)controller API_AVAILABLE(ios(15.0)) {
|
105
|
+
self.onRestoreStarted(nil);
|
106
|
+
}
|
107
|
+
|
95
108
|
- (void)paywallViewController:(RCPaywallViewController *)controller
|
96
109
|
didFailPurchasingWithErrorDictionary:(NSDictionary *)errorDictionary API_AVAILABLE(ios(15.0)) {
|
97
110
|
self.onPurchaseError(@{
|
@@ -79,9 +79,11 @@ NS_ASSUME_NONNULL_END
|
|
79
79
|
|
80
80
|
RCT_EXPORT_VIEW_PROPERTY(options, NSDictionary);
|
81
81
|
|
82
|
+
RCT_EXPORT_VIEW_PROPERTY(onPurchaseStarted, RCTDirectEventBlock)
|
82
83
|
RCT_EXPORT_VIEW_PROPERTY(onPurchaseCompleted, RCTDirectEventBlock)
|
83
84
|
RCT_EXPORT_VIEW_PROPERTY(onPurchaseError, RCTDirectEventBlock)
|
84
85
|
RCT_EXPORT_VIEW_PROPERTY(onPurchaseCancelled, RCTDirectEventBlock)
|
86
|
+
RCT_EXPORT_VIEW_PROPERTY(onRestoreStarted, RCTDirectEventBlock)
|
85
87
|
RCT_EXPORT_VIEW_PROPERTY(onRestoreCompleted, RCTDirectEventBlock)
|
86
88
|
RCT_EXPORT_VIEW_PROPERTY(onRestoreError, RCTDirectEventBlock)
|
87
89
|
RCT_EXPORT_VIEW_PROPERTY(onDismiss, RCTDirectEventBlock)
|
package/lib/commonjs/index.js
CHANGED
@@ -86,18 +86,22 @@ class RevenueCatUI {
|
|
86
86
|
style,
|
87
87
|
children,
|
88
88
|
options,
|
89
|
+
onPurchaseStarted,
|
89
90
|
onPurchaseCompleted,
|
90
91
|
onPurchaseError,
|
91
92
|
onPurchaseCancelled,
|
93
|
+
onRestoreStarted,
|
92
94
|
onRestoreCompleted,
|
93
95
|
onRestoreError,
|
94
96
|
onDismiss
|
95
97
|
}) => /*#__PURE__*/_react.default.createElement(InternalPaywall, {
|
96
98
|
options: options,
|
97
99
|
children: children,
|
100
|
+
onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
|
98
101
|
onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
|
99
102
|
onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
|
100
103
|
onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
|
104
|
+
onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
|
101
105
|
onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
|
102
106
|
onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
|
103
107
|
onDismiss: () => onDismiss && onDismiss(),
|
@@ -109,9 +113,11 @@ class RevenueCatUI {
|
|
109
113
|
style,
|
110
114
|
children,
|
111
115
|
options,
|
116
|
+
onPurchaseStarted,
|
112
117
|
onPurchaseCompleted,
|
113
118
|
onPurchaseError,
|
114
119
|
onPurchaseCancelled,
|
120
|
+
onRestoreStarted,
|
115
121
|
onRestoreCompleted,
|
116
122
|
onRestoreError,
|
117
123
|
onDismiss
|
@@ -146,9 +152,11 @@ class RevenueCatUI {
|
|
146
152
|
marginTop: -20
|
147
153
|
},
|
148
154
|
options: options,
|
155
|
+
onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
|
149
156
|
onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
|
150
157
|
onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
|
151
158
|
onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
|
159
|
+
onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
|
152
160
|
onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
|
153
161
|
onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
|
154
162
|
onDismiss: () => onDismiss && onDismiss()
|
@@ -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","prototype","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","RNPaywalls","NativeModules","Error","eventEmitter","NativeEventEmitter","InternalPaywall","UIManager","getViewManagerConfig","requireNativeComponent","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","PAYWALL_RESULT","presentPaywall","offering","displayCloseButton","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","useState","useEffect","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","View","ScrollView","contentContainerStyle","flexGrow","marginTop","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAWA,IAAAC,4BAAA,GAAAD,OAAA;AAMA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAmE,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,SAAAF,wBAAAE,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAInE,MAAMY,aAAa,GAChB,oFAAmF,GACpFC,qBAAQ,CAACC,MAAM,CAAC;EAACC,GAAG,EAAE,gCAAgC;EAAElB,OAAO,EAAE;AAAE,CAAC,CAAC,GACrE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMmB,UAAU,GAAGC,0BAAa,CAACD,UAAU;AAE3C,IAAI,CAACA,UAAU,EAAE;EACf,MAAM,IAAIE,KAAK,CAACN,aAAa,CAAC;AAChC;AAEA,MAAMO,YAAY,GAAG,IAAIC,+BAAkB,CAACJ,UAAU,CAAC;AAEvD,MAAMK,eAAe,GACnBC,sBAAS,CAACC,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,GAC7C,IAAAC,mCAAsB,EAA6B,SAAS,CAAC,GAC7D,MAAM;EACN,MAAM,IAAIN,KAAK,CAACN,aAAa,CAAC;AAChC,CAAC;AAEL,MAAMa,yBAAyB,GAAGH,sBAAS,CAACC,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,GAC/E,IAAAC,mCAAsB,EAAyB,qBAAqB,CAAC,GACrE,MAAM;EACN,MAAM,IAAIN,KAAK,CAACN,aAAa,CAAC;AAChC,CAAC;;
|
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","prototype","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","RNPaywalls","NativeModules","Error","eventEmitter","NativeEventEmitter","InternalPaywall","UIManager","getViewManagerConfig","requireNativeComponent","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","PAYWALL_RESULT","presentPaywall","offering","displayCloseButton","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","useState","useEffect","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","View","ScrollView","contentContainerStyle","flexGrow","marginTop","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
@@ -73,18 +73,22 @@ export default class RevenueCatUI {
|
|
73
73
|
style,
|
74
74
|
children,
|
75
75
|
options,
|
76
|
+
onPurchaseStarted,
|
76
77
|
onPurchaseCompleted,
|
77
78
|
onPurchaseError,
|
78
79
|
onPurchaseCancelled,
|
80
|
+
onRestoreStarted,
|
79
81
|
onRestoreCompleted,
|
80
82
|
onRestoreError,
|
81
83
|
onDismiss
|
82
84
|
}) => /*#__PURE__*/React.createElement(InternalPaywall, {
|
83
85
|
options: options,
|
84
86
|
children: children,
|
87
|
+
onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
|
85
88
|
onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
|
86
89
|
onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
|
87
90
|
onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
|
91
|
+
onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
|
88
92
|
onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
|
89
93
|
onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
|
90
94
|
onDismiss: () => onDismiss && onDismiss(),
|
@@ -96,9 +100,11 @@ export default class RevenueCatUI {
|
|
96
100
|
style,
|
97
101
|
children,
|
98
102
|
options,
|
103
|
+
onPurchaseStarted,
|
99
104
|
onPurchaseCompleted,
|
100
105
|
onPurchaseError,
|
101
106
|
onPurchaseCancelled,
|
107
|
+
onRestoreStarted,
|
102
108
|
onRestoreCompleted,
|
103
109
|
onRestoreError,
|
104
110
|
onDismiss
|
@@ -133,9 +139,11 @@ export default class RevenueCatUI {
|
|
133
139
|
marginTop: -20
|
134
140
|
},
|
135
141
|
options: options,
|
142
|
+
onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
|
136
143
|
onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
|
137
144
|
onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
|
138
145
|
onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
|
146
|
+
onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
|
139
147
|
onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
|
140
148
|
onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
|
141
149
|
onDismiss: () => onDismiss && onDismiss()
|
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","Error","eventEmitter","InternalPaywall","getViewManagerConfig","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","presentPaywall","offering","displayCloseButton","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","contentContainerStyle","flexGrow","marginTop"],"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,QAGT,2CAA2C;AAClD,OAAOC,KAAK,IAAoBC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElE,SAASH,cAAc,QAAQ,2CAA2C;AAE1E,MAAMI,aAAa,GAChB,oFAAmF,GACpFT,QAAQ,CAACU,MAAM,CAAC;EAACC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAE,CAAC,CAAC,GACrE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,UAAU,GAAGd,aAAa,CAACc,UAAU;AAE3C,IAAI,CAACA,UAAU,EAAE;EACf,MAAM,IAAIC,KAAK,CAACL,aAAa,CAAC;AAChC;AAEA,MAAMM,YAAY,GAAG,IAAIjB,kBAAkB,CAACe,UAAU,CAAC;AAEvD,MAAMG,eAAe,GACnBb,SAAS,CAACc,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,GAC7ChB,sBAAsB,CAA6B,SAAS,CAAC,GAC7D,MAAM;EACN,MAAM,IAAIa,KAAK,CAACL,aAAa,CAAC;AAChC,CAAC;AAEL,MAAMS,yBAAyB,GAAGf,SAAS,CAACc,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,GAC/EhB,sBAAsB,CAAyB,qBAAqB,CAAC,GACrE,MAAM;EACN,MAAM,IAAIa,KAAK,CAACL,aAAa,CAAC;AAChC,CAAC;;
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","requireNativeComponent","ScrollView","UIManager","View","PAYWALL_RESULT","React","useEffect","useState","LINKING_ERROR","select","ios","default","RNPaywalls","Error","eventEmitter","InternalPaywall","getViewManagerConfig","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","presentPaywall","offering","displayCloseButton","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","contentContainerStyle","flexGrow","marginTop"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { type StyleProp, type ViewStyle } from "react-native";
|
2
|
-
import { type CustomerInfo, PAYWALL_RESULT, type PurchasesError, type PurchasesOffering, type PurchasesStoreTransaction } from "@revenuecat/purchases-typescript-internal";
|
2
|
+
import { type CustomerInfo, PAYWALL_RESULT, type PurchasesError, type PurchasesOffering, type PurchasesPackage, type PurchasesStoreTransaction } from "@revenuecat/purchases-typescript-internal";
|
3
3
|
import React, { type ReactNode } from "react";
|
4
4
|
export { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
|
5
5
|
export interface PresentPaywallParams {
|
@@ -19,7 +19,21 @@ export type PresentPaywallIfNeededParams = PresentPaywallParams & {
|
|
19
19
|
requiredEntitlementIdentifier: string;
|
20
20
|
};
|
21
21
|
export interface PaywallViewOptions {
|
22
|
+
/**
|
23
|
+
* The offering to load the paywall with. This will be the "current" offering by default.
|
24
|
+
*/
|
22
25
|
offering?: PurchasesOffering | null;
|
26
|
+
/**
|
27
|
+
* The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
|
28
|
+
* sure to run `npx react-native-asset` so it's added to the native components.
|
29
|
+
* Supported font types are `.ttf` and `.otf`.
|
30
|
+
* Make sure the file names follow the convention:
|
31
|
+
* - Regular: MyFont.ttf/MyFont.otf
|
32
|
+
* - Bold: MyFont_bold.ttf/MyFont_bold.otf
|
33
|
+
* - Italic: MyFont_italic.ttf/MyFont_italic.otf
|
34
|
+
* - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
|
35
|
+
*/
|
36
|
+
fontFamily?: string | null;
|
23
37
|
}
|
24
38
|
export interface FullScreenPaywallViewOptions extends PaywallViewOptions {
|
25
39
|
}
|
@@ -29,6 +43,9 @@ type FullScreenPaywallViewProps = {
|
|
29
43
|
style?: StyleProp<ViewStyle>;
|
30
44
|
children?: ReactNode;
|
31
45
|
options?: FullScreenPaywallViewOptions;
|
46
|
+
onPurchaseStarted?: ({ packageBeingPurchased }: {
|
47
|
+
packageBeingPurchased: PurchasesPackage;
|
48
|
+
}) => void;
|
32
49
|
onPurchaseCompleted?: ({ customerInfo, storeTransaction }: {
|
33
50
|
customerInfo: CustomerInfo;
|
34
51
|
storeTransaction: PurchasesStoreTransaction;
|
@@ -37,6 +54,7 @@ type FullScreenPaywallViewProps = {
|
|
37
54
|
error: PurchasesError;
|
38
55
|
}) => void;
|
39
56
|
onPurchaseCancelled?: () => void;
|
57
|
+
onRestoreStarted?: () => void;
|
40
58
|
onRestoreCompleted?: ({ customerInfo }: {
|
41
59
|
customerInfo: CustomerInfo;
|
42
60
|
}) => void;
|
@@ -49,6 +67,9 @@ type FooterPaywallViewProps = {
|
|
49
67
|
style?: StyleProp<ViewStyle>;
|
50
68
|
children?: ReactNode;
|
51
69
|
options?: FooterPaywallViewOptions;
|
70
|
+
onPurchaseStarted?: ({ packageBeingPurchased }: {
|
71
|
+
packageBeingPurchased: PurchasesPackage;
|
72
|
+
}) => void;
|
52
73
|
onPurchaseCompleted?: ({ customerInfo, storeTransaction }: {
|
53
74
|
customerInfo: CustomerInfo;
|
54
75
|
storeTransaction: PurchasesStoreTransaction;
|
@@ -57,6 +78,7 @@ type FooterPaywallViewProps = {
|
|
57
78
|
error: PurchasesError;
|
58
79
|
}) => void;
|
59
80
|
onPurchaseCancelled?: () => void;
|
81
|
+
onRestoreStarted?: () => void;
|
60
82
|
onRestoreCompleted?: ({ customerInfo }: {
|
61
83
|
customerInfo: CustomerInfo;
|
62
84
|
}) => void;
|
@@ -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,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
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": "
|
4
|
+
"version": "8.0.0-beta.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,6 +114,6 @@
|
|
114
114
|
},
|
115
115
|
"dependencies": {
|
116
116
|
"@revenuecat/purchases-typescript-internal": "8.10.1",
|
117
|
-
"react-native-purchases": "
|
117
|
+
"react-native-purchases": "8.0.0-beta.1"
|
118
118
|
}
|
119
119
|
}
|
package/src/index.tsx
CHANGED
@@ -12,7 +12,7 @@ import {
|
|
12
12
|
import {
|
13
13
|
type CustomerInfo,
|
14
14
|
PAYWALL_RESULT, type PurchasesError,
|
15
|
-
type PurchasesOffering,
|
15
|
+
type PurchasesOffering, type PurchasesPackage,
|
16
16
|
type PurchasesStoreTransaction
|
17
17
|
} from "@revenuecat/purchases-typescript-internal";
|
18
18
|
import React, { type ReactNode, useEffect, useState } from "react";
|
@@ -66,7 +66,22 @@ export type PresentPaywallIfNeededParams = PresentPaywallParams & {
|
|
66
66
|
}
|
67
67
|
|
68
68
|
export interface PaywallViewOptions {
|
69
|
+
/**
|
70
|
+
* The offering to load the paywall with. This will be the "current" offering by default.
|
71
|
+
*/
|
69
72
|
offering?: PurchasesOffering | null;
|
73
|
+
|
74
|
+
/**
|
75
|
+
* The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
|
76
|
+
* sure to run `npx react-native-asset` so it's added to the native components.
|
77
|
+
* Supported font types are `.ttf` and `.otf`.
|
78
|
+
* Make sure the file names follow the convention:
|
79
|
+
* - Regular: MyFont.ttf/MyFont.otf
|
80
|
+
* - Bold: MyFont_bold.ttf/MyFont_bold.otf
|
81
|
+
* - Italic: MyFont_italic.ttf/MyFont_italic.otf
|
82
|
+
* - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
|
83
|
+
*/
|
84
|
+
fontFamily?: string | null;
|
70
85
|
}
|
71
86
|
|
72
87
|
export interface FullScreenPaywallViewOptions extends PaywallViewOptions {
|
@@ -82,12 +97,14 @@ type FullScreenPaywallViewProps = {
|
|
82
97
|
style?: StyleProp<ViewStyle>;
|
83
98
|
children?: ReactNode;
|
84
99
|
options?: FullScreenPaywallViewOptions;
|
100
|
+
onPurchaseStarted?: ({packageBeingPurchased}: { packageBeingPurchased: PurchasesPackage }) => void;
|
85
101
|
onPurchaseCompleted?: ({
|
86
102
|
customerInfo,
|
87
103
|
storeTransaction
|
88
104
|
}: { customerInfo: CustomerInfo, storeTransaction: PurchasesStoreTransaction }) => void;
|
89
105
|
onPurchaseError?: ({error}: { error: PurchasesError }) => void;
|
90
106
|
onPurchaseCancelled?: () => void;
|
107
|
+
onRestoreStarted?: () => void;
|
91
108
|
onRestoreCompleted?: ({customerInfo}: { customerInfo: CustomerInfo }) => void;
|
92
109
|
onRestoreError?: ({error}: { error: PurchasesError }) => void;
|
93
110
|
onDismiss?: () => void;
|
@@ -97,12 +114,14 @@ type FooterPaywallViewProps = {
|
|
97
114
|
style?: StyleProp<ViewStyle>;
|
98
115
|
children?: ReactNode;
|
99
116
|
options?: FooterPaywallViewOptions;
|
117
|
+
onPurchaseStarted?: ({packageBeingPurchased}: { packageBeingPurchased: PurchasesPackage }) => void;
|
100
118
|
onPurchaseCompleted?: ({
|
101
119
|
customerInfo,
|
102
120
|
storeTransaction
|
103
121
|
}: { customerInfo: CustomerInfo, storeTransaction: PurchasesStoreTransaction }) => void;
|
104
122
|
onPurchaseError?: ({error}: { error: PurchasesError }) => void;
|
105
123
|
onPurchaseCancelled?: () => void;
|
124
|
+
onRestoreStarted?: () => void;
|
106
125
|
onRestoreCompleted?: ({customerInfo}: { customerInfo: CustomerInfo }) => void;
|
107
126
|
onRestoreError?: ({error}: { error: PurchasesError }) => void;
|
108
127
|
onDismiss?: () => void;
|
@@ -163,18 +182,22 @@ export default class RevenueCatUI {
|
|
163
182
|
style,
|
164
183
|
children,
|
165
184
|
options,
|
185
|
+
onPurchaseStarted,
|
166
186
|
onPurchaseCompleted,
|
167
187
|
onPurchaseError,
|
168
188
|
onPurchaseCancelled,
|
189
|
+
onRestoreStarted,
|
169
190
|
onRestoreCompleted,
|
170
191
|
onRestoreError,
|
171
192
|
onDismiss,
|
172
193
|
}) => (
|
173
194
|
<InternalPaywall options={options}
|
174
195
|
children={children}
|
196
|
+
onPurchaseStarted={(event: any) => onPurchaseStarted && onPurchaseStarted(event.nativeEvent)}
|
175
197
|
onPurchaseCompleted={(event: any) => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent)}
|
176
198
|
onPurchaseError={(event: any) => onPurchaseError && onPurchaseError(event.nativeEvent)}
|
177
199
|
onPurchaseCancelled={() => onPurchaseCancelled && onPurchaseCancelled()}
|
200
|
+
onRestoreStarted={() => onRestoreStarted && onRestoreStarted()}
|
178
201
|
onRestoreCompleted={(event: any) => onRestoreCompleted && onRestoreCompleted(event.nativeEvent)}
|
179
202
|
onRestoreError={(event: any) => onRestoreError && onRestoreError(event.nativeEvent)}
|
180
203
|
onDismiss={() => onDismiss && onDismiss()}
|
@@ -185,9 +208,11 @@ export default class RevenueCatUI {
|
|
185
208
|
style,
|
186
209
|
children,
|
187
210
|
options,
|
211
|
+
onPurchaseStarted,
|
188
212
|
onPurchaseCompleted,
|
189
213
|
onPurchaseError,
|
190
214
|
onPurchaseCancelled,
|
215
|
+
onRestoreStarted,
|
191
216
|
onRestoreCompleted,
|
192
217
|
onRestoreError,
|
193
218
|
onDismiss,
|
@@ -226,9 +251,11 @@ export default class RevenueCatUI {
|
|
226
251
|
<InternalPaywallFooterView
|
227
252
|
style={{marginTop: -20}}
|
228
253
|
options={options}
|
254
|
+
onPurchaseStarted={(event: any) => onPurchaseStarted && onPurchaseStarted(event.nativeEvent)}
|
229
255
|
onPurchaseCompleted={(event: any) => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent)}
|
230
256
|
onPurchaseError={(event: any) => onPurchaseError && onPurchaseError(event.nativeEvent)}
|
231
257
|
onPurchaseCancelled={() => onPurchaseCancelled && onPurchaseCancelled()}
|
258
|
+
onRestoreStarted={() => onRestoreStarted && onRestoreStarted()}
|
232
259
|
onRestoreCompleted={(event: any) => onRestoreCompleted && onRestoreCompleted(event.nativeEvent)}
|
233
260
|
onRestoreError={(event: any) => onRestoreError && onRestoreError(event.nativeEvent)}
|
234
261
|
onDismiss={() => onDismiss && onDismiss()}
|