@bubblsdk/react-native-sdk 3.0.4 → 3.0.6
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/BubblReactNativeSdk.podspec +2 -2
- package/CHANGELOG.md +9 -2
- package/android/build.gradle +2 -2
- package/ios/BubblSdk.swift +44 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Pod::Spec.new do |s|
|
|
2
2
|
s.name = 'BubblReactNativeSdk'
|
|
3
|
-
s.version = '3.0.
|
|
3
|
+
s.version = '3.0.6'
|
|
4
4
|
s.summary = 'React Native wrapper for Bubbl SDK v3 native Android and iOS cores.'
|
|
5
5
|
s.homepage = 'https://bubbl.tech'
|
|
6
6
|
s.license = { :type => 'Commercial', :text => 'Copyright Bubbl. All rights reserved.' }
|
|
@@ -13,5 +13,5 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
s.static_framework = true
|
|
14
14
|
|
|
15
15
|
s.dependency 'React-Core'
|
|
16
|
-
s.dependency 'BubblSDK', '3.0.
|
|
16
|
+
s.dependency 'BubblSDK', '3.0.6'
|
|
17
17
|
end
|
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 3.0.
|
|
3
|
+
## 3.0.6
|
|
4
|
+
|
|
5
|
+
- Bridges iOS `geofenceSnapshot` events through the React Native wrapper so iOS map/campaign UIs receive the same active geofence snapshot as Android.
|
|
6
|
+
- Expands native geofence parsing to accept imported runtime aliases such as `locations`, `location`, `notifications`, and `curatedNotifications`.
|
|
7
|
+
- Aligns the React Native wrapper with the native SDK 3.0.6 release.
|
|
8
|
+
|
|
9
|
+
## 3.0.5
|
|
4
10
|
|
|
5
11
|
- Android SDK notifications now create the shared `bubbl_notifications` channel at high importance, replacing an older lower-importance channel when possible so eligible notifications can appear as heads-up banners.
|
|
12
|
+
- Android SDK registration now emits a clear `firebase_config_missing` error when Firebase is not configured in the host app, instead of silently failing to register an FCM token.
|
|
6
13
|
- iOS installs a retained default `UNUserNotificationCenterDelegate` from the React Native wrapper so foreground notifications use banner/list presentation and taps are forwarded to the SDK.
|
|
7
14
|
- Filters paused and inactive runtime campaigns before they can surface through geofence or notification handling.
|
|
8
|
-
- Aligns the React Native wrapper with the native SDK 3.0.
|
|
15
|
+
- Aligns the React Native wrapper with the native SDK 3.0.5 release.
|
|
9
16
|
|
|
10
17
|
## 3.0.2
|
|
11
18
|
|
package/android/build.gradle
CHANGED
|
@@ -4,7 +4,7 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = "tech.bubbl.reactnative"
|
|
7
|
-
version = "3.0.
|
|
7
|
+
version = "3.0.6"
|
|
8
8
|
|
|
9
9
|
def isNewArchitectureEnabled() {
|
|
10
10
|
project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
|
|
@@ -41,6 +41,6 @@ android {
|
|
|
41
41
|
|
|
42
42
|
dependencies {
|
|
43
43
|
implementation "com.facebook.react:react-android:${reactNativeVersion}"
|
|
44
|
-
implementation "tech.bubbl.sdk:bubbl-sdk:3.0.
|
|
44
|
+
implementation "tech.bubbl.sdk:bubbl-sdk:3.0.6"
|
|
45
45
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1"
|
|
46
46
|
}
|
package/ios/BubblSdk.swift
CHANGED
|
@@ -603,6 +603,48 @@ private extension BubblGeofenceTransition {
|
|
|
603
603
|
}
|
|
604
604
|
}
|
|
605
605
|
|
|
606
|
+
private extension BubblGeofenceVertex {
|
|
607
|
+
func reactMap() -> [String: Any] {
|
|
608
|
+
["latitude": latitude, "longitude": longitude]
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
private extension BubblGeofencePolygon {
|
|
613
|
+
func reactMap() -> [String: Any] {
|
|
614
|
+
[
|
|
615
|
+
"campaignId": reactValue(campaignId),
|
|
616
|
+
"campaignName": reactValue(campaignName),
|
|
617
|
+
"locationId": reactValue(locationId),
|
|
618
|
+
"vertices": vertices.map { $0.reactMap() }
|
|
619
|
+
]
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
private extension BubblGeofenceCircle {
|
|
624
|
+
func reactMap() -> [String: Any] {
|
|
625
|
+
[
|
|
626
|
+
"campaignId": reactValue(campaignId),
|
|
627
|
+
"campaignName": reactValue(campaignName),
|
|
628
|
+
"locationId": reactValue(locationId),
|
|
629
|
+
"center": center.reactMap(),
|
|
630
|
+
"radiusMeters": radiusMeters
|
|
631
|
+
]
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
private extension BubblGeofenceSnapshot {
|
|
636
|
+
func reactMap() -> [String: Any] {
|
|
637
|
+
[
|
|
638
|
+
"stats": [
|
|
639
|
+
"campaignsTotal": stats.campaignsTotal,
|
|
640
|
+
"polygonsTotal": stats.polygonsTotal
|
|
641
|
+
],
|
|
642
|
+
"polygons": polygons.map { $0.reactMap() },
|
|
643
|
+
"circles": circles.map { $0.reactMap() }
|
|
644
|
+
]
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
|
|
606
648
|
private extension BubblNotificationPayload {
|
|
607
649
|
func reactMap() -> [String: Any] {
|
|
608
650
|
[
|
|
@@ -673,6 +715,8 @@ private extension BubblEvent {
|
|
|
673
715
|
return ["type": "notificationSurveyRequested", "payload": payload.reactMap()]
|
|
674
716
|
case .locationUpdated(let location):
|
|
675
717
|
return ["type": "locationUpdated", "location": location.reactMap()]
|
|
718
|
+
case .geofenceSnapshot(let snapshot):
|
|
719
|
+
return ["type": "geofenceSnapshot", "snapshot": snapshot.reactMap()]
|
|
676
720
|
case .geofenceEntered(let transition):
|
|
677
721
|
return ["type": "geofenceEntered", "transition": transition.reactMap()]
|
|
678
722
|
case .geofenceExited(let transition):
|