@usercentrics/react-native-sdk 2.7.3 → 2.7.5
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/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
[Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/)
|
|
2
|
+
### 2.7.5
|
|
3
|
+
|
|
4
|
+
## Improvements
|
|
5
|
+
|
|
6
|
+
* Major improvements to main thread use.
|
|
7
|
+
|
|
8
|
+
## Resolved Issues
|
|
9
|
+
|
|
10
|
+
* [Android] Resolve NPE crash happening in edge cases.
|
|
11
|
+
* Stability improvements.
|
|
12
|
+
|
|
13
|
+
# 2.7.4
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
* **[A/B Testing]** With this release, you will now be able to create your own A/B Testing when showing the banner to your users. Check our [exclusive page](https://docs.usercentrics.com/cmp_in_app_sdk/latest/features/ab-testing) on how to achieve this.
|
|
18
|
+
|
|
19
|
+
## Improvements
|
|
20
|
+
|
|
21
|
+
* General bug fixes.
|
|
22
|
+
* [iOS] Support dynamic colors.
|
|
23
|
+
|
|
2
24
|
# 2.7.3
|
|
3
25
|
|
|
4
26
|
## Improvements
|
package/android/build.gradle
CHANGED
|
@@ -9,12 +9,10 @@ public protocol UsercentricsManager {
|
|
|
9
9
|
func restoreUserSession(controllerId: String, onSuccess: @escaping ((UsercentricsReadyStatus) -> Void), onFailure: @escaping ((Error) -> Void))
|
|
10
10
|
|
|
11
11
|
func showFirstLayer(bannerSettings: BannerSettings?,
|
|
12
|
-
hostView: UIViewController,
|
|
13
12
|
layout: UsercentricsLayout,
|
|
14
13
|
dismissViewHandler: @escaping (UsercentricsConsentUserResponse) -> Void)
|
|
15
14
|
|
|
16
15
|
func showSecondLayer(bannerSettings: BannerSettings?,
|
|
17
|
-
hostView: UIViewController,
|
|
18
16
|
dismissViewHandler: @escaping (UsercentricsConsentUserResponse) -> Void)
|
|
19
17
|
|
|
20
18
|
func getControllerId() -> String
|
|
@@ -58,18 +56,15 @@ final class UsercentricsManagerImplementation: UsercentricsManager {
|
|
|
58
56
|
}
|
|
59
57
|
|
|
60
58
|
func showFirstLayer(bannerSettings: BannerSettings?,
|
|
61
|
-
hostView: UIViewController,
|
|
62
59
|
layout: UsercentricsLayout,
|
|
63
60
|
dismissViewHandler: @escaping (UsercentricsConsentUserResponse) -> Void) {
|
|
64
|
-
UsercentricsBanner(bannerSettings: bannerSettings).showFirstLayer(
|
|
65
|
-
layout: layout,
|
|
61
|
+
UsercentricsBanner(bannerSettings: bannerSettings).showFirstLayer(layout: layout,
|
|
66
62
|
completionHandler: dismissViewHandler)
|
|
67
63
|
}
|
|
68
64
|
|
|
69
65
|
func showSecondLayer(bannerSettings: BannerSettings?,
|
|
70
|
-
hostView: UIViewController,
|
|
71
66
|
dismissViewHandler: @escaping (UsercentricsConsentUserResponse) -> Void) {
|
|
72
|
-
UsercentricsBanner(bannerSettings: bannerSettings).showSecondLayer(
|
|
67
|
+
UsercentricsBanner(bannerSettings: bannerSettings).showSecondLayer(completionHandler: dismissViewHandler)
|
|
73
68
|
}
|
|
74
69
|
|
|
75
70
|
func restoreUserSession(controllerId: String, onSuccess: @escaping ((UsercentricsReadyStatus) -> Void), onFailure: @escaping ((Error) -> Void)) {
|
|
@@ -44,7 +44,6 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
|
|
|
44
44
|
queue.async { [weak self] in
|
|
45
45
|
guard
|
|
46
46
|
let self = self,
|
|
47
|
-
let rootVC = self.getPresentationViewController(),
|
|
48
47
|
let layoutString = dict["layout"] as? String,
|
|
49
48
|
let layout = UsercentricsLayout.from(enumString: layoutString)
|
|
50
49
|
else {
|
|
@@ -54,7 +53,6 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
|
|
|
54
53
|
|
|
55
54
|
let bannerSettingsDict = dict["bannerSettings"] as? NSDictionary
|
|
56
55
|
self.usercentricsManager.showFirstLayer(bannerSettings: BannerSettings(from: bannerSettingsDict),
|
|
57
|
-
hostView: rootVC as! UIViewController,
|
|
58
56
|
layout: layout) { response in
|
|
59
57
|
resolve(response.toDictionary())
|
|
60
58
|
}
|
|
@@ -64,17 +62,14 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
|
|
|
64
62
|
@objc func showSecondLayer(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
65
63
|
queue.async { [weak self] in
|
|
66
64
|
guard
|
|
67
|
-
let self = self
|
|
68
|
-
let rootVC = self.getPresentationViewController()
|
|
65
|
+
let self = self
|
|
69
66
|
else {
|
|
70
67
|
reject("usercentrics_reactNative_showFirstLayer_error", RNUsercentricsModuleError.invalidData.localizedDescription, RNUsercentricsModuleError.invalidData)
|
|
71
68
|
return
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
let bannerSettingsDict = dict["bannerSettings"] as? NSDictionary
|
|
75
|
-
self.usercentricsManager.showSecondLayer(bannerSettings: BannerSettings(from: bannerSettingsDict)
|
|
76
|
-
hostView: rootVC as! UIViewController) { response in
|
|
77
|
-
rootVC.dismiss(animated: true)
|
|
72
|
+
self.usercentricsManager.showSecondLayer(bannerSettings: BannerSettings(from: bannerSettingsDict)) { response in
|
|
78
73
|
resolve(response.toDictionary())
|
|
79
74
|
}
|
|
80
75
|
}
|
|
@@ -192,23 +187,4 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
|
|
|
192
187
|
@objc func reset() -> Void {
|
|
193
188
|
usercentricsManager.reset()
|
|
194
189
|
}
|
|
195
|
-
|
|
196
|
-
func getPresentationViewController() -> PresentationViewController? {
|
|
197
|
-
var window: UIWindow?
|
|
198
|
-
if #available(iOS 13.0, *) {
|
|
199
|
-
window = UIApplication
|
|
200
|
-
.shared
|
|
201
|
-
.connectedScenes
|
|
202
|
-
.compactMap { $0 as? UIWindowScene }
|
|
203
|
-
.flatMap { $0.windows }
|
|
204
|
-
.first { $0.isKeyWindow }
|
|
205
|
-
} else {
|
|
206
|
-
window = UIApplication.shared.windows.first { $0.isKeyWindow }
|
|
207
|
-
}
|
|
208
|
-
var viewController = window?.rootViewController
|
|
209
|
-
while viewController?.presentedViewController != nil {
|
|
210
|
-
viewController = viewController?.presentedViewController
|
|
211
|
-
}
|
|
212
|
-
return viewController
|
|
213
|
-
}
|
|
214
190
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usercentrics/react-native-sdk",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.5",
|
|
4
4
|
"description": "Usercentrics SDK",
|
|
5
5
|
"homepage": "https://usercentrics.com",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"author": "Usercentrics <developer@usercentrics.com>",
|
|
9
9
|
"iosPackageName": "react-native-usercentrics",
|
|
10
|
-
"iosPackageVersion": "2.7.
|
|
10
|
+
"iosPackageVersion": "2.7.5",
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE",
|
|
12
12
|
"files": [
|
|
13
13
|
"android",
|