Uniface Mobile: Changed approach to integrate third-party plugins

Author: rolf.phielix@uniface.com (rolfph)

Lately we experienced some instability issues in the Mobile Build Service (Buildozer) environment. The majority of those instabilities have been caused by issues that can be linked to the Cordova plugins. Causes of these instabilities/failures in the Buildozer environment have been:

  • Plugins being included in the build scripts with a URL that points to their git repository, in i.e. GitHub or Bitbucket. The use of URLs proves to be unstable. A better approach, which is also recommended by plugin maintainers, is to use the npm name instead.
  • Plugin versions can be out of sync with the Buildozer/appFactory environment. When this happens, builds including these plugins can start failing.

To overcome the above problems we changed the approach to integrate third-party plugins into Uniface mobile apps: 

  • The Buildozer service has been updated to expect all plugins in the property Plugins (app_custom_plugins ) (formerly Custom Plugins) instead of in the property Phonegap plugins (app_phonegap_plugins), which is no longer available. As a consequence, to continue being able to build your mobile apps, you need to re-specify the plugins you use. 

   Redefine Plugins for an Existing Mobile App   Use the following instructions to ensure that you can continue to build your mobile app. 

  • If you have updated your Uniface installation to Uniface 9.7.04 (G413) and Uniface 10.2 (F213) or higher: Specify all plugins that your app uses in the property Plugins, in the format: npmPluginName{@version} By default, the Splash screen plugin is already specified: cordova-plugin-splashscreen. 
  • If you are using Uniface 9.7.04 (G408-412) or Uniface 10.2.01 (F208-F212): Add the plugins that your app uses in the property Custom Plugins in the format: npmPluginName{@version} For example: cordova-plugin-splashscreen@4.0.3
  • If you are using Uniface 9.7.04 prior to patch G408 or Uniface 10.2.01 patch F208: Add the plugins that your app uses in the property Custom Plugins in the format: pluginURL{#version} For example: https://github.com/apache/cordova-plugin-splashscreen.git#4.0.3

                Additional information: If you do not specify the Splash screen plugin, the splash screen will no longer be displayed when the app is started.   Uniface no longer maintains its own list of supported plugin versions. If you want to be sure that your current mobile app uses the same version of the plugin as was last supported by Uniface, specify its version number provided in the following table.

Last-Supported Plugin Versions
Plugin NPM Name and URL Version Last-Supported in Uniface
Splash screen cordova-plugin-splashscreen https://github.com/apache/cordova-plugin-splashscreen.git 4.0.3
Barcode Scanner phonegap-plugin-barcodescanner https://github.com/phonegap/phonegap-plugin-barcodescanner.git v.6.0.8
Cache cordova-plugin-cache https://github.com/moderna/cordova-plugin-cache.git r1.0.2
Camera cordova-plugin-camera https://github.com/apache/cordova-plugin-camera.git 2.4.1
Contacts cordova-plugin-contacts https://github.com/apache/cordova-plugin-contacts.git 2.3.1
Geolocation cordova-plugin-geolocation https://github.com/apache/cordova-plugin-geolocation.git 2.4.3
Globalization cordova-plugin-globalization https://github.com/apache/cordova-plugin-globalization.git 1.0.7
Keyboard ionic-plugin-keyboard https://github.com/driftyco/ionic-plugin-keyboard.git v2.2.1
Printer cordova-plugin-printer https://github.com/katzer/cordova-plugin-printer.git 2.2.3 0.7.3
Screen orientation cordova-plugin-screen-orientation https://github.com/apache/cordova-plugin-screen-orientation.git 2.0.1
Status Bar cordova-plugin-statusbar https://github.com/apache/cordova-plugin-statusbar.git 2.2.3
Toast message toast-phonegap-plugin https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git NPM name used

This page has no comments.