Software requirements
Android development
Android
developmentItem | Requirement |
---|---|
Compatibility with previous versions of the SDK | The BlackBerry Dynamics SDK for Android is compatible with these previous releases of the SDK:
|
Supported Android OS | Android 10.0 or later |
Android API Level | Minimum API level: 29 |
AndroidX libraries | Your apps must use the AndroidX support libraries to compile successfully. The SDK supports the following minimum versions. It is recommended to use the latest stable version of each library.
|
Build requirements | If the app project uses the SDK .jar distribution, load the shared libraries libsbgse.so and libgdndk.so. |
Google
Play Services | The SDK uses Google
Play Services version 17.0.0 to support some of its functionality.If your app uses the following Google
Play Services libraries, verify that you are using the following minimum version or later:
|
Supported CPU architectures |
|
Java compatibility | Applications must be built using Java 8 compatibility. For more information, see java8-support. |
Suggested versions of platform and tools |
|
Package visibility restrictions | Package visibility updates were made in SDK version 8.1 and later to address changes in Android 11 to how apps query and interact with other apps that are installed on the same device. These changes impact apps with the target SDK level set to Android 11 or later only (targetSDKLevel=Android 11). If a BlackBerry
Dynamics app is not upgraded to SDK version 8.1 and you change the target SDK level to Android 11, the app cannot communicate with other BlackBerry
Dynamics apps on the same device, breaking interoperability features (Easy Activation, authentication delegation, and so on).To support the new package visibility queries element, you must either upgrade the Android Gradle plugin to version 3.6.3 or later or follow the instructions from the Android Developers Blog: Preparing your Grade build for package visibility in Android 11 to use a major Gradle version with the latest dot release.Apps that target Android 11 are able to perform interoperability operations with the apps that don't target Android 11. Apps that are not targeted to Android 11 can run on Android 11 and are not affected by the package visibility restrictions. |
Character encoding for build files | Build files (for example, settings.json) must use UTF-8 character encoding. Verify that the editor that you plan to use does not add non-UTF-8 characters or headers. In general, Java does not work with UTF-8-BOM (byte order mark). |
Supported launch modes | Apps built with the BlackBerry Dynamics SDK for Android support the following launch modes in AndroidManifest.xml:
|
BlackBerry Dynamics Launcher Library | The BlackBerry Dynamics Launcher is a user-friendly interface that allows users to easily access and switch between BlackBerry
Dynamics apps, configure app settings, and take advantage of other useful features. For more information, see the BlackBerry Dynamics Launcher Framework documentation.The BlackBerry Dynamics SDK and the BlackBerry Dynamics Launcher Library are mutually dependent. See the BlackBerry Dynamics SDK for Android Release Notes for the required version of the BlackBerry Dynamics Launcher Library . |
Restricted key prefix | The key prefix "blackberry" is reserved by BlackBerry and should not be used for key values, key attributes, or key elements. For more information and examples, see the Application Policies Definition in the appendix of the API Reference. |
Credential manager requirements | Apps that will use the Credential Manager UI require the following updates: In the app level module of your Gradle file (app/build.gradle), in the dependencies section, add implementation 'androidx.recyclerview:recyclerview:1.0.0' . |
iOS development
iOS
developmentItem | Requirement |
---|---|
Compatibility with previous versions of the SDK | The latest release of the BlackBerry Dynamics SDK for iOS is compatible with these previous releases of the SDK:
|
Deployment target | iOS 15 or later |
Xcode | Xcode 14 or 15 |
Support for Mac Silicon M1 devices |
|
Supported programming languages |
|
Supported Internet Protocols |
|
Info.plist requirements | In the Info.plist file, add the key "Privacy - Camera Usage Description" with the value "Allow camera usage to scan a QR code". This is not required if the app already uses the camera for its own purposes. For ISV apps, it is recommended that you add the following usage descriptions (or your own custom descriptions) to the Info.plist file to inform the user why the app requires location permission:
|
Native bundle ID | If you develop a BlackBerry
Dynamics app for use on both iPhone and iPad devices, use a single native bundle ID for all variations of the app. UEM will only accept a single native bundle ID. |
Keychain group sharing for multiple apps | Keychain group sharing allows groups of apps to share information that is stored on a device's keychain. Keychain group sharing is required when you are developing multiple inter-related apps. The setting is part of a project's build. To enable keychain group sharing in an Xcode project, open the project file, navigate to the app target Capabilities tab, and turn on Keychain Sharing. You may be asked for your developer password and to choose a development team. The provisioning profiles for each app must come from the same team and must share the same App ID prefix (see row below). For the Keychain Group, specify com.good.gd.data . Also, if you intend to use crypto tokens in your app, specify com.apple.token .If the settings for keychain group sharing change, it is recommended to do a fresh reinstall of the new version of the app instead of upgrading the old version. This ensures that the new keychain settings take effect. |
App ID prefix | An App ID prefix is a unique ID that groups a collection of apps and enables those apps to share keychain and UIPasteboard data. Apps that share keychain data must have a common App ID prefix from Apple .For more information, see Technical Note TN2311: Managing Multiple App ID Prefixes. The Apple App ID prefix is completely independent of the BlackBerry
Dynamics entitlement ID. |
BlackBerry Dynamics Launcher Library | The BlackBerry Dynamics Launcher is a user-friendly interface that allows users to easily access and switch between BlackBerry
Dynamics apps, configure app settings, and take advantage of other useful features. For more information, see the BlackBerry Dynamics Launcher Framework documentation.The BlackBerry Dynamics SDK and the BlackBerry Dynamics Launcher Library are mutually dependent. See the BlackBerry Dynamics SDK for iOS Release Notes for the required version of the BlackBerry Dynamics Launcher Library . |
Restricted key prefix | The key prefix "blackberry" is reserved by BlackBerry and should not be used for key values, key attributes, or key elements. For more information and examples, see the Application Policies Definition in the appendix of the API Reference. |
Cordova development
Cordova
developmentItem | Requirement |
---|---|
Development environment | The macOS platform is recommended for developing an app with the BlackBerry Dynamics SDK for Cordova . Development on a Windows computer is supported only for the Android platform. |
Supported Cordova libraries |
Support for Cordova 10 is deprecated and will be removed in a future release.cordova-android@10.1.1 is the only supported version for a Cordova 10 project on Android . To upgrade to this version, run the following commands:
|
Node.js | 10.x (LTS) or later |
AngularJS | Version 1.x (without Ionic ) |
Angular | Version 7.x Note the following limitations for Android only:
|
Ionic |
Support for Ionic 5 is deprecated and will be removed in a future release.The SDK supports Ionic projects with the angular and Ionic 1 types only; projects with a react or vue type are not supported. |
Compatibility with BlackBerry
Dynamics SDK for Android and iOS | This release of the BlackBerry Dynamics SDK for Cordova is compatible with BlackBerry Dynamics SDK for Android and iOS version 11.1 and 11.2. To downgrade BlackBerry Dynamics SDK for Cordova to use BlackBerry Dynamics SDK for Android 10.1 or 10.2, do the following:Open plugins/cordova-plugin-bbd-base/scripts/gradle/bbd.gradle and update the dependencies to the following:
To downgrade BlackBerry Dynamics SDK for Cordova to use BlackBerry Dynamics SDK for iOS 10.1 or 10.2, do the following:Open plugins/cordova-plugin-bbd-base/plugin.xml and replace the podspec URL to the following:
The BlackBerry Dynamics SDK for Cordova requires use of the BlackBerry Dynamics SDK for iOS dynamic framework. The BlackBerry Dynamics SDK for iOS static framework is no longer supported. For more information, see the readme file for the Base plug-in (cordova-plugin-bbd-base).It is recommended that you always build and test with the most recent release of the BlackBerry Dynamics SDK for Cordova , to take advantage of new fixes and features. |
Unsupported BlackBerry
Dynamics features | Android : Data Leakage Prevention (DLP) |