올해는 머신러닝이다.
애플 푸시서버 사용시 구동되는 서버쪽 본문
출처 : http://artyst.egloos.com/2652130
(2) 서버 소스코드
개발환경 : 자바(JAVA)
@ PHP 나 Objective C 는 다루는 곳이 많으므로 자바(JAVA) 로만 작성하도록 하겠다.
APNS 와 통신하려면 먼저 java에서 편리하게 이용할 수 있는 라이브러리를 다운로드 받자. http://code.google.com/p/javapns/ 에서 jar 파일을 다운로드 받을 수 있다.
그런데 이 API를 사용하기 위해서 필요한 라이브러리가 있다.
commons-lang-x.x.jar 가 없다면 org.apache.commons.lang.StringUtils 를 찾을 수 없다며 에러가 발생한다.
bcprov-ext-jdk16-xxx.jar 가 없다면 암호화관련 에러가 발생한다.
http://commons.apache.org/lang/ => apache
http://www.bouncycastle.org/ => 암호화 모듈
위의 사이트에서 각각 다운로드 받을 수 있다.
이제 서버에서 APNS로 메시지를 발송하는 JAVA 서버 프로바이저를 작성해보자.
deviceToken 에는 아이폰 클라이언트 어플에서 APNS 에 등록하고 나서 받은 토큰값을 넣어주자.
certificatePath 에는 인증서 경로와 파일명을 넣어주고, password에는 인증서를 추출할때 입력한 암호를 넣자.
import javapns.back.PushNotificationManager;
import javapns.back.SSLConnectionHelper;
import javapns.data.Device;
import javapns.data.PayLoad;
public class ApnsManager {
public void provider() throws Exception {
try {
String deviceToken = "6a4aa1981062d0b8bxxbbaa3b6b0fdc275exyyx0f5dcac1ce101d314acca1a35";
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";
int port = 2195;
String certificatePath = "/work/project/apple-apns-key.p12";
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");
}
catch (Exception e) {
e.printStackTrace();
}
}
혹시 푸시알림을 제대로 받지 못했다면 아이폰의 설정을 살펴보자.
~ 끝 ~
'Android > Tip&Tech' 카테고리의 다른 글
Android] intent 사진찍고 결과받기 (0) | 2011.05.06 |
---|---|
http://blog.naver.com/biboi99?Redirect=Log&logNo=90108496796 (0) | 2011.05.04 |
텝 관련 팁 모음 (0) | 2011.05.04 |
[펌] Custom Android Button Style and Theme (0) | 2011.05.03 |
android titlebar 색깔 바꾸기 (0) | 2011.05.03 |