infobip-mobile-messaging-react-native-plugin 9.3.0 → 10.0.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/README.md CHANGED
@@ -84,18 +84,6 @@ This guide is designed to get you up and running with Mobile Messaging SDK plugi
84
84
 
85
85
  3. Add a Firebase configuration file (google-services.json) as described in <a href="https://firebase.google.com/docs/android/setup#add-config-file" target="_blank">`Firebase documentation`</a>. Check <a href="https://github.com/infobip/mobile-messaging-react-native-plugin/wiki/Applying-Firebase-configuration-in-MobileMessaging-SDK">Applying Firebase configuration in MobileMessaging SDK Guide</a> for alternatives.
86
86
 
87
- > ### Notice (check if you don't plan to use [Geofencing](https://github.com/infobip/mobile-messaging-react-native-plugin/wiki/Geofencing#android)):
88
- > As long as Geofencing is automatically included to the plugin, it adds required geo permissions automatically. You can remove them from `/android/app/src/main/AndroidManifest.xml` by adding following:
89
- > ```
90
- > <manifest ... xmlns:tools="http://schemas.android.com/tools">
91
- > ...
92
- > <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
93
- > <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove" />
94
- > <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" tools:node="remove" />
95
- > ...
96
- > </manifest>
97
- > ```
98
-
99
87
  > ### Notice (when targeting Android 13):
100
88
  > Starting from Android 13, Google requires to ask user for notification permission. Follow [this guide](https://github.com/infobip/mobile-messaging-react-native-plugin/wiki/Android-13-Notification-Permission-Handling) to make a permission request.
101
89
 
@@ -87,7 +87,7 @@ repositories {
87
87
  }
88
88
 
89
89
  dependencies {
90
- def mmVersion = "11.2.0"
90
+ def mmVersion = "12.1.0"
91
91
  //react and mm dependencies clash
92
92
  if (!overrideKotlinVersion.empty) {
93
93
  constraints {
@@ -93,6 +93,7 @@ class Configuration {
93
93
  String applicationCode;
94
94
  boolean geofencingEnabled;
95
95
  boolean inAppChatEnabled;
96
+ boolean fullFeaturedInAppsEnabled;
96
97
  Map<String, ?> messageStorage;
97
98
  boolean defaultMessageStorage;
98
99
  boolean loggingEnabled;
@@ -392,6 +392,9 @@ public class ReactNativeMobileMessagingModule extends ReactContextBaseJavaModule
392
392
  .withoutRegisteringForRemoteNotifications()
393
393
  .withApplicationCode(configuration.applicationCode);
394
394
 
395
+ if(configuration.fullFeaturedInAppsEnabled)
396
+ builder.withFullFeaturedInApps();
397
+
395
398
  if (configuration.privacySettings.userDataPersistingDisabled) {
396
399
  builder.withoutStoringUserData();
397
400
  }
@@ -19,10 +19,10 @@ Pod::Spec.new do |s|
19
19
  s.requires_arc = true
20
20
 
21
21
  s.dependency "React-Core"
22
- s.dependency "MobileMessaging/Core", "12.2.3"
23
- s.dependency "MobileMessaging/Geofencing", "12.2.3"
24
- s.dependency "MobileMessaging/InAppChat", "12.2.3"
22
+ s.dependency "MobileMessaging/Core", "12.3.1"
23
+ s.dependency "MobileMessaging/Geofencing", "12.3.1"
24
+ s.dependency "MobileMessaging/InAppChat", "12.3.1"
25
25
  if defined?($WebRTCUIEnabled)
26
- s.dependency "MobileMessaging/WebRTCUI", "12.2.3"
26
+ s.dependency "MobileMessaging/WebRTCUI", "12.3.1"
27
27
  end
28
28
  end
@@ -106,7 +106,8 @@ class RNMMChat: NSObject {
106
106
  let localeS = String(localeString)
107
107
  let separator = localeS.contains("_") ? "_" : "-"
108
108
  let components = localeS.components(separatedBy: separator)
109
- let lang = MMLanguage.mapLanguage(from: components.first ??
109
+ let langCode = localeS.contains("zh") ? localeS : components.first
110
+ let lang = MMLanguage.mapLanguage(from: langCode ??
110
111
  String(localeS.prefix(2)))
111
112
  chatVC.setLanguage(lang) { error in
112
113
  if let error = error {
@@ -28,6 +28,7 @@ class RNMobileMessagingConfiguration {
28
28
  static let reactNativePluginVersion = "reactNativePluginVersion"
29
29
  static let notificationCategories = "notificationCategories"
30
30
  static let inAppChatEnabled = "inAppChatEnabled"
31
+ static let fullFeaturedInAppsEnabled = "fullFeaturedInAppsEnabled"
31
32
  static let webViewSettings = "webViewSettings"
32
33
  }
33
34
 
@@ -42,6 +43,7 @@ class RNMobileMessagingConfiguration {
42
43
  let reactNativePluginVersion: String
43
44
  let categories: [MMNotificationCategory]?
44
45
  let inAppChatEnabled: Bool
46
+ let fullFeaturedInAppsEnabled: Bool
45
47
  let webViewSettings: [String: AnyObject]?
46
48
 
47
49
  init?(rawConfig: [String: AnyObject]) {
@@ -58,6 +60,7 @@ class RNMobileMessagingConfiguration {
58
60
  self.defaultMessageStorage = rawConfig[RNMobileMessagingConfiguration.Keys.defaultMessageStorage].unwrap(orDefault: false)
59
61
  self.messageStorageEnabled = rawConfig[RNMobileMessagingConfiguration.Keys.messageStorage] != nil ? true : false
60
62
  self.inAppChatEnabled = rawConfig[RNMobileMessagingConfiguration.Keys.inAppChatEnabled].unwrap(orDefault: false)
63
+ self.fullFeaturedInAppsEnabled = rawConfig[RNMobileMessagingConfiguration.Keys.fullFeaturedInAppsEnabled].unwrap(orDefault: false)
61
64
 
62
65
  if let rawPrivacySettings = rawConfig[RNMobileMessagingConfiguration.Keys.privacySettings] as? [String: Any] {
63
66
  var ps = [String: Any]()
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "infobip-mobile-messaging-react-native-plugin",
3
3
  "title": "Infobip Mobile Messaging React Native Plugin",
4
- "version": "9.3.0",
4
+ "version": "10.0.0",
5
5
  "description": "Infobip Mobile Messaging React Native Plugin",
6
6
  "main": "./src/index.js",
7
7
  "scripts": {
package/src/index.d.ts CHANGED
@@ -28,6 +28,7 @@ declare namespace MobileMessagingReactNative {
28
28
  } | undefined;
29
29
  geofencingEnabled?: boolean | undefined;
30
30
  inAppChatEnabled?: boolean | undefined;
31
+ fullFeaturedInAppsEnabled?: boolean | undefined;
31
32
  /**
32
33
  * Message storage save callback
33
34
  */
package/src/index.js CHANGED
@@ -146,6 +146,7 @@ class MobileMessaging {
146
146
  * geofencingEnabled: true,
147
147
  * messageStorage: '<Message storage save callback>',
148
148
  * defaultMessageStorage: true,
149
+ * fullFeaturedInAppsEnabled: true,
149
150
  * ios: {
150
151
  * notificationTypes: ['alert', 'sound', 'badge'],
151
152
  * logging: <Boolean>