Plugins provide important functionalities to native mobile apps, letting you use many of the hardware capabilities of mobile devices. You can add notifications, use camera or global positioning services, read QR codes, and more.
The list of supported mobile plugins
The table shows the OutSystems-supported mobile plugins that you can find in the Forge repository. Some of them are already supported when distributing your app as a Progressive Web App (PWA).
You may also create mobile plugins by wrapping an Apache Cordova plugin into a module.
|Plugin||Description||Supported in PWA|
|AppShield||Protect your mobile apps from tampering. OutSystems AppShield hardens the native mobile build, enabling the app to detect attempts of modification and misuse.||—|
|Calendar||Access the calendar of your device.||—|
|Camera||Enable your application to access the camera capabilities of the device.||Yes|
|Ciphered Local Storage||Keep your mobile application's sensitive data safe using a ciphered local storage database.||—|
|Contacts||Access the contacts of your device.||—|
|Card IO||Automatically get the details of a credit card by taking a picture.||—|
|File||Lets you manage files and folders on a mobile device within the app sandbox.||—|
|File Transfer||Lets users upload and download files in the background.||—|
|File Viewer||Lets users view remote or app resource files.||—|
|InApp Browser||Open external URLs directly in your application.||—|
|Key Store||Store small amounts of sensitive information on your device. Key Store secures data by encrypting the data before storing it, and the platform itself carefully controls access to stored items.||—|
|Location||Access the GPS capabilities of the user's device to show, for example, the present latitude, longitude, and altitude.||Yes|
|Local Notifications||Send app notifications to the device when the application isn't running in the foreground.||—|
|OneSignal Notifications||Push notifications using OneSignal, with deep-linking and actions.||—|
|QR/Barcode scanner||Scan barcodes and QR codes.||—|
|SSL Pinning||Provide an extra layer of security to HTTPS communications by adding a verification of the server certificate against hashes of public keys.||—|
|Touch ID||Use authentication with Touch ID in your application.||—|
When working with the plugins, keep in mind the following notes:
- Use the plugin that supports iOS or Android, depending on your target platform. The app generation fails if you use a plugin that isn't supported on the target platform.
- Each time you add, remove, or modify the plugin in an app, OutSystems rebuilds the native shell which you then have to distribute to the end users for installation.
- You must include the plugin license in your app to respect the license agreements of that plugin. These license agreements are usually placed in the About page of the app that uses them.
Installing a plugin
To install a supported plugin from Forge:
Find the plugin you want to use in the list of supported mobile plugins.
Click the plugin name in the column Plugin. The Forge page opens.
In the Forge plugin page, click INSTALL and follow the instructions to install the plugin and optionally the demo app that comes with the plugin.
Once the installation finishes, reference the plugin in your module.
Find the plugin documentation in the table of content next to this page, or check out the Documentation tab in the plugin Forge page.
Referencing a plugin
Referencing an installed plugin lets you use the plugin functionalities in the app logic. Follow these steps to reference a mobile plugin:
In Service Studio, open Manage Dependencies (Ctrl+Q).
Enter the plugin name in the Search producers field. If the plugin name is Camera Plugin, try searching for
In the results, in the producers list, select the plugin.
In the plugin elements, in the public elements list, select the elements you want to use in your app. If you're unsure which elements to select, select all by selecting the plugin handle at the top of the list.
Click Apply to confirm adding the plugin to the app.
Verify Service Studio added the plugin elements. Most plugins have logic in Logic > Client Actions > plugin handle. Some plugins come with user interface elements that you can find in Interface > UI Flows > plugin handle.
All mobile apps generated by OutSystems include a native shell with the following built-in plugins that are used internally, handling a variety of housekeeping and infrastructure tasks.
|OS Cache||Lets your application to run offline or with bad network conditions.|
|OS Cordova Loader||Loads the Cordova engine on your app.|
|OS Deeplinks||Opens hyperlinks to specific screens of your app.|
|OS DB Upgrader||Manages the local storage of your app.|
|OS Manifest||Provides a parser for the app manifest.|
|OS Pre-Bundle||Handles the content of the app pre-bundled resources.|
|OS Security||Provides the APIs for the security layer.|
|Mobile AppFeedback||Enables the user to invoke App Feedback for submitting feedback about the app.|
|NetworkStatus||Lets your app know when the device is online/offline and informs of the type of network available (for example, WiFi, 3G, 4G).|
While you may see the names of these built-in plugins in the native mobile shell logs they're not user-configurable. The only exception is Mobile AppFeedback, which is present in the native shell if you enable the App Feedback feature.
Articles in this Section
- Barcode Plugin
- Learn how to use the Barcode Plugin to scan barcodes and QR codes.
- Camera Plugin
- Let your users take pictures in native mobile apps and PWAs. Adjust the picture properties in the native mobile apps. Demo app available to see the plugin in action.
- File Plugin
- Manage files and folders on a mobile device within the app sandbox.
- File Transfer Plugin
- Upload and download files in background.
- File Viewer Plugin
- Use File Viewer Plugin to let users of your mobile app to view remote or app resource files.
- Firebase Plugins
- Use the Firebase-based plugins Analytics, Crashlytics, and Performance to implement common development patterns in your mobile apps.
- SSL Pinning Plugin
- Provides an extra layer of security to HTTPS communications.
- Using Cordova Plugins
- Create your own mobile plugin by wrapping an Apache Cordova plugin into an OutSystems module. Reference the plugin from the npm registry or git repository, or write it from zero.