Skip Navigation

Software requirements

Android
development

Item
Requirement
Compatibility with previous versions of the SDK
The
BlackBerry Dynamics SDK for Android
is compatible with these previous releases of the SDK:
  • 11.0.x
  • 11.1.x
  • 11.2.x
  • 12.0.x
Supported
Android
OS
Android
11 or later
Target
Android
OS
Android
14
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.
  • androidx.appcompat:appcompat:1.0.0
  • androidx.cardview:cardview:1.0.0
  • androidx.constraintlayout:constraintlayout:1.1.3
  • androidx.core:core:1.0.0
  • androidx.legacy:legacy-support-v4:1.0.0
  • androidx.preference:preference:1.1.0
  • androidx.recyclerview:recyclerview:1.0.0
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:
  • com.google.android.gms:play-services-location:17.0.0
  • com.google.android.gms:play-services-safetynet:17.0.0
Supported CPU architectures
  • ARMv7
  • ARMv8
  • x86
  • x86_64
Java
compatibility
Applications must be built using
Java
17 or later.
Gradle
  • Minimum Gradle version: 8.0
  • Android
    Gradle Plug-in (com.android.tools.build:gradle): 8.1.1
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:
  • android:launchMode="standard"
  • android:launchMode="SingleTop"
  • android:launchMode="singleTask"
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

Item
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:
  • 11.0.x
  • 11.1.x
  • 11.2.x
  • 12.0.x
Deployment target
iOS
15 or later
Xcode
Xcode
14 or 15
Support for
Mac
Silicon M1 devices
  • BlackBerry Dynamics
    apps using SDK version 11.0 or later are supported for
    Mac
    Silicon devices.
  • BlackBerry Dynamics
    apps running on
    Mac
    Silicon devices are reported as
    Mac
    apps in the
    UEM
    management console.
  • UEM
    administrators can control access to
    BlackBerry Dynamics
    apps using the
    macOS
    compliance settings available in the management console.
  • To support Easy Activation and authentication delegation, you will need to provide the
    macOS
    bundle ID for the app in the Apps settings in myAccount.
Supported programming languages
  • Objective-C
  • Swift
    4, 4.2, 5
Supported Internet Protocols
  • IPv4
  • IPv6
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.
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
.
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

Item
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
  • Cordova
    10
  • Cordova
    11
  • Cordova
    12
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:
$ cordova platform remove android $ cordova platform add android@10.1.1
Node.js
18.x (LTS)
AngularJS
Version 1.x (without
Ionic
)
Angular
Version 7.x - 16.x
Note the following limitations for
Android
only:
Ionic
  • Ionic
    6
  • Ionic
    7
Support for
Ionic
6 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.
Ionic
1 project types are no longer supported by
Ionic
CLI 7.
Ionic
CLI 6 is the latest supported version for
Ionic
1 projects. For more information, see Ionic CLI V7 in the
Ionic
documentation. 
Compatibility with
BlackBerry Dynamics
SDK for
Android
and
iOS
This release of the
BlackBerry Dynamics SDK for Cordova
is compatible with
Android
and
iOS
version 11.1, 11.2, 12.0, and 12.1.
The
BlackBerry Dynamics SDK for iOS
static framework is no longer supported. To integrate
BlackBerry Dynamics SDK for Android
or
iOS
, complete one of the following options:
Using the default released version (12.1)
By default, the cordova-plugin-bbd-base plug-in will integrate the 12.1 version of the
BlackBerry Dynamics SDK for Android
or
iOS
.
For
iOS
, the following podspec URL is used: https://software.download.blackberry.com/repository/framework/dynamics/ios/
<version>
/BlackBerryDynamics-
<version>
.podspec.
If another integration methods was used, there is an option to reset the default configurations by running the following command:
$ cd <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ node scripts/setDynamicsPodSpec.js --default $ cd <path_to_your_app>
Remove the base plug-in only if it was previously added:
$ cordova plugin rm cordova-plugin-bbd-base $ cordova plugin add <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ cordova build
Using an older version
You can integrate the
BlackBerry Dynamics SDK for Android
or
iOS
with older released builds that are still supported.
To use
BlackBerry Dynamics SDK for iOS
version 11.x, run the following:
$ cd <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ node scripts/setDynamicsPodSpec.js --url "https://software.download.blackberry.com/repository/framework/dynamics/ios/11.2.0.26/BlackBerryDynamics-11.2.0.26.podspec" $ cd <path_to_your_app> // Remove Base plugin only if it was previously added $ cordova plugin rm cordova-plugin-bbd-base $ cordova plugin add <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ cordova build
To use
BlackBerry Dynamics SDK for Android
version 11.x, update the following
BlackBerry Dynamics
dependencies in <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base/gradle/bbd.gradle:
implementation 'com.blackberry.blackberrydynamics:android_handheld_platform:11. 2.0.13' implementation 'com.blackberry.blackberrydynamics:android_handheld_backup_suppo rt:11.2.0.13' implementation 'com.blackberry.blackberrydynamics:android_webview:11.2.0.13'
Then, run the following commands:
$ cd <path_to_your_app> // Remove Base plugin only if it was previously added $ cordova plugin rm cordova-plugin-bbd-base $ cordova plugin add <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ cordova build
Using a locally downloaded version
You can integrate a manually downloaded
BlackBerry Dynamics SDK for iOS
from a local storage location by running the following commands:
$ cd <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ node scripts/setDynamicsPodSpec.js --path "/Users/<user>/Downloads/gdsdk-release-dylib-X.X.X.X/BlackBerry_Dynamics_SDK_for_iOS_vX.X.X.X_dylib" $ cd <path_to_your_app> // Remove Base plugin only if it was previously added $ cordova plugin rm cordova-plugin-bbd-base $ cordova plugin add <path>/BlackBerry_Dynamics_SDK_for_Cordova_vX.X.X.X/plugins/cordova-plugin-bbd-base $ cordova build
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)