Cordova/Capacitor SDK
To integrate the Atomic SDK into your Cordova or Capacitor app, you'll use the Atomic Web SDK. Therefore, for full documentation for the Cordova/Capacitor SDK, please see the Web SDK documentation page.
Boilerplate App
For an example of integrating the Atomic SDK in a Cordova application, see our boilerplate app on GitHub.
Installation
To use the Web SDK with your Cordova or Capacitor app:
- Download the Atomic SDK from our CDN, and bundle it with your application. There are two files you need to download:
https://downloads.atomic.io/web-sdk/release/26.2.0/iframe-manager.jshttps://downloads.atomic.io/web-sdk/release/26.2.0/sdk.js
Change the version number (e.g. 25.2.1) to download a specific version.
-
(Cordova only): Modify the
Content-Security-Policymeta tag in your Cordova app to allow the following URLs. -
Add
<allow-navigation href="about:*" />to your config.xml file. -
Include the
sdk.jsandiframe-manager.jsfiles as two standalone scripts, added to your app asscripttags. Theiframe-manager.jsscript tag must also have the IDatomic-frame-manager, and must appear before thesdk.jstag.
We require you to download the scripts and include them locally, importing the scripts directly from the Atomic CDN will not work for a Cordova integration of the SDK.
- Enable the
cordovafeature via the stream container configuration object:
<html>
...
<body>
<!-- Include the following scripts on your page (must be in this order) -->
<script src="js/iframe-manager.js" id="atomic-frame-manager"></script>
<script src="js/sdk.js"></script>
<!-- Initialize the SDK (Cordova example using the deviceready event) -->
<script>
document.addEventListener('deviceready', function() {
AtomicSDK.initialise('<apiHostUrl>', '<apiKey>', '<environmentId>');
const launcherInstance = AtomicSDK.launch({
streamContainerId: '<streamContainerId>',
features: {
cordova: {
enabled: true,
},
},
});
}.bind(this), false);
</script>
</body>
</html>
Push Notifications
Full documentation on integrating support for push notifications on iOS and Android can be found in the Web SDK documentation.
Atomic delivers to iOS over APNs, so the token you pass to registerDeviceForNotifications on an iOS device must be an APNs token, not a Firebase Cloud Messaging (FCM) token. cordova-plugin-push returns an FCM token on iOS when a GoogleService-Info.plist is bundled with the iOS app. See Send the push token to the Atomic Platform for how to tell the two apart and how to configure the plugin.