The index.html
file containing JavaScript that makes use of the
Container API functionality is listed below.
<!DOCTYPE html> <html manifest="manifest.appcache"> <head> <title>Container lifecycle API usage example</title> <script type="text/javascript"> var loaded = false; window.onLaunchboxLoaded = function () { loaded = true; initListeners(); } function initListeners(){ if(!loaded) { alert("launchbox is not yet loaded"); return; } launchbox.Container.addLifecycleListener({ onShow: function() { printText("onShow callback"); }, onHide: function() { printText("onHide callback"); }, onPause: function() { printText("onPause callback"); }, onResume: function() { printText("onResume callback"); } }); } function getID(){ launchbox.Container.getPlatformSpecificDeviceId("androidid", function callback(id){ printText(id); } ); } function printText(str) { var d = document.getElementById('text-box'); d.appendChild(document.createTextNode(str)); d.appendChild(document.createElement('br')); d.scrollTop = d.scrollHeight; } function clearOutput(){ var d = document.getElementById('text-box'); d.innerHTML = ""; } </script> </head> <body> <header> <h3>Container lifecycle API usage example</h3> </header> <div> <input type="button" onclick="getID();" value="Get device ID"/> <input type="button" onclick="clearOutput();" value="Clear output"/> <input type="button" onclick="closeApp();" value="Close an application"/> </div> <hr /> <div id="text-box"> </div> </body> </html>
The contents of the cache manifest file called manifest.appcache
for
this application are listed below:
CACHE MANIFEST CACHE: index.html NETWORK: *
The webapp-descriptor.xml
file for this application is defined in the
following way: Notice the declaration of the appkey
parameter which
is required to be able to communicate with Pega AMP backend.
<?xml version="1.0" encoding="UTF-8"?> <webapp-descriptor xmlns="http://www.pega.com/application-hosting/ web-app-descriptor/2.1"> <id>com.pega.sample.Container</id> <version>1.0.0</version> <name>Container API usage example</name> <appkey>abc89755-4477-4e60-80a5-9794c6cec78e</appkey> </webapp-descriptor>