준비물
- 톰켓이 연동된 이클립스
- APSN 라이브러리 등
APNS는 시뮬레이터에서는 테스트 불가능, 개발자라이센스 보유하여야 가능
Provisioning Portal 에서 Certifiacates, Devices 등록되어 있어야 합니다.
안되어 있다면 - > 클릭
APNS SSL Certificate 발급 받고 XCode 프로젝트 속성에 설정
안되어 있다면 - > 클릭
Xcode(ver 4.2)
<JSP 프로젝트 생성>
1. apns 라는 이름으로 톰켓 프로젝트 생성.
2. 환경설정 Server.xml 을 설정하고
3.Server.xml 을 더블클릭
4. 경로를 설정한다.
5. http://localhost:8080/apns/index.jsp -> 제대로 나오면 서버 정상 가동
6. 첨부파일 받아서 사용자가 정한 이클립스/workspace/apns/WEB-INF/lib 폴더에 복사
index.jsp 코딩
- 톰켓이 연동된 이클립스
- APSN 라이브러리 등
APNS는 시뮬레이터에서는 테스트 불가능, 개발자라이센스 보유하여야 가능
Provisioning Portal 에서 Certifiacates, Devices 등록되어 있어야 합니다.
안되어 있다면 - > 클릭
APNS SSL Certificate 발급 받고 XCode 프로젝트 속성에 설정
안되어 있다면 - > 클릭
Xcode(ver 4.2)
<JSP 프로젝트 생성>
1. apns 라는 이름으로 톰켓 프로젝트 생성.
2. 환경설정 Server.xml 을 설정하고
3.Server.xml 을 더블클릭
4. 경로를 설정한다.
5. http://localhost:8080/apns/index.jsp -> 제대로 나오면 서버 정상 가동
6. 첨부파일 받아서 사용자가 정한 이클립스/workspace/apns/WEB-INF/lib 폴더에 복사
index.jsp 코딩
<%@ page language="java" contentType="text/html; charset=euc-kr"
pageEncoding="euc-kr"%>
<%@ page import="javapns.back.PushNotificationManager" %>
<%@ page import="javapns.back.SSLConnectionHelper" %>
<%@ page import="javapns.data.Device" %>
<%@ page import="javapns.data.PayLoad" %>
<%@ page import="java.lang.Object" %>
<%@ page import="org.apache.commons.lang.StringUtils" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Push Notification</title>
</head>
<body>
<%
System.out.println("Start~!!!");
// 토큰 번호
String deviceToken = "Token ID";
PayLoad payLoad = new PayLoad();
payLoad.addAlert("안녕~!"); // 아이폰에 통지 보낼 메세지 내용
payLoad.addBadge(1);
payLoad.addSound("default");
PushNotificationManager pushManager = PushNotificationManager.getInstance();
pushManager.addDevice("iPhone", deviceToken);
//Connect to APNs
붉은색 글자만 바꾸시고 사용하시면 됩니다.pageEncoding="euc-kr"%>
<%@ page import="javapns.back.PushNotificationManager" %>
<%@ page import="javapns.back.SSLConnectionHelper" %>
<%@ page import="javapns.data.Device" %>
<%@ page import="javapns.data.PayLoad" %>
<%@ page import="java.lang.Object" %>
<%@ page import="org.apache.commons.lang.StringUtils" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Push Notification</title>
</head>
<body>
<%
System.out.println("Start~!!!");
// 토큰 번호
String deviceToken = "Token ID";
PayLoad payLoad = new PayLoad();
payLoad.addAlert("안녕~!"); // 아이폰에 통지 보낼 메세지 내용
payLoad.addBadge(1);
payLoad.addSound("default");
PushNotificationManager pushManager = PushNotificationManager.getInstance();
pushManager.addDevice("iPhone", deviceToken);
//Connect to APNs
String host = "gateway.sandbox.push.apple.com"; // 개발용
// 배포용 sandbox를 뺀 gateway.push.apple.com
int port = 2195;
String certificatePath = "/Users/kangwonjeong/Documents/apns.p12"; // Push Notification 인증서 위치
String certificatePassword = "인증서 암호";
pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
//Send Push
Device client = pushManager.getDevice("iPhone");
pushManager.sendNotification(client, payLoad);
pushManager.stopConnection();
pushManager.removeDevice("iPhone");
%>
please wait…!
</body>
</html>
// 배포용 sandbox를 뺀 gateway.push.apple.com
int port = 2195;
String certificatePath = "/Users/kangwonjeong/Documents/apns.p12"; // Push Notification 인증서 위치
String certificatePassword = "인증서 암호";
pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
//Send Push
Device client = pushManager.getDevice("iPhone");
pushManager.sendNotification(client, payLoad);
pushManager.stopConnection();
pushManager.removeDevice("iPhone");
%>
please wait…!
</body>
</html>
Push Notification
'프로그래밍 > Object-C' 카테고리의 다른 글
NSData -> NSStream [인코딩] (0) | 2011.10.30 |
---|---|
자바 서버에 메시지 보내기 (9) | 2011.10.29 |
화면캡쳐 예제 (0) | 2011.09.10 |
UIGesture 이미지 이동, 확대/축소, 회전 예제 (0) | 2011.09.09 |
UIGesture (0) | 2011.09.09 |