본문 바로가기

자료

APNS 발송 테스트 소스


이는 APNS 설정이 완료되고 단순히 발송 여부를 확인 하기 위한 테스트 소스다

애플로 부터 받은 dev..... 또는 dis.... 파일은 같은 폴더에 넣어 둔다.

import javapns.back.PushNotificationManager;
import javapns.back.SSLConnectionHelper;
import javapns.data.Device;
import javapns.data.PayLoad;

/**
* 아이폰에 메세지를 전송하는 클래스
* @author inforex
*
*/
public class PushIOS {
private static PushNotificationManager pushManager;

//디바이스 토큰 목록 가져오기
private static String[] arrId = {
"15ce7136.......(생략)",
"2004be41.......(생략)",
""
};


/**
* 아이폰에 메세지를 전송 준비
* @param args : regID
* @param msg : message
* @throws Exception
*/
public static void main(String[] args){
pushManager = PushNotificationManager.getInstance();
String host = "";
String certificatePath = "";
boolean flg = true; // 실서버 : true, 테스트서버 : false
if(flg){
//실서버
host = "gateway.push.apple.com";
certificatePath = "dis_FileName.p12";
} else {
//테스트 서버
host = "gateway.sandbox.push.apple.com";
certificatePath = "dev_FileName.p12";
}
int port = 2195;
String certificatePassword = "mypasskey";

try
{
System.out.println("host : "+host);
System.out.println("port : "+port);
System.out.println("certificatePath : "+certificatePath);
System.out.println("certificatePassword : "+certificatePassword);
pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
}
catch (Exception e)
{
System.out.println("initializeConnection : error : " + e.getMessage());
return;
}

for (int i = 0; i < arrId.length; i++) {
try {
iosPush(arrId[i], "Test \n 메세지 입니다!");
System.out.println("indexNo :"+i);
} catch (Exception e) {
e.printStackTrace();
}
}
}

/**
* 서버에서 아이폰 으로 메세지를 전송
* @param token
* @param message
*/
public static void iosPush(String token, String message)
{
try
{
String deviceToken = token;

PayLoad payLoad = new PayLoad();
payLoad.addAlert(message);
payLoad.addSound("default");

pushManager.addDevice("iPhone", deviceToken);
Device client = pushManager.getDevice("iPhone");
pushManager.sendNotification(client, payLoad);
pushManager.stopConnection();
pushManager.removeDevice("iPhone");

}
catch (Exception e)
{
System.out.println("sendMessage : error : " + e.getMessage());
}

}


}