본문 바로가기

개발/iOS

APN Key를 통해 Firebase 푸시 메세지 발송하기

안녕하세요.


iOS 개발자로 개인앱을 운영하거나 회사에서 실무를 진행하면서 매년 신경써줘야 하는 항목 중에 하나가 있는데,


"푸시 인증서 갱신" 작업입니다.


깜빡하고 까먹고 지나가면 서버에서 푸시 메세지 발송이 안되는 장애가 발생하고 또 이 푸시 인증서라는게


개발용, 배포용 따로 있고 서버 푸시 솔루션이 무엇을 사용하냐에 따라 


터미널에 명령어 입력해가면서 p12 혹은 pem 파일을 생성해서 전달합니다.


 솔직히 이야기해서 많이 귀찮죠...


그런데 APN Key를 통해서 푸시 메세지를 발송하게 되면 이 귀찮음을 거치지 않아도 된다는 소식을 들었습니다.


APN Key를 통해 푸시 메세지를 발송하면 이런 장점이 있다고 합니다



* 한번 등록해두면 1년마다 갱신 안해도됨!!!

* 개발용,배포용 인증서 따로 안 만들고 하나로 해결됨!!



가장 많이 사용하는 푸시 메세지 솔루션 중 하나인 Google Firebase 에서 APN Key 방식을 지원하므로 직접 해보기로 했습니다.


(Firebase 웹사이트에 프로젝트 등록과 Firebase 연동된 iOS 앱을 만드는 과정은 지나가도록 하겠습니다. Firebase 문서를 참고해주시고 필요하신분은 댓글 남겨주세요.)


1. APN Key를 생성하기 위해 애플 개발자 사이트에 접속 후 "Keys" 메뉴를 클릭합니다. 현재 생성된 APN Key 가 없으므로 "+" 버튼을 눌러 등록합니다.


2. APN Key의 이름을 작성하고 "Service" 항목에서 "Apple Push Notification Service" (APNs) 를 선택하고 "Continue" 를 누릅니다.


3. 내용을 확인하고 "Confirm"을 선택합니다.


4. 생성된 APN KeyKey ID가 나타납니다. "Download" 를 눌러 APN Key 파일을 다운로드 받습니다.

(참고 : 이때 APN Key 파일을 다운로드 하셔서 꼭 '보관'하셔야합니다. 이후에 다시 다운로드가 안되서 분실하시면 다시 생성하셔야합니다.)


5. 이후 다시 "Keys"를 눌러보면 방금 생성한 APN Key 정보가 나타납니다.


6. 자 이제 Google Firebase 에 해당 APN Key를 등록해보겠습니다. "프로젝트 -> 설정 -> iOS 앱구성"을 가시면 아래와 같이 나타납니다.


7. "APN 인증 키" 업로드를 누르면 다음과 같은 업로드 화면이 나타나고요. "APN 인증 키" 는 4번에서 생성된 "APN Key 파일"을 업로드 해주시면되고요.


8. "키 ID"는 여기 이 정보를 입력해주시면 되고요.


9. "앱 ID 프리픽스"는 이 정보를 입력해주시면 됩니다. 


10. 이제 "업로드" 를 눌러주시면 "APN Key"가 등록되고 다음과 같이 나타나게 됩니다. 여기서 중요한게 APN 인증서를 전혀 등록하지 않은 상태입니다!


11. 이제 푸시 메세지가 잘 발송되는지 테스트를 해보기 위해 "Notification"을 눌러주세요.


12. 한번도 보낸적이 없다면 나타나는 화면입니다. "첫 번째 메세지 보내기"를 눌러주세요.


13. 아래처럼 보낼 푸시 메세지를 작성해주시고 푸시 메세지를 보내주세요.


14. 푸시메세지가 발송되었습니다.


15. 아이폰에서 잠시뒤 방금 보낸 푸시메세지가 도착한 것을 확인할 수 있습니다.!



이처럼 간편한 APN Key 입니다만...아직 지원하는 푸시 메세지 솔루션이 얼마 없어보입니다.


현재 운영중인 서비스가 Firebase 를 이용한다면 APN Key 를 통해 푸시 인증서 관련 귀찮음을 탈출하시는걸 추천드립니다~!!!


감사합니다.