Cordova Requirements
You need to install an inappbrowser plugin.
cordova plugin add cordova-plugin-inappbrowser
For future versions of the plugin, you need to redefine the window.open
method.
window.open = cordova.InAppBrowser.open;
File Layout
It is better to save all assets for a mobile application in the app bundle.
You can download the latest compiled widget and place it inside your www
folder, for example in the www/js/uploadcare-widget
folder.
The minimal widget version which properly works with Cordova is 2.5.7.
Widget Inclusion and Options
You can use relative paths to the widget in the script tag:
After that, you need to set the following options:
UPLOADCARE_PUBLIC_KEY = 'demopublickey';
UPLOADCARE_SCRIPT_BASE = 'js/uploadcare-widget/';
UPLOADCARE_PASS_WINDOW_OPEN = true;
The first line is the public key; the second line is the path to widget assets; the third is a line for authentication handling for social networks and cloud storages.
Content Security Policy
Most of Cordova applications use content security policy to restrict access to unwanted resources. There is a minimal set of rules needed for the widget:
<meta http-equiv="Content-Security-Policy" content="
default-src 'self';
style-src 'unsafe-inline';
frame-src gap: https://social.uploadcare.com;
img-src 'self' data: https://ucarecdn.com/;
connect-src https://upload.uploadcare.com ws://ws.pusherapp.com;
">
Or just in one default-src:
<meta http-equiv="Content-Security-Policy" content="
default-src 'self' gap: data: 'unsafe-inline' https://ucarecdn.com/
https://social.uploadcare.com https://upload.uploadcare.com ws://ws.pusherapp.com;
">