BlackBerry Dynamics SDK for React Native version 12.0
BlackBerry Dynamics SDK for React Native
version 12.0The
BlackBerry Dynamics SDK for React Native
is open sourced and available on GitHub
, along with developer documentation and sample apps, at https://github.com/blackberry/BlackBerry-Dynamics-React-Native-SDK.New in this release
Feature | Description |
---|---|
Support for BlackBerry Dynamics SDK 12.0 | BlackBerry Dynamics SDK for iOS and Android 12.0 is now supported. |
Support for Play Integrity attestation | Play Integrity attestation is supported and added to the existing SafetyNet attestation library. For more information, see Implementing Play Integrity attestation for BlackBerry Dynamics apps.The BlackBerry Dynamics SDK for React Native 12.0 is not compatible with previous versions of the SafetyNet library. BlackBerry
Dynamics apps must use the latest SafetyNet library distributed with the BlackBerry Dynamics SDK for React Native 12.0 to support Play Integrity attestation. For more information, see the BlackBerry Dynamics SDK for Android API reference. |
Enhancements to the <WebView /> UI component | The following APIs have been added to the <WebView /> UI component to enhance secure download functionality for Android:
For more information, see the BBWebView API documentation. The WebViewBrowser sample app has also been updated. |
Support
Feature | Description |
---|---|
Development requirements |
|
React Native supported versions |
React Native 0.67.x and earlier requires Node.js version 12.x. and Java version 8.x.React Native 0.68.x and later requires Node.js version 18.x. and Java version 11.x. |
BlackBerry Dynamics SDK supported versions |
|
Features
Feature | Description |
---|---|
Integration with BlackBerry
Dynamics | Integration of the BlackBerry Dynamics SDK for iOS and Android into the React Native application is supported by the addition of the BlackBerry-Dynamics-for-React-Native-Base module. You can also integrate a locally downloaded version of BlackBerry Dynamics SDK for iOS into your BlackBerry
Dynamics React Native app. |
Secure connectivity |
|
Secure storage |
|
Data leakage prevention (DLP) | No code work is required to support DLP for iOS and Android . Note the following:
|
Inter-Container Communication (ICC) | ICC (also known as AppKinetics) provides service discovery, service consumption, and service providing capabilities for BlackBerry
Dynamics React Native apps and allows secure communication with other BlackBerry
Dynamics apps. To implement some ICC capabilities in BlackBerry
Dynamics React Native apps, use the BlackBerry-Dynamics-for-React-Native-AppKinetics module. |
Support for Yarn package manager |
For more information, see the readme file for each module. |
Importing a prepopulated SQLite database | You can use any of the methods detailed here to import a prepopulated SQLite database: Importing a prepopulated database. The third method is supported for Android only. For more information, see the readme file at https://github.com/blackberry/BlackBerry-Dynamics-React-Native-SDK. |
Package contents
Feature | Description |
---|---|
Modules |
|
UI components |
|
Sample apps |
|
Fixed issues
When sending a file from BlackBerry Work using AppKinetics, if the Annotate file service was enabled, the Edit file service did not work properly. (GD-61620) |
Known issues
Image content may not be visible on the iOS clipboard sample app. (GD-63121) |
Flipper cannot be used with BlackBerry Dynamics SDK for React Native in debug configuration because it disables some BlackBerry
Dynamics secure networking functionality. Flipper is disabled by default on iOS and Android . If your BlackBerry Dynamics SDK for React Native app does not use the secure connectivity feature (BlackBerry-Dynamics-for-React-Native-Networking module), you can enable Flipper by uncommenting the following:
|
When both default and secure SQLite libraries are linked to an iOS project, it can cause conflicts and unpredictable behavior. Workaround: Remove the sqlite3 dependency in */node_modules/reactnative- webrtc/react-native-webrtc.podspec, and then run pod install again. |
Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined. More details can be found here. React Native 0.68 and higher supports Android 12+ by default by setting appropriate setting in AndroidManifest.xml. For React Native versions 0.67 and earlier, android:exported should be set manually. |
React Native for iOS projects using Xcode 14.3 (14E222b) fails to build properly. This is a known issue with the React Native platform, and more details can be found here. |
When loading the Metro server on React Native versions 0.72.0 or 0.72.1, a "Cannot read properties of undefined (reading 'addHelper')" error occurs.Workaround: Add the following devDependency to the project:
|
When creating a new React Native project on versions 0.72.5 or earlier, an error may occur when installing activesupport CocoaPods dependencies. Workaround: Create or update the gemfile in the root of your project with this dependency: gem 'activesupport', '~> 7.0.8' . Then, run the following commands:
The same issue can occur when running Dynamics React Native sample apps. Make sure that version 7.0.8 of activesupport Ruby gem is installed locally:
|