본문 바로가기

개발 관련 지식/안드로이드(Android)

[안드로이드] GCM 서버 구현 예제(2)_node.js를 이용한 푸시 서버

* GCM 서버 구현 예제(2)_node.js를 이용한 푸시 서버

 

* 개요

: 지난 GCM 서버 구현 예제(1)_APP 클라이언트 편의 포스팅에 이어, 이번에는 서버를 구현해볼 생각이다. 클라이언트는 푸쉬 메시지를 받기 위해 안드로이드나 아이폰으로 개발하지만 서버는 따로 제약은 없다. 이번 포스팅에서는 node.js 를 이용한 웹 서버를 만들어볼 예정이다. 먼저 node.js 에 대한 내용도 잘 모르기 때문에 node.js 에 대한 포스팅도 따로 올리도록 하겠다~!

 이번에는 node.js 는 단순히 웹 서버를 만들때 사용된다고만 알고 시작하면 될 것 같다. 자, 서버를 한번 만들어 보자~!

 

* node.js 를 이용한 푸시 서버 개발

 

- 푸시 알림을 위해 서버에서 필요한 항목 : Server Key(API Key) / 알림을 받을 단말기 Register ID

 

1. node-gcm 설치(node.js 설치 완료된 상태에서 진행)

: node.js 를 이용해 푸시 서버를 개발 하기 위해서는 node-gcm 을 설치해주어야 한다. 설치 방법은 간단하다.

 npm install node-gcm

 

 

2. Server Key(API Key) 를 생성 받는다.

: 이는 이전 포스팅인 안드로이드 푸시 알림 서비스(GCM) 사용방법에서 Server Key(API Key)를 받는 방법을 포스팅해두었다. 이를 참고하자~!

[참고] Server Key 생성 받는 방법 : http://arrkaize86.tistory.com/entry/안드로이드-안드로이드-푸시-알림-서비스-사용방법GCM

 

3. 이전 포스팅에서 받은 클라이언트(단말기)의 Register ID 의 값을 적어둔다.

 

4. 서버로 사용될 .js 파일 생성과 소스 코딩

: 본인은 gcmServer.js 파일로 생성하였다.

var GCM = require('gcm').GCM;

var apiKey = '2번에서 적어둔 Server Key 값';
var gcm = new GCM(apiKey);

var message = {
 registration_id:'3번에 적어둔 Register ID 값',
 collapse_key: 'demo',
 'data.key1': 'GCM 테스트 중입니다.',
 'data.key2': '송군함대 화이팅~!'
};

gcm.send(message, function(err, messageId){
 if (err) {
  console.log("Something has gone wrong!");
 } else{
  console.log("Sent with message ID: ", messageId);
 }
}); 

 

5. 서버 실행(클라이언트 실행 가정)

 node gcmServer.js

 

6. 푸시 메시지 확인