react-native-purchases-ui 7.24.1 → 7.26.0
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/android/src/main/java/com/revenuecat/purchases/react/ui/BasePaywallViewManager.kt +67 -56
- package/android/src/main/java/com/revenuecat/purchases/react/ui/FontAssetManager.kt +60 -16
- package/android/src/main/java/com/revenuecat/purchases/react/ui/{PaywallEvent.kt → PaywallEventName.kt} +1 -1
- package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallFooterViewManager.kt +3 -3
- package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallViewManager.kt +4 -3
- package/android/src/main/java/com/revenuecat/purchases/react/ui/RNPaywallsModule.kt +14 -2
- package/android/src/main/java/com/revenuecat/purchases/react/ui/ViewExtensions.kt +7 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnDismissEvent.kt +13 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseCancelledEvent.kt +13 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseCompletedEvent.kt +18 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseErrorEvent.kt +14 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseStartedEvent.kt +16 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreCompletedEvent.kt +14 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreErrorEvent.kt +14 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreStartedEvent.kt +13 -0
- package/android/src/main/java/com/revenuecat/purchases/react/ui/events/PaywallEvent.kt +34 -0
- package/ios/RNPaywalls.m +21 -18
- package/lib/commonjs/index.js +6 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +6 -4
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +13 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.tsx +27 -4
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", '10.2
|
|
20
|
+
spec.dependency "PurchasesHybridCommonUI", '10.3.2'
|
|
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 '7.
|
|
62
|
+
versionName '7.26.0'
|
|
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:10.2
|
|
94
|
+
implementation 'com.revenuecat.purchases:purchases-hybrid-common-ui:10.3.2'
|
|
95
95
|
implementation 'androidx.compose.ui:ui-android:1.5.4'
|
|
96
96
|
implementation "androidx.appcompat:appcompat:1.6.1"
|
|
97
97
|
}
|
|
@@ -6,9 +6,18 @@ import com.facebook.react.bridge.WritableNativeMap
|
|
|
6
6
|
import com.facebook.react.common.MapBuilder
|
|
7
7
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
8
8
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
9
|
+
import com.facebook.react.uimanager.UIManagerHelper
|
|
9
10
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
10
|
-
import com.facebook.react.uimanager.events.
|
|
11
|
+
import com.facebook.react.uimanager.events.Event
|
|
11
12
|
import com.revenuecat.purchases.hybridcommon.ui.PaywallListenerWrapper
|
|
13
|
+
import com.revenuecat.purchases.react.ui.events.OnDismissEvent
|
|
14
|
+
import com.revenuecat.purchases.react.ui.events.OnPurchaseCancelledEvent
|
|
15
|
+
import com.revenuecat.purchases.react.ui.events.OnPurchaseCompletedEvent
|
|
16
|
+
import com.revenuecat.purchases.react.ui.events.OnPurchaseErrorEvent
|
|
17
|
+
import com.revenuecat.purchases.react.ui.events.OnPurchaseStartedEvent
|
|
18
|
+
import com.revenuecat.purchases.react.ui.events.OnRestoreCompletedEvent
|
|
19
|
+
import com.revenuecat.purchases.react.ui.events.OnRestoreErrorEvent
|
|
20
|
+
import com.revenuecat.purchases.react.ui.events.OnRestoreStartedEvent
|
|
12
21
|
import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
|
|
13
22
|
import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
|
|
14
23
|
|
|
@@ -27,14 +36,14 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
|
27
36
|
|
|
28
37
|
override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
|
|
29
38
|
return MapBuilder.builder<String, Any>()
|
|
30
|
-
.putEvent(
|
|
31
|
-
.putEvent(
|
|
32
|
-
.putEvent(
|
|
33
|
-
.putEvent(
|
|
34
|
-
.putEvent(
|
|
35
|
-
.putEvent(
|
|
36
|
-
.putEvent(
|
|
37
|
-
.putEvent(
|
|
39
|
+
.putEvent(PaywallEventName.ON_PURCHASE_STARTED)
|
|
40
|
+
.putEvent(PaywallEventName.ON_PURCHASE_COMPLETED)
|
|
41
|
+
.putEvent(PaywallEventName.ON_PURCHASE_ERROR)
|
|
42
|
+
.putEvent(PaywallEventName.ON_PURCHASE_CANCELLED)
|
|
43
|
+
.putEvent(PaywallEventName.ON_RESTORE_STARTED)
|
|
44
|
+
.putEvent(PaywallEventName.ON_RESTORE_COMPLETED)
|
|
45
|
+
.putEvent(PaywallEventName.ON_RESTORE_ERROR)
|
|
46
|
+
.putEvent(PaywallEventName.ON_DISMISS)
|
|
38
47
|
.build()
|
|
39
48
|
}
|
|
40
49
|
|
|
@@ -51,7 +60,8 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
|
51
60
|
}
|
|
52
61
|
|
|
53
62
|
private fun setOfferingIdProp(view: T, props: ReadableMap?) {
|
|
54
|
-
val offeringIdentifier =
|
|
63
|
+
val offeringIdentifier =
|
|
64
|
+
props?.getDynamic(OPTION_OFFERING)?.asMap()?.getString(OFFERING_IDENTIFIER)
|
|
55
65
|
offeringIdentifier?.let {
|
|
56
66
|
setOfferingId(view, it)
|
|
57
67
|
}
|
|
@@ -72,67 +82,87 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
|
72
82
|
}
|
|
73
83
|
}
|
|
74
84
|
|
|
75
|
-
// TODO: RCTEventEmitter is deprecated, and RCTModernEventEmitter should be used instead
|
|
76
|
-
// but documentation is not clear on how to use it so keeping this for now
|
|
77
85
|
internal fun createPaywallListenerWrapper(
|
|
78
86
|
themedReactContext: ThemedReactContext,
|
|
79
87
|
view: View
|
|
80
88
|
) = object : PaywallListenerWrapper() {
|
|
81
|
-
|
|
82
89
|
override fun onPurchaseStarted(rcPackage: Map<String, Any?>) {
|
|
83
|
-
val
|
|
84
|
-
|
|
90
|
+
val event = OnPurchaseStartedEvent(
|
|
91
|
+
surfaceId = view.surfaceId,
|
|
92
|
+
viewTag = view.id,
|
|
93
|
+
rcPackage
|
|
85
94
|
)
|
|
86
|
-
emitEvent(themedReactContext, view.id,
|
|
95
|
+
emitEvent(themedReactContext, view.id, event)
|
|
87
96
|
}
|
|
88
97
|
|
|
89
98
|
override fun onPurchaseCompleted(
|
|
90
99
|
customerInfo: Map<String, Any?>,
|
|
91
100
|
storeTransaction: Map<String, Any?>
|
|
92
101
|
) {
|
|
93
|
-
val
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
val event = OnPurchaseCompletedEvent(
|
|
103
|
+
surfaceId = view.surfaceId,
|
|
104
|
+
viewTag = view.id,
|
|
105
|
+
customerInfo,
|
|
106
|
+
storeTransaction
|
|
96
107
|
)
|
|
97
|
-
emitEvent(themedReactContext, view.id,
|
|
108
|
+
emitEvent(themedReactContext, view.id, event)
|
|
98
109
|
}
|
|
99
110
|
|
|
100
111
|
override fun onPurchaseError(error: Map<String, Any?>) {
|
|
101
|
-
val
|
|
102
|
-
|
|
112
|
+
val event = OnPurchaseErrorEvent(
|
|
113
|
+
surfaceId = view.surfaceId,
|
|
114
|
+
viewTag = view.id,
|
|
115
|
+
error
|
|
116
|
+
)
|
|
117
|
+
emitEvent(themedReactContext, view.id, event)
|
|
103
118
|
}
|
|
104
119
|
|
|
105
120
|
override fun onPurchaseCancelled() {
|
|
106
|
-
|
|
121
|
+
val event = OnPurchaseCancelledEvent(
|
|
122
|
+
surfaceId = view.surfaceId,
|
|
123
|
+
viewTag = view.id,
|
|
124
|
+
)
|
|
125
|
+
emitEvent(themedReactContext, view.id, event)
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
override fun onRestoreStarted() {
|
|
110
|
-
|
|
129
|
+
val event = OnRestoreStartedEvent(
|
|
130
|
+
surfaceId = view.surfaceId,
|
|
131
|
+
viewTag = view.id,
|
|
132
|
+
)
|
|
133
|
+
emitEvent(themedReactContext, view.id, event)
|
|
111
134
|
}
|
|
112
135
|
|
|
113
136
|
override fun onRestoreCompleted(customerInfo: Map<String, Any?>) {
|
|
114
|
-
val
|
|
115
|
-
|
|
137
|
+
val event = OnRestoreCompletedEvent(
|
|
138
|
+
surfaceId = view.surfaceId,
|
|
139
|
+
viewTag = view.id,
|
|
140
|
+
customerInfo,
|
|
141
|
+
)
|
|
142
|
+
emitEvent(themedReactContext, view.id, event)
|
|
116
143
|
}
|
|
117
144
|
|
|
118
145
|
override fun onRestoreError(error: Map<String, Any?>) {
|
|
119
|
-
val
|
|
120
|
-
|
|
146
|
+
val event = OnRestoreErrorEvent(
|
|
147
|
+
surfaceId = view.surfaceId,
|
|
148
|
+
viewTag = view.id,
|
|
149
|
+
error,
|
|
150
|
+
)
|
|
151
|
+
emitEvent(themedReactContext, view.id, event)
|
|
121
152
|
}
|
|
122
153
|
|
|
123
154
|
}
|
|
124
155
|
|
|
125
156
|
internal fun getDismissHandler(
|
|
126
157
|
themedReactContext: ThemedReactContext,
|
|
127
|
-
view:
|
|
128
|
-
): (() -> Unit) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
158
|
+
view: View,
|
|
159
|
+
): (() -> Unit) = {
|
|
160
|
+
val event = OnDismissEvent(view.surfaceId, view.id)
|
|
161
|
+
emitEvent(themedReactContext, view.id, event)
|
|
132
162
|
}
|
|
133
163
|
|
|
134
164
|
private fun MapBuilder.Builder<String, Any>.putEvent(
|
|
135
|
-
paywallEvent:
|
|
165
|
+
paywallEvent: PaywallEventName
|
|
136
166
|
): MapBuilder.Builder<String, Any> {
|
|
137
167
|
val registrationName = MapBuilder.of("registrationName", paywallEvent.eventName)
|
|
138
168
|
return this.put(paywallEvent.eventName, registrationName)
|
|
@@ -148,28 +178,9 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
|
|
|
148
178
|
private fun emitEvent(
|
|
149
179
|
context: ThemedReactContext,
|
|
150
180
|
viewId: Int,
|
|
151
|
-
event:
|
|
152
|
-
payload: Map<PaywallEventKey, Map<String, Any?>>,
|
|
153
|
-
) {
|
|
154
|
-
val convertedPayload = WritableNativeMap().apply {
|
|
155
|
-
payload.forEach { (key, value) ->
|
|
156
|
-
putMap(key.key, RNPurchasesConverters.convertMapToWriteableMap(value))
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
emitEvent(context, viewId, event, convertedPayload)
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
@Suppress("DEPRECATION")
|
|
163
|
-
private fun emitEvent(
|
|
164
|
-
context: ThemedReactContext,
|
|
165
|
-
viewId: Int,
|
|
166
|
-
event: PaywallEvent,
|
|
167
|
-
payload: WritableNativeMap? = null
|
|
181
|
+
event: Event<*>,
|
|
168
182
|
) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
event.eventName,
|
|
172
|
-
payload
|
|
173
|
-
)
|
|
183
|
+
val eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(context, viewId)
|
|
184
|
+
eventDispatcher?.dispatchEvent(event)
|
|
174
185
|
}
|
|
175
186
|
}
|
|
@@ -5,11 +5,16 @@ import androidx.compose.ui.text.font.Font
|
|
|
5
5
|
import androidx.compose.ui.text.font.FontFamily
|
|
6
6
|
import androidx.compose.ui.text.font.FontStyle
|
|
7
7
|
import androidx.compose.ui.text.font.FontWeight
|
|
8
|
+
import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
|
|
9
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.PaywallFont
|
|
10
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.PaywallFontFamily
|
|
8
11
|
|
|
9
12
|
|
|
13
|
+
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
|
10
14
|
internal object FontAssetManager {
|
|
11
15
|
@get:Synchronized
|
|
12
16
|
private var fontFamilyCache = mapOf<String, FontFamily>()
|
|
17
|
+
private var paywallFontFamilyCache = mapOf<String, PaywallFontFamily>()
|
|
13
18
|
private val FILE_EXTENSIONS = arrayOf(".ttf", ".otf")
|
|
14
19
|
|
|
15
20
|
private const val FONT_PATH = "fonts/"
|
|
@@ -39,23 +44,16 @@ internal object FontAssetManager {
|
|
|
39
44
|
if (cachedFontFamily != null) {
|
|
40
45
|
return cachedFontFamily
|
|
41
46
|
}
|
|
42
|
-
|
|
43
|
-
val fontsInFamily =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
assetManager = assetManager,
|
|
52
|
-
weight = styleExtension.weight,
|
|
53
|
-
style = styleExtension.style
|
|
54
|
-
)
|
|
55
|
-
)
|
|
56
|
-
}
|
|
47
|
+
|
|
48
|
+
val fontsInFamily =
|
|
49
|
+
getFontsInFamily(fontFamilyName, assetManager) { fileName, styleExtension ->
|
|
50
|
+
Font(
|
|
51
|
+
path = FONT_PATH + fileName,
|
|
52
|
+
assetManager = assetManager,
|
|
53
|
+
weight = styleExtension.weight,
|
|
54
|
+
style = styleExtension.style
|
|
55
|
+
)
|
|
57
56
|
}
|
|
58
|
-
}
|
|
59
57
|
|
|
60
58
|
return if (fontsInFamily.isNotEmpty()) {
|
|
61
59
|
val fontFamily = FontFamily(fontsInFamily)
|
|
@@ -65,4 +63,50 @@ internal object FontAssetManager {
|
|
|
65
63
|
null
|
|
66
64
|
}
|
|
67
65
|
}
|
|
66
|
+
|
|
67
|
+
@Synchronized
|
|
68
|
+
fun getPaywallFontFamily(
|
|
69
|
+
fontFamilyName: String,
|
|
70
|
+
assetManager: AssetManager
|
|
71
|
+
): PaywallFontFamily? {
|
|
72
|
+
val cachedPaywallFontFamily = paywallFontFamilyCache[fontFamilyName]
|
|
73
|
+
if (cachedPaywallFontFamily != null) {
|
|
74
|
+
return cachedPaywallFontFamily
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
val paywallFontsInFamily =
|
|
78
|
+
getFontsInFamily(fontFamilyName, assetManager) { fileName, styleExtension ->
|
|
79
|
+
PaywallFont.AssetFont(
|
|
80
|
+
path = FONT_PATH + fileName,
|
|
81
|
+
fontWeight = styleExtension.weight,
|
|
82
|
+
fontStyle = styleExtension.style.value
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return if (paywallFontsInFamily.isNotEmpty()) {
|
|
87
|
+
val fontFamily = PaywallFontFamily(paywallFontsInFamily)
|
|
88
|
+
paywallFontFamilyCache = paywallFontFamilyCache + (fontFamilyName to fontFamily)
|
|
89
|
+
fontFamily
|
|
90
|
+
} else {
|
|
91
|
+
null
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private fun <T> getFontsInFamily(
|
|
96
|
+
fontFamilyName: String,
|
|
97
|
+
assetManager: AssetManager,
|
|
98
|
+
createFont: (String, FontStyleExtension) -> T
|
|
99
|
+
): List<T> {
|
|
100
|
+
val existingFontFileNames = assetManager.list(FONT_PATH)?.toList() ?: emptyList()
|
|
101
|
+
val fontsInFamily = mutableListOf<T>()
|
|
102
|
+
FontStyleExtension.values().forEach { styleExtension ->
|
|
103
|
+
FILE_EXTENSIONS.forEach { fileNameExtension ->
|
|
104
|
+
val fileName = "$fontFamilyName${styleExtension.extension}$fileNameExtension"
|
|
105
|
+
if (existingFontFileNames.contains(fileName)) {
|
|
106
|
+
fontsInFamily.add(createFont(fileName, styleExtension))
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return fontsInFamily
|
|
111
|
+
}
|
|
68
112
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
package com.revenuecat.purchases.react.ui
|
|
2
2
|
|
|
3
|
-
internal enum class
|
|
3
|
+
internal enum class PaywallEventName(val eventName: String) {
|
|
4
4
|
ON_PURCHASE_STARTED("onPurchaseStarted"),
|
|
5
5
|
ON_PURCHASE_COMPLETED("onPurchaseCompleted"),
|
|
6
6
|
ON_PURCHASE_ERROR("onPurchaseError"),
|
|
@@ -55,9 +55,9 @@ internal class PaywallFooterViewManager : BasePaywallViewManager<PaywallFooterVi
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
}.also {
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
}.also { view ->
|
|
59
|
+
view.setPaywallListener(createPaywallListenerWrapper(themedReactContext, view))
|
|
60
|
+
view.setDismissHandler(getDismissHandler(themedReactContext, view))
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -5,6 +5,7 @@ import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIP
|
|
|
5
5
|
import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
|
|
6
6
|
import com.revenuecat.purchases.ui.revenuecatui.views.PaywallView
|
|
7
7
|
|
|
8
|
+
|
|
8
9
|
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
|
9
10
|
internal class PaywallViewManager : BasePaywallViewManager<PaywallView>() {
|
|
10
11
|
|
|
@@ -17,9 +18,9 @@ internal class PaywallViewManager : BasePaywallViewManager<PaywallView>() {
|
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
override fun createViewInstance(themedReactContext: ThemedReactContext): PaywallView {
|
|
20
|
-
return PaywallView(themedReactContext).also {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
return PaywallView(themedReactContext).also { view ->
|
|
22
|
+
view.setPaywallListener(createPaywallListenerWrapper(themedReactContext, view))
|
|
23
|
+
view.setDismissHandler(getDismissHandler(themedReactContext, view))
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
|
|
@@ -10,6 +10,9 @@ import com.revenuecat.purchases.hybridcommon.ui.PaywallResultListener
|
|
|
10
10
|
import com.revenuecat.purchases.hybridcommon.ui.PaywallSource
|
|
11
11
|
import com.revenuecat.purchases.hybridcommon.ui.PresentPaywallOptions
|
|
12
12
|
import com.revenuecat.purchases.hybridcommon.ui.presentPaywallFromFragment
|
|
13
|
+
import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
|
|
14
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.PaywallFont
|
|
15
|
+
import com.revenuecat.purchases.ui.revenuecatui.fonts.PaywallFontFamily
|
|
13
16
|
|
|
14
17
|
internal class RNPaywallsModule(reactContext: ReactApplicationContext) :
|
|
15
18
|
ReactContextBaseJavaModule(reactContext) {
|
|
@@ -36,12 +39,14 @@ internal class RNPaywallsModule(reactContext: ReactApplicationContext) :
|
|
|
36
39
|
fun presentPaywall(
|
|
37
40
|
offeringIdentifier: String?,
|
|
38
41
|
displayCloseButton: Boolean?,
|
|
42
|
+
fontFamily: String?,
|
|
39
43
|
promise: Promise
|
|
40
44
|
) {
|
|
41
45
|
presentPaywall(
|
|
42
46
|
null,
|
|
43
47
|
offeringIdentifier,
|
|
44
48
|
displayCloseButton,
|
|
49
|
+
fontFamily,
|
|
45
50
|
promise
|
|
46
51
|
)
|
|
47
52
|
}
|
|
@@ -51,12 +56,14 @@ internal class RNPaywallsModule(reactContext: ReactApplicationContext) :
|
|
|
51
56
|
requiredEntitlementIdentifier: String,
|
|
52
57
|
offeringIdentifier: String?,
|
|
53
58
|
displayCloseButton: Boolean,
|
|
59
|
+
fontFamily: String?,
|
|
54
60
|
promise: Promise
|
|
55
61
|
) {
|
|
56
62
|
presentPaywall(
|
|
57
63
|
requiredEntitlementIdentifier,
|
|
58
64
|
offeringIdentifier,
|
|
59
65
|
displayCloseButton,
|
|
66
|
+
fontFamily,
|
|
60
67
|
promise
|
|
61
68
|
)
|
|
62
69
|
}
|
|
@@ -71,14 +78,18 @@ internal class RNPaywallsModule(reactContext: ReactApplicationContext) :
|
|
|
71
78
|
// Keep: Required for RN built in Event Emitter Calls.
|
|
72
79
|
}
|
|
73
80
|
|
|
81
|
+
@OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
|
|
74
82
|
private fun presentPaywall(
|
|
75
83
|
requiredEntitlementIdentifier: String?,
|
|
76
84
|
offeringIdentifier: String?,
|
|
77
85
|
displayCloseButton: Boolean?,
|
|
86
|
+
fontFamilyName: String?,
|
|
78
87
|
promise: Promise
|
|
79
88
|
) {
|
|
80
89
|
val fragment = currentActivityFragment ?: return
|
|
81
|
-
|
|
90
|
+
val fontFamily = fontFamilyName?.let {
|
|
91
|
+
FontAssetManager.getPaywallFontFamily(fontFamilyName = it, fragment.resources.assets)
|
|
92
|
+
}
|
|
82
93
|
presentPaywallFromFragment(
|
|
83
94
|
fragment = fragment,
|
|
84
95
|
PresentPaywallOptions(
|
|
@@ -91,7 +102,8 @@ internal class RNPaywallsModule(reactContext: ReactApplicationContext) :
|
|
|
91
102
|
override fun onPaywallResult(paywallResult: String) {
|
|
92
103
|
promise.resolve(paywallResult)
|
|
93
104
|
}
|
|
94
|
-
}
|
|
105
|
+
},
|
|
106
|
+
fontFamily = fontFamily
|
|
95
107
|
)
|
|
96
108
|
)
|
|
97
109
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnDismissEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
) : PaywallEvent<OnDismissEvent>(surfaceId, viewTag) {
|
|
10
|
+
override fun getPaywallEventName() = PaywallEventName.ON_DISMISS
|
|
11
|
+
|
|
12
|
+
override fun getPayload(): Map<PaywallEventKey, Map<String, Any?>> = emptyMap()
|
|
13
|
+
}
|
package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseCancelledEvent.kt
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnPurchaseCancelledEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
) : PaywallEvent<OnPurchaseCancelledEvent>(surfaceId, viewTag) {
|
|
10
|
+
override fun getPaywallEventName() = PaywallEventName.ON_PURCHASE_CANCELLED
|
|
11
|
+
|
|
12
|
+
override fun getPayload(): Map<PaywallEventKey, Map<String, Any?>> = emptyMap()
|
|
13
|
+
}
|
package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseCompletedEvent.kt
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnPurchaseCompletedEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
private val customerInfo: Map<String, Any?>,
|
|
10
|
+
private val storeTransaction: Map<String, Any?>
|
|
11
|
+
) : PaywallEvent<OnPurchaseCompletedEvent>(surfaceId, viewTag) {
|
|
12
|
+
override fun getPaywallEventName() = PaywallEventName.ON_PURCHASE_COMPLETED
|
|
13
|
+
|
|
14
|
+
override fun getPayload() = mapOf(
|
|
15
|
+
PaywallEventKey.CUSTOMER_INFO to customerInfo,
|
|
16
|
+
PaywallEventKey.STORE_TRANSACTION to storeTransaction
|
|
17
|
+
)
|
|
18
|
+
}
|
package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseErrorEvent.kt
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnPurchaseErrorEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
private val error: Map<String, Any?>
|
|
10
|
+
) : PaywallEvent<OnPurchaseErrorEvent>(surfaceId, viewTag) {
|
|
11
|
+
override fun getPaywallEventName() = PaywallEventName.ON_PURCHASE_ERROR
|
|
12
|
+
|
|
13
|
+
override fun getPayload() = mapOf(PaywallEventKey.ERROR to error)
|
|
14
|
+
}
|
package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseStartedEvent.kt
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnPurchaseStartedEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
private val packageMap: Map<String, Any?>
|
|
10
|
+
) : PaywallEvent<OnPurchaseStartedEvent>(surfaceId, viewTag) {
|
|
11
|
+
override fun getPaywallEventName() = PaywallEventName.ON_PURCHASE_STARTED
|
|
12
|
+
|
|
13
|
+
override fun getPayload() = mapOf(
|
|
14
|
+
PaywallEventKey.PACKAGE to packageMap,
|
|
15
|
+
)
|
|
16
|
+
}
|
package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreCompletedEvent.kt
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnRestoreCompletedEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
private val customerInfo: Map<String, Any?>,
|
|
10
|
+
) : PaywallEvent<OnRestoreCompletedEvent>(surfaceId, viewTag) {
|
|
11
|
+
override fun getPaywallEventName() = PaywallEventName.ON_RESTORE_COMPLETED
|
|
12
|
+
|
|
13
|
+
override fun getPayload() = mapOf(PaywallEventKey.CUSTOMER_INFO to customerInfo)
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnRestoreErrorEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
private val error: Map<String, Any?>
|
|
10
|
+
) : PaywallEvent<OnRestoreErrorEvent>(surfaceId, viewTag) {
|
|
11
|
+
override fun getPaywallEventName() = PaywallEventName.ON_RESTORE_ERROR
|
|
12
|
+
|
|
13
|
+
override fun getPayload() = mapOf(PaywallEventKey.ERROR to error)
|
|
14
|
+
}
|
package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreStartedEvent.kt
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
4
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
5
|
+
|
|
6
|
+
internal class OnRestoreStartedEvent(
|
|
7
|
+
surfaceId: Int,
|
|
8
|
+
viewTag: Int,
|
|
9
|
+
) : PaywallEvent<OnRestoreStartedEvent>(surfaceId, viewTag) {
|
|
10
|
+
override fun getPaywallEventName() = PaywallEventName.ON_RESTORE_STARTED
|
|
11
|
+
|
|
12
|
+
override fun getPayload(): Map<PaywallEventKey, Map<String, Any?>> = emptyMap()
|
|
13
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
package com.revenuecat.purchases.react.ui.events
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.WritableMap
|
|
4
|
+
import com.facebook.react.bridge.WritableNativeMap
|
|
5
|
+
import com.facebook.react.uimanager.events.Event
|
|
6
|
+
import com.revenuecat.purchases.react.ui.PaywallEventKey
|
|
7
|
+
import com.revenuecat.purchases.react.ui.PaywallEventName
|
|
8
|
+
import com.revenuecat.purchases.react.ui.RNPurchasesConverters
|
|
9
|
+
|
|
10
|
+
internal abstract class PaywallEvent<T>(
|
|
11
|
+
surfaceId: Int,
|
|
12
|
+
viewTag: Int,
|
|
13
|
+
) : Event<PaywallEvent<T>>(surfaceId, viewTag) {
|
|
14
|
+
|
|
15
|
+
abstract fun getPaywallEventName(): PaywallEventName
|
|
16
|
+
|
|
17
|
+
abstract fun getPayload(): Map<PaywallEventKey, Map<String, Any?>>
|
|
18
|
+
|
|
19
|
+
override fun getEventName(): String {
|
|
20
|
+
return getPaywallEventName().eventName
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
override fun getEventData(): WritableMap {
|
|
24
|
+
val convertedPayload = getPayload().let { payload ->
|
|
25
|
+
WritableNativeMap().apply {
|
|
26
|
+
payload.forEach { (key, value) ->
|
|
27
|
+
putMap(key.key, RNPurchasesConverters.convertMapToWriteableMap(value))
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return convertedPayload
|
|
33
|
+
}
|
|
34
|
+
}
|
package/ios/RNPaywalls.m
CHANGED
|
@@ -63,19 +63,21 @@ RCT_EXPORT_MODULE();
|
|
|
63
63
|
|
|
64
64
|
RCT_EXPORT_METHOD(presentPaywall:(nullable NSString *)offeringIdentifier
|
|
65
65
|
shouldDisplayCloseButton:(BOOL)displayCloseButton
|
|
66
|
+
withFontFamily:(nullable NSString *)fontFamily
|
|
66
67
|
withResolve:(RCTPromiseResolveBlock)resolve
|
|
67
68
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
68
69
|
if (@available(iOS 15.0, *)) {
|
|
70
|
+
NSMutableDictionary *options = [NSMutableDictionary dictionary];
|
|
69
71
|
if (offeringIdentifier != nil) {
|
|
70
|
-
[
|
|
71
|
-
displayCloseButton:displayCloseButton
|
|
72
|
-
paywallResultHandler:^(NSString *result) {
|
|
73
|
-
resolve(result);
|
|
74
|
-
}];
|
|
75
|
-
return;
|
|
72
|
+
options[PaywallOptionsKeys.offeringIdentifier] = offeringIdentifier;
|
|
76
73
|
}
|
|
77
|
-
[
|
|
78
|
-
|
|
74
|
+
options[PaywallOptionsKeys.displayCloseButton] = @(displayCloseButton);
|
|
75
|
+
if (fontFamily) {
|
|
76
|
+
options[PaywallOptionsKeys.fontName] = fontFamily;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
[self.paywalls presentPaywallWithOptions:options
|
|
80
|
+
paywallResultHandler:^(NSString *result) {
|
|
79
81
|
resolve(result);
|
|
80
82
|
}];
|
|
81
83
|
} else {
|
|
@@ -86,21 +88,22 @@ RCT_EXPORT_METHOD(presentPaywall:(nullable NSString *)offeringIdentifier
|
|
|
86
88
|
RCT_EXPORT_METHOD(presentPaywallIfNeeded:(NSString *)requiredEntitlementIdentifier
|
|
87
89
|
withOfferingIdentifier:(nullable NSString *)offeringIdentifier
|
|
88
90
|
shouldDisplayCloseButton:(BOOL)displayCloseButton
|
|
91
|
+
withFontFamily:(nullable NSString *)fontFamily
|
|
89
92
|
withResolve:(RCTPromiseResolveBlock)resolve
|
|
90
93
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
91
94
|
if (@available(iOS 15.0, *)) {
|
|
95
|
+
NSMutableDictionary *options = [NSMutableDictionary dictionary];
|
|
92
96
|
if (offeringIdentifier != nil) {
|
|
93
|
-
[
|
|
94
|
-
offeringIdentifier:offeringIdentifier
|
|
95
|
-
displayCloseButton:displayCloseButton
|
|
96
|
-
paywallResultHandler:^(NSString *result) {
|
|
97
|
-
resolve(result);
|
|
98
|
-
}];
|
|
99
|
-
return;
|
|
97
|
+
options[PaywallOptionsKeys.offeringIdentifier] = offeringIdentifier;
|
|
100
98
|
}
|
|
101
|
-
[
|
|
102
|
-
|
|
103
|
-
|
|
99
|
+
options[PaywallOptionsKeys.requiredEntitlementIdentifier] = requiredEntitlementIdentifier;
|
|
100
|
+
options[PaywallOptionsKeys.displayCloseButton] = @(displayCloseButton);
|
|
101
|
+
if (fontFamily) {
|
|
102
|
+
options[PaywallOptionsKeys.fontName] = fontFamily;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
[self.paywalls presentPaywallIfNeededWithOptions:options
|
|
106
|
+
paywallResultHandler:^(NSString *result) {
|
|
104
107
|
resolve(result);
|
|
105
108
|
}];
|
|
106
109
|
} else {
|
package/lib/commonjs/index.js
CHANGED
|
@@ -57,9 +57,10 @@ class RevenueCatUI {
|
|
|
57
57
|
*/
|
|
58
58
|
static presentPaywall({
|
|
59
59
|
offering,
|
|
60
|
-
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
|
|
60
|
+
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
|
61
|
+
fontFamily
|
|
61
62
|
} = {}) {
|
|
62
|
-
return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
|
|
63
|
+
return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
/**
|
|
@@ -78,9 +79,10 @@ class RevenueCatUI {
|
|
|
78
79
|
static presentPaywallIfNeeded({
|
|
79
80
|
requiredEntitlementIdentifier,
|
|
80
81
|
offering,
|
|
81
|
-
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
|
|
82
|
+
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
|
83
|
+
fontFamily
|
|
82
84
|
}) {
|
|
83
|
-
return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
|
|
85
|
+
return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
|
84
86
|
}
|
|
85
87
|
static Paywall = ({
|
|
86
88
|
style,
|
|
@@ -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","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":";;;;;;;;;;;;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","fontFamily","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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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -44,9 +44,10 @@ export default class RevenueCatUI {
|
|
|
44
44
|
*/
|
|
45
45
|
static presentPaywall({
|
|
46
46
|
offering,
|
|
47
|
-
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
|
|
47
|
+
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
|
48
|
+
fontFamily
|
|
48
49
|
} = {}) {
|
|
49
|
-
return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
|
|
50
|
+
return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
/**
|
|
@@ -65,9 +66,10 @@ export default class RevenueCatUI {
|
|
|
65
66
|
static presentPaywallIfNeeded({
|
|
66
67
|
requiredEntitlementIdentifier,
|
|
67
68
|
offering,
|
|
68
|
-
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
|
|
69
|
+
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
|
70
|
+
fontFamily
|
|
69
71
|
}) {
|
|
70
|
-
return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
|
|
72
|
+
return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
|
|
71
73
|
}
|
|
72
74
|
static Paywall = ({
|
|
73
75
|
style,
|
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","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":"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","fontFamily","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":"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;;AAwDH;;AAuCA,eAAe,MAAMU,YAAY,CAAC;EAEhC,OAAeC,QAAQ,GAAG;IACxBC,oCAAoC,EAAE;EACxC,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,OAAchB,cAAc,GAAGA,cAAc;;EAE7C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAciB,cAAcA,CAAC;IACEC,QAAQ;IACRC,kBAAkB,GAAGL,YAAY,CAACC,QAAQ,CAACC,oCAAoC;IAC/EI;EACoB,CAAC,GAAG,CAAC,CAAC,EAA2B;IAClF,OAAOZ,UAAU,CAACS,cAAc,CAC9B,CAAAC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,UAAU,KAAI,IAAI,EAC5BF,kBAAkB,EAClBC,UACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAcE,sBAAsBA,CAAC;IACEC,6BAA6B;IAC7BL,QAAQ;IACRC,kBAAkB,GAAGL,YAAY,CAACC,QAAQ,CAACC,oCAAoC;IAC/EI;EAC4B,CAAC,EAA2B;IAC7F,OAAOZ,UAAU,CAACc,sBAAsB,CACtCC,6BAA6B,EAC7B,CAAAL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,UAAU,KAAI,IAAI,EAC5BF,kBAAkB,EAClBC,UACF,CAAC;EACH;EAEA,OAAcI,OAAO,GAAyCA,CAAC;IACEC,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,iBAAiB;IACjBC,mBAAmB;IACnBC,eAAe;IACfC,mBAAmB;IACnBC,gBAAgB;IAChBC,kBAAkB;IAClBC,cAAc;IACdC;EACF,CAAC,kBAC9DlC,KAAA,CAAAmC,aAAA,CAACzB,eAAe;IAACgB,OAAO,EAAEA,OAAQ;IACjBD,QAAQ,EAAEA,QAAS;IACnBE,iBAAiB,EAAGS,KAAU,IAAKT,iBAAiB,IAAIA,iBAAiB,CAACS,KAAK,CAACC,WAAW,CAAE;IAC7FT,mBAAmB,EAAGQ,KAAU,IAAKR,mBAAmB,IAAIA,mBAAmB,CAACQ,KAAK,CAACC,WAAW,CAAE;IACnGR,eAAe,EAAGO,KAAU,IAAKP,eAAe,IAAIA,eAAe,CAACO,KAAK,CAACC,WAAW,CAAE;IACvFP,mBAAmB,EAAEA,CAAA,KAAMA,mBAAmB,IAAIA,mBAAmB,CAAC,CAAE;IACxEC,gBAAgB,EAAEA,CAAA,KAAMA,gBAAgB,IAAIA,gBAAgB,CAAC,CAAE;IAC/DC,kBAAkB,EAAGI,KAAU,IAAKJ,kBAAkB,IAAIA,kBAAkB,CAACI,KAAK,CAACC,WAAW,CAAE;IAChGJ,cAAc,EAAGG,KAAU,IAAKH,cAAc,IAAIA,cAAc,CAACG,KAAK,CAACC,WAAW,CAAE;IACpFH,SAAS,EAAEA,CAAA,KAAMA,SAAS,IAAIA,SAAS,CAAC,CAAE;IAC1CV,KAAK,EAAE,CAAC;MAACc,IAAI,EAAE;IAAC,CAAC,EAAEd,KAAK;EAAE,CAAC,CAC7C;EAED,OAAce,0BAA0B,GAAqCA,CAAC;IACEf,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,iBAAiB;IACjBC,mBAAmB;IACnBC,eAAe;IACfC,mBAAmB;IACnBC,gBAAgB;IAChBC,kBAAkB;IAClBC,cAAc;IACdC;EACF,CAAC,KAAK;IAClF;IACA;IACA;IACA;IACA,MAAM,CAACM,aAAa,EAAEC,gBAAgB,CAAC,GAAGvC,QAAQ,CAAC,EAAE,CAAC;IAEtDD,SAAS,CAAC,MAAM;MAKd,MAAMyC,0BAA0B,GAAGA,CAAC;QAACC;MAAwC,CAAC,KAAK;QACjFF,gBAAgB,CAAC,EAAE,GAAGE,MAAM,CAAC;MAC/B,CAAC;MAED,MAAMC,YAAY,GAAGnC,YAAY,CAACoC,WAAW,CAC3C,yBAAyB,EACzBH,0BACF,CAAC;MAED,OAAO,MAAM;QACXE,YAAY,CAACE,MAAM,CAAC,CAAC;MACvB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;IAEN,oBACE9C,KAAA,CAAAmC,aAAA,CAACrC,IAAI;MAAC0B,KAAK,EAAE,CAAC;QAACc,IAAI,EAAE;MAAC,CAAC,EAAEd,KAAK;IAAE,gBAC9BxB,KAAA,CAAAmC,aAAA,CAACvC,UAAU;MAACmD,qBAAqB,EAAE;QAACC,QAAQ,EAAE,CAAC;QAAER;MAAa;IAAE,GAC7Df,QACS,CAAC,eAEbzB,KAAA,CAAAmC,aAAA,CAACvB,yBAAyB;MACxBY,KAAK,EAAE;QAACyB,SAAS,EAAE,CAAC;MAAE,CAAE;MACxBvB,OAAO,EAAEA,OAAQ;MACjBC,iBAAiB,EAAGS,KAAU,IAAKT,iBAAiB,IAAIA,iBAAiB,CAACS,KAAK,CAACC,WAAW,CAAE;MAC7FT,mBAAmB,EAAGQ,KAAU,IAAKR,mBAAmB,IAAIA,mBAAmB,CAACQ,KAAK,CAACC,WAAW,CAAE;MACnGR,eAAe,EAAGO,KAAU,IAAKP,eAAe,IAAIA,eAAe,CAACO,KAAK,CAACC,WAAW,CAAE;MACvFP,mBAAmB,EAAEA,CAAA,KAAMA,mBAAmB,IAAIA,mBAAmB,CAAC,CAAE;MACxEC,gBAAgB,EAAEA,CAAA,KAAMA,gBAAgB,IAAIA,gBAAgB,CAAC,CAAE;MAC/DC,kBAAkB,EAAGI,KAAU,IAAKJ,kBAAkB,IAAIA,kBAAkB,CAACI,KAAK,CAACC,WAAW,CAAE;MAChGJ,cAAc,EAAGG,KAAU,IAAKH,cAAc,IAAIA,cAAc,CAACG,KAAK,CAACC,WAAW,CAAE;MACpFH,SAAS,EAAEA,CAAA,KAAMA,SAAS,IAAIA,SAAS,CAAC;IAAE,CAC3C,CACG,CAAC;EAEX,CAAC;AACH","ignoreList":[]}
|
|
@@ -11,6 +11,17 @@ export interface PresentPaywallParams {
|
|
|
11
11
|
* The offering to load the paywall with. This will be the "current" offering by default.
|
|
12
12
|
*/
|
|
13
13
|
offering?: PurchasesOffering;
|
|
14
|
+
/**
|
|
15
|
+
* The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
|
|
16
|
+
* sure to run `npx react-native-asset` so it's added to the native components.
|
|
17
|
+
* Supported font types are `.ttf` and `.otf`.
|
|
18
|
+
* Make sure the file names follow the convention:
|
|
19
|
+
* - Regular: MyFont.ttf/MyFont.otf
|
|
20
|
+
* - Bold: MyFont_bold.ttf/MyFont_bold.otf
|
|
21
|
+
* - Italic: MyFont_italic.ttf/MyFont_italic.otf
|
|
22
|
+
* - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
|
|
23
|
+
*/
|
|
24
|
+
fontFamily?: string | null;
|
|
14
25
|
}
|
|
15
26
|
export type PresentPaywallIfNeededParams = PresentPaywallParams & {
|
|
16
27
|
/**
|
|
@@ -106,7 +117,7 @@ export default class RevenueCatUI {
|
|
|
106
117
|
* @param {PresentPaywallParams} params - The options for presenting the paywall.
|
|
107
118
|
* @returns {Promise<PAYWALL_RESULT>} A promise that resolves with the result of the paywall presentation.
|
|
108
119
|
*/
|
|
109
|
-
static presentPaywall({ offering, displayCloseButton }?: PresentPaywallParams): Promise<PAYWALL_RESULT>;
|
|
120
|
+
static presentPaywall({ offering, displayCloseButton, fontFamily, }?: PresentPaywallParams): Promise<PAYWALL_RESULT>;
|
|
110
121
|
/**
|
|
111
122
|
* Presents a paywall to the user if a specific entitlement is not already owned.
|
|
112
123
|
*
|
|
@@ -120,7 +131,7 @@ export default class RevenueCatUI {
|
|
|
120
131
|
* @param {PresentPaywallIfNeededParams} params - The parameters for presenting the paywall.
|
|
121
132
|
* @returns {Promise<PAYWALL_RESULT>} A promise that resolves with the result of the paywall presentation.
|
|
122
133
|
*/
|
|
123
|
-
static presentPaywallIfNeeded({ requiredEntitlementIdentifier, offering, displayCloseButton }: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT>;
|
|
134
|
+
static presentPaywallIfNeeded({ requiredEntitlementIdentifier, offering, displayCloseButton, fontFamily, }: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT>;
|
|
124
135
|
static Paywall: React.FC<FullScreenPaywallViewProps>;
|
|
125
136
|
static PaywallFooterContainerView: React.FC<FooterPaywallViewProps>;
|
|
126
137
|
}
|
|
@@ -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,EAC/B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AA6B3E,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;
|
|
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": "7.
|
|
4
|
+
"version": "7.26.0",
|
|
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",
|
|
@@ -115,6 +115,6 @@
|
|
|
115
115
|
},
|
|
116
116
|
"dependencies": {
|
|
117
117
|
"@revenuecat/purchases-typescript-internal": "10.1.0",
|
|
118
|
-
"react-native-purchases": "7.
|
|
118
|
+
"react-native-purchases": "7.26.0"
|
|
119
119
|
}
|
|
120
120
|
}
|
package/src/index.tsx
CHANGED
|
@@ -56,6 +56,18 @@ export interface PresentPaywallParams {
|
|
|
56
56
|
* The offering to load the paywall with. This will be the "current" offering by default.
|
|
57
57
|
*/
|
|
58
58
|
offering?: PurchasesOffering;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
|
|
62
|
+
* sure to run `npx react-native-asset` so it's added to the native components.
|
|
63
|
+
* Supported font types are `.ttf` and `.otf`.
|
|
64
|
+
* Make sure the file names follow the convention:
|
|
65
|
+
* - Regular: MyFont.ttf/MyFont.otf
|
|
66
|
+
* - Bold: MyFont_bold.ttf/MyFont_bold.otf
|
|
67
|
+
* - Italic: MyFont_italic.ttf/MyFont_italic.otf
|
|
68
|
+
* - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
|
|
69
|
+
*/
|
|
70
|
+
fontFamily?: string | null;
|
|
59
71
|
}
|
|
60
72
|
|
|
61
73
|
export type PresentPaywallIfNeededParams = PresentPaywallParams & {
|
|
@@ -152,9 +164,14 @@ export default class RevenueCatUI {
|
|
|
152
164
|
*/
|
|
153
165
|
public static presentPaywall({
|
|
154
166
|
offering,
|
|
155
|
-
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
|
|
167
|
+
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
|
168
|
+
fontFamily,
|
|
156
169
|
}: PresentPaywallParams = {}): Promise<PAYWALL_RESULT> {
|
|
157
|
-
return RNPaywalls.presentPaywall(
|
|
170
|
+
return RNPaywalls.presentPaywall(
|
|
171
|
+
offering?.identifier ?? null,
|
|
172
|
+
displayCloseButton,
|
|
173
|
+
fontFamily,
|
|
174
|
+
)
|
|
158
175
|
}
|
|
159
176
|
|
|
160
177
|
/**
|
|
@@ -173,9 +190,15 @@ export default class RevenueCatUI {
|
|
|
173
190
|
public static presentPaywallIfNeeded({
|
|
174
191
|
requiredEntitlementIdentifier,
|
|
175
192
|
offering,
|
|
176
|
-
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
|
|
193
|
+
displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
|
|
194
|
+
fontFamily,
|
|
177
195
|
}: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT> {
|
|
178
|
-
return RNPaywalls.presentPaywallIfNeeded(
|
|
196
|
+
return RNPaywalls.presentPaywallIfNeeded(
|
|
197
|
+
requiredEntitlementIdentifier,
|
|
198
|
+
offering?.identifier ?? null,
|
|
199
|
+
displayCloseButton,
|
|
200
|
+
fontFamily,
|
|
201
|
+
)
|
|
179
202
|
}
|
|
180
203
|
|
|
181
204
|
public static Paywall: React.FC<FullScreenPaywallViewProps> = ({
|