
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>