Container API example


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>

Related topics

Public API reference
Container
Legal notice | Copyright © 2016 and Confidential to Pegasystems Inc. All rights reserved
PDN | Hybrid Container | Feedback
Advanced...