The index.html
file containing JavaScript that makes use of the
PushNotifications API functionality is listed below.
<!DOCTYPE html> <html manifest="manifest.appcache"> <head> <title>Push notifications API usage example</title> <script type="text/javascript"> // configuration flag about automatic token passed to Management Console over ACF messaging var PUSHES_FROM_MC_CONSOLE_MODE = true; var pushNotificationCallback = { onPushNotification: function(data) { printText("Push Notification data: " + data); } }; function printText(str) { var d = document.getElementById('text-box'); d.appendChild(document.createTextNode(str)); d.appendChild(document.createElement('br')); d.scrollTop = d.scrollHeight; } function printKeyValuePair(key, value) { printText(key + " : " + value); } function PNregister() { var initACF = function() { printText("ACF initialization"); var callback = { onConnectionStatusChanged: function(status) { printText("onMessagingConnectionStatus: " + status); } }; launchbox.ACF.addListener(callback); launchbox.ACF.start(); }; var callback = { onRegistrationSucceeded: function(token) { printText("Push token: " + token); if (PUSHES_FROM_MC_CONSOLE_MODE) { initACF(); } else { printText("Push token should be now passed to custom push notifications server."); } }, onRegistrationFailed: function(failureType) { printText("Push register failed") } }; launchbox.PushNotifications.register(callback); } function PNadd() { printText("Push Notification Listener Added"); launchbox.PushNotifications.addListener(pushNotificationCallback); } function PNremove() { printText("Push Notification Listener Removed"); launchbox.PushNotifications.removeListener(pushNotificationCallback); } window.onLaunchboxLoaded = function() { printText('HC API loaded'); }; </script> </head> <body> <header> <h3>AMP Hybrid Client <span>Push Notifications API usage example</span> </h3> </header> <input type="button" onClick="PNadd();" value="Set Push Notification listener"> <input type="button" onClick="PNregister();" value="Register the application for Push Notifications"> <input type="button" onClick="PNremove();" value="Remove Push Notification listener"> <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:
<?xml version="1.0" encoding="UTF-8"?> <webapp-descriptor xmlns="http://www.pega.com/application-hosting/ web-app-descriptor/2.0"> <appkey>01234567-89ab-cdef-0123-456789abcdef</appkey> <version>1.0.0</version> <name>Push notifications API usage example</name> <author>Pegasystems</author> </webapp-descriptor>