2017年2月26日 星期日

Chrome WebPush - node.js (客製化訊息 - 需加密)

Web Push

之前介紹的Google Chrome Web Push (客製化訊息 - 需加密)是使用Java來傳送加密的客製化訊息,其中有提到Google有提供了一個node.js版本的webpush程式,其中已經把加密的方法封裝好了,可以很容易地幫助我們傳送客製化的Web Push訊息。

在使用之前記得把node.js安裝好,可以去node.js官網下載適合版本安裝。

Google製作的webPush project的github連結在這,web-push
要安裝只要下以下指令即可:
npm install web-push --save

即著在同一個資料夾建立一個webPushTest.js來測試,其中內容如下,需要說明的部份已寫在註解中:

webPushTest.js:
const webpush = require('web-push');  //引入web-push模組

webpush.setGCMAPIKey('XXXXXXXXXXXX');  //打入FireBase Server Key或Google API Key

// This is the same output of calling JSON.stringify on a PushSubscription
const pushSubscription = {
  endpoint: 'XXXXXX',  //webpush註冊後得到的endpoint,前面會跟據Webpush Server而不同,
                       //例如Google可能是https://updates.push.services.mozilla.com/wpush/v1/,
                       //FireFox可能是https://updates.push.services.mozilla.com/wpush/v1/
  keys: {
    auth: 'XXXXX',  //加密金鑰的其中一個,auth
    p256dh: 'XXXXX'  //加密金鑰的其中一個,p256dh
  }
};

webpush.sendNotification(pushSubscription, '{"myText": "Hugo Test", "myIcon": "https://www.vermontteddybear.com/media/wysiwyg/VTB-CMS-Content/featuredcat-KBKF36004-20170119.jpg"}');

沒有留言 :

張貼留言