이는 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());
}
}
}
'자료' 카테고리의 다른 글
갤러리 공유 기능 추가하기 (0) | 2012.02.06 |
---|---|
C2DM 발송 테스트 소스 (0) | 2012.02.02 |
안드로이드 설치 ... JAVA SDK 설치 부터 AVD 설치까지 (1) | 2011.10.04 |
TextView의 색상, 효과르 부분적으로 적용하기 (0) | 2011.08.10 |
[Android] Activity 생성시에 사용되는 Intent Flag 정리 (0) | 2011.07.14 |