Node.js
웹 알림 보내기
수색…
GCM (Google Cloud Messaging System)을 사용하여 웹 알림 전송
이러한 예는 PWA (프로그레시브 웹 응용 프로그램) 간의 광범위한 확산을 알고 있으며이 예에서는 NodeJS 및 ES6을 사용하여 간단한 백엔드처럼 알림을 보냅니다
노드 -GCM 모듈
npm install node-gcm
:npm install node-gcm
Socket.io 설치 :
npm install socket.io
Google Console을 사용하여 GCM 사용 애플리케이션을 만듭니다 .
GCM 애플리케이션 ID를 평가 해주세요 (나중에 필요합니다).
GCM 애플리케이션 암호 코드에 등급을 지정하십시오.
자주 사용하는 코드 편집기를 열고 다음 코드를 추가하십시오.
'use strict'; const express = require('express'); const app = express(); const gcm = require('node-gcm'); app.io = require('socket.io')(); // [*] Configuring our GCM Channel. const sender = new gcm.Sender('Project Secret'); const regTokens = []; let message = new gcm.Message({ data: { key1: 'msg1' } }); // [*] Configuring our static files. app.use(express.static('public/')); // [*] Configuring Routes. app.get('/', (req, res) => { res.sendFile(__dirname + '/public/index.html'); }); // [*] Configuring our Socket Connection. app.io.on('connection', socket => { console.log('we have a new connection ...'); socket.on('new_user', (reg_id) => { // [*] Adding our user notification registration token to our list typically hided in a secret place. if (regTokens.indexOf(reg_id) === -1) { regTokens.push(reg_id); // [*] Sending our push messages sender.send(message, { registrationTokens: regTokens }, (err, response) => { if (err) console.error('err', err); else console.log(response); }); } }) }); module.exports = app
추신 : 저는 Socket.io를 Express와 함께 사용하기 위해 특별한 해킹을 사용하고 있습니다. 단순히 상자 외부에서 작동하지 않기 때문입니다.
이제 .json 파일을 만들고 이름을 Manifest.json으로 하고 파일 이름을 열고 다음 내용을 지나치십시오.
{
"name": "Application Name",
"gcm_sender_id": "GCM Project ID"
}
그것을 닫고 응용 프로그램 ROOT 디렉토리에 저장하십시오.
추신 : Manifest.json 파일은 루트 디렉토리에 있어야합니다. 그렇지 않으면 작동하지 않습니다.
위의 코드에서 다음을 수행합니다.
- 나는 socket.io도 사용할 일반 index.html 페이지를 설정했다.
- 프론트 엔드 라고하는 내 index.html 페이지에서 시작된 연결 이벤트를 듣고 있습니다 (새 클라이언트가 미리 정의 된 링크에 성공적으로 연결되면 해고 될 것입니다)
- 나는 특별한 토큰을 socket.io new_user 이벤트를 통해 index.html의 등록 토큰 으로 보내고 있는데,이 토큰은 사용자 고유의 패스 코드가 될 것이고 각 코드는 일반적으로 웹 알림 API 를 지원하는 브라우저에서 생성된다. 이리.
- 나는 node-gcm 모듈을 사용하여 간단히 처리하고 서비스 근로자 를 사용하여 표시 할 내 알림을 보내고 있습니다.
이는 NodeJS 관점에서 나온 것 입니다. 다른 예에서는 맞춤 메시지, 아이콘 등을 보낼 수있는 방법을 보여줄 것입니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow