티스토리 뷰
728x90
반응형
$sandbox = false;
$alertText = '푸시 보낼 내용';
$deviceToken = '디바이스토큰';
$msg = array();
$msg['alert'] = $alertText;
$msg['badge'] = 1; // 배지(선택적)
$msg['sound'] = 'default'; // 사운드(선택적)
$body['aps'] = $msg;
$body['message_id'] = 7027; // 추가 파라메터
$payload = json_encode($body); // payload의 최대사이즈는 256byte
if($sandbox){
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsCert = '개발용 인증서 경로';
}else{
$apnsHost = 'gateway.push.apple.com';
$apnsCert = '배포용 인증서 경로';
}
$apnsPort = 2195;
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);
if(!$apns) echo 'Fail to connection:'.$error.':'.$errorString;
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
fclose($apns);
APNS(apple push notification service)의 php 버전입니다.
$sandbox를 false로 하는 경우 배포용 인증서로 푸시를 발송합니다.
인증서는 .p12 확장자의 파일이 아닌 .pem 파일이어야 합니다.
한글로 주석도 첨부하였으니 푸시기능 구현하시는 분들께 도움이 되었으면 좋겠네요.
728x90
반응형
'스마트폰 > 아이폰' 카테고리의 다른 글
LBS를 활용한 좋은 예 hotspot (1) | 2011.03.04 |
---|---|
apple push notification 쉽고 간단하게 구축하는 easy apns (4) | 2011.02.08 |
아이유 어플리케이션을 만들었습니다 (0) | 2011.01.25 |
라벨과 슬라이더를 이용해 간단한 아이폰 어플 만들기 (2) | 2011.01.24 |
스탠포드의 아이폰 개발 정리 제1강 (2) | 2011.01.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 웹표준
- CSS
- 트위터
- 안드로이드
- 어플리케이션
- 벤처
- 앱
- 창업
- 앱스토어
- AWS
- 애플
- 아이디어
- 소프트웨어
- iPhone
- 네이버
- 게임
- JavaScript
- 대학생
- 모바일
- 공모전
- Apple
- 구글
- 경진대회
- 자바스크립트
- 스마트폰
- android
- php
- 아이폰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함