https://effectivecode.tistory.com/519?category=698870

Easy APNs Provider 사용방법(iOS Push발송 테스트)

오늘은 오랫만에, 주종목(?) iOS관련 팁을 하나 올려 보겠습니다. 아이폰 앱 개발하면서 푸시(알림서비스) 서비스를 구현해야 하는 일이 잦은데요, 기본적으로 CRM툴이나 Provider 관리자가 있는 사이트나 회사에서는 관리 사이트를 통해 등록된 단말에 선택적으로 푸시를 보낼 수 있어 편하고 좋습니다만, 그런 환경이 안되는 경우에 대비하여 애플 앱스토어에서 제공하는 [Easy APNs Provider]라는 앱을 통해 손 쉽게 푸시를 발송할 수 있습니다. 


물론 사전에 Easy APNs Provider 앱을 설치, 개발하는 앱의 Push인증서(.cer) 파일이 준비되어 있어야 하며, 푸시를 받을 수 있는 토큰(디바이스 토큰)까지 준비는 해 두어야 합니다. 

간단하게 이용 메뉴얼 정도이므로 참고 하시길 바래요. ^^ 

    

1. Add Token하면 됩니다. 

이때, Name필드는 너무 길게하지 말고 3~4자 정도면 될 것 같습니다. 그리고 Token은 AppDelegate.m를 통해 등록 후 APNs으로부터 받은 토큰값을 입력 하면 됩니다. 

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {} , 정상적으로 등록이 된 경우 함수 안으로 토큰값이 옵니다. 


토큰값 추출 예) 

    NSString *_deviceToken = [[deviceToken description]

                              stringByTrimmingCharactersInSet:[NSCharacterSet

                                                               characterSetWithCharactersInString:@"<>"]];

    _deviceToken = [_deviceToken stringByReplacingOccurrencesOfString:@" " withString:@""];


2. Certificate File을 찾아서 등록해주시면 됩니다. 

해당 인증서는 앱 아이디를 만들 때 Push수신을 하겠다고 체크할 경우 인증서 만드는 절차가 있는데 이 부분은 내용이 상당히 많기 때문에 생략하고 정상적으로 만들어진 cer인증서를 다운로드 받아서 가지고 있다는 가정으로 진행합니다. p12파일이 아닌 그냥 cer 파일이면 됩니다. 잘 모르시는 분은 검색 엔진에서 [iOs push인증서 만들기] 라고 검색하시면 자료가 많습니다.


3. Connect to : 서버를 선택하는 것인데 

개발용 인증서의 경우는 sandbox가 붙은 경로이고 AdHoc이나 product용은 sendbox가 없는 경로이기 때문에 개발 할때는 sandbox가 있는걸 선택하시고 아닐 경우는 없는 것을 선택하시면 됩니다. 


4. payload설정

기본적으로 APNs payload설정된 값에 문자열(타이틀, 기타)을 수정해서 보내는 테스트를 하실 수 있고 만약 서비스하는 앱에서 정의한 payload가 있다면 해당 payload를 복사해서 넣으면 됩니다. 

기본 payload는 Convenient이고 사용자 정의 Payload는 Raw탭을 눌러 입력하신 후 사용하시면 됩니다. 


5. Send APN

푸시를 발송합니다. 도착하는 걸 확인하시면 정상적으로 된 것이라고 보면 될 것 같습니다. 





너무나도 친절한 앱이라 사용하는데 불편함이 없을 것 같네요. 예전엔 PushMeBaby같은 맥용 앱을 실행해서 보내고 했던 기억이 나는데 이젠 그런 수고스러움 없이 바로 바로 이용할 수 있을 것 같습니다. 


이상, Easy APNs Provider사용법에 대한 내용이었습니다.