푸쉬 메시지를 발송하기 위한 서버구성과 기본적인 플로우는 앞서 작성한 글을 참고하기 바란다.
보낼 데이터 구조의 예를 들자면 아래와 같다.
$arr = array();
$arr['data'] = array();
$arr['data']['title'] = "제목입니다.";
$arr['data']['message'] = "이건 내용이구요~";
$arr['data']['another'] = "다른 내용도 필요해요..";
$arr['registration_ids'] = array();
$arr['registration_ids'][0] = "APA91bFFb5aIBDqh0HIW......................HXc94RXIdy-K5a7zo";
위에서 굵게 표시한 title, message, another 등은.. data 배열안에 자유롭게 선언하여 쓸수가 있다. GCM 서버를 통해 device로 bypass 하여 전달되는 데이터이므로.. device 에서는 이 데이터를 그대로 사용할 수 있다.
registration_ids 는 device의 regid 를 배열형태로 집어 넣어서 보낼수 있다. 같은 내용의 푸쉬 메시지를 보낼 경우.. 한번의 연결로 다수의 device에 푸쉬를 보낼수 있는것이다.
다만, 이 갯수가 무제한은 아니고.. google 가이드에 따르면 최대 한번에 1000개의 device에 보낼수 있다고 한다.
Android device로 푸쉬를 발송하는 간단한 전체 소스는 다음과 같다.
<?php
// 헤더 부분
$headers = array(
'Content-Type:application/json',
'Authorization:key=GCM 등록 시 발급받은 서버키를 넣는다'
);
// 발송 내용
$arr = array();
$arr['data'] = array();
$arr['data']['title'] = '타이틀이 들어간다';
$arr['data']['message'] = '푸쉬로 전송할 메시지를 담는다';
$arr['registration_ids'] = array();
$arr['registration_ids'][0] = "APA91bFFb5aIBDqh0...................vsURvoRiA5BAU1_vX3-Q";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($arr));
$response = curl_exec($ch);
curl_close($ch);
// 푸쉬 전송에 대한 결과를 수신
$obj = json_decode($response);
// 전송 성공한 갯수
$s_cnt = $obj->{"success"};
?>
위의 간단한 예제는 1명에게 푸쉬를 발송하는 경우이며.. 여러명에게 보내고 싶은 경우에는 DB에서 registration_id를 읽어와서 registration_ids 에 배열로 추가해서 전송하면 된다.
phonegap 3.5 에서 푸쉬(Push Notification) 적용하기 - 4. 서버 작성 (iOS) (0) | 2014.07.12 |
---|---|
phonegap 3.5 에서 푸쉬(Push Notification) 적용하기 - 3. 클라이언트 작성 (Android) (0) | 2014.07.11 |
phonegap 3.5 에서 푸쉬(Push Notification) 적용하기 - 3. 클라이언트 작성 (iOS) (0) | 2014.07.09 |
phonegap 3.5 에서 푸쉬(Push Notification) 적용하기 - 2.아이폰 인증서 받기 2/2 (0) | 2014.07.08 |
phonegap 3.5 에서 푸쉬(Push Notification) 적용하기 - 2.아이폰 인증서 받기 1/2 (0) | 2014.07.08 |