diff options
Diffstat (limited to 'StoneIsland/plugins/phonegap-plugin-push/src/browser')
| -rw-r--r-- | StoneIsland/plugins/phonegap-plugin-push/src/browser/ServiceWorker.js | 51 | ||||
| -rw-r--r-- | StoneIsland/plugins/phonegap-plugin-push/src/browser/manifest.json | 4 |
2 files changed, 55 insertions, 0 deletions
diff --git a/StoneIsland/plugins/phonegap-plugin-push/src/browser/ServiceWorker.js b/StoneIsland/plugins/phonegap-plugin-push/src/browser/ServiceWorker.js new file mode 100644 index 00000000..0fc06d09 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-push/src/browser/ServiceWorker.js @@ -0,0 +1,51 @@ +var messageChannel; + +self.addEventListener('install', function(event) { + self.skipWaiting(); +}); + +self.addEventListener('push', function(event) { + // parse incoming message + var obj = {}; + var pushData = { + image: 'https://avatars1.githubusercontent.com/u/60365?v=3&s=200', + additionalData: {} + }; + if (event.data) { + obj = event.data.json(); + } + + console.log(obj); + + // convert to push plugin API + for (var key in obj) { + if (key === 'title') { + pushData.title = obj[key]; + } else if (key === 'message' || key === 'body') { + pushData.message = obj[key]; + } else if (key === 'count' || key === 'msgcnt' || key === 'badge') { + pushData.count = obj[key]; + } else if (key === 'sound' || key === 'soundname') { + pushData.sound = obj[key]; + } else if (key === 'image') { + pushData.image = obj[key]; + } else { + pushData.additionalData[key] = obj[key]; + } + } + + event.waitUntil( + self.registration.showNotification(pushData.title, { + body: pushData.message, + icon: pushData.image, + tag: 'simple-push-demo-notification-tag' + }) + ); + + messageChannel.ports[0].postMessage(pushData); + +}); + +self.addEventListener('message', function(event) { + messageChannel = event; +}); diff --git a/StoneIsland/plugins/phonegap-plugin-push/src/browser/manifest.json b/StoneIsland/plugins/phonegap-plugin-push/src/browser/manifest.json new file mode 100644 index 00000000..ce8390ab --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-push/src/browser/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "Push Demo", + "gcm_sender_id": "85075801930" +} |
