https://docs.aws.amazon.com/ko_kr/sns/latest/dg/mobile-push-apns.html


Apple Push Notification Service 시작하기

Apple Push Notification Service(APNS)은 iOS 및 OS X 앱에 푸시 알림 메시지를 보낼 수 있는 서비스입니다. 이 섹션에서는 APNS 필수 조건을 갖추는 방법과 Amazon SNS 및 APNS를 사용하여 푸시 알림 메시지를 보내는 방법을 설명합니다.

APNS 필수 조건

Amazon SNS 및 APNS를 사용해 모바일 디바이스에 푸시 알림을 전송하려면 다음의 사항이 필요합니다.

  • APNS에 등록된 iOS 앱

  • APNSSSL 인증서

  • 앱 개인 키

  • 디바이스 토큰

이러한 필수 조건을 이미 갖추었다면 Amazon SNS 콘솔을 사용하거나 Amazon SNS API를 사용하여 iOS 앱에 푸시 알림 메시지를 보낼 수 있습니다. Amazon SNS 콘솔 사용에 대한 자세한 내용은 Amazon SNS 모바일 푸시 사용을 참조하십시오. Amazon SNS API 사용에 대한 자세한 내용은 Amazon SNS 및 APNS를 사용하여 iOS 앱에 푸시 알림 메시지 보내기를 참조하십시오.

1단계: iOS 앱 만들기

iOS 앱에 푸시 알림 메시지를 보내려면 Apple 개발자 계정, 앱 ID(애플리케이션 식별자), 등록된 iOS 디바이스 및 iOS 프로비저닝 프로필이 있어야 합니다. 자세한 내용은 iOS Developer Library의 Local and Remote Notification Programming Guide를 참조하십시오.

참고

iOS 앱을 APNS에 아직 등록하지 않았을 경우 AWS에서 제공한 샘플 iOS 앱을 템플릿으로 사용하여 시작할 수 있습니다. 자세한 내용은 5단계: 디바이스 토큰 받기 단원을 참조하십시오.

2단계: APNS SSL 인증서 받기

Amazon SNS에서는 Amazon SNS API를 사용할 경우 .pem 형식으로 된 앱의 APNS SSL 인증서가 필요합니다. Amazon SNS 콘솔을 사용할 경우 .p12 형식의 인증서를 업로드하면 Amazon SNS가 이를 .pem 형식으로 변환하여 콘솔에 표시합니다. SSL 인증서에 대한 자세한 내용은 Apple Local and Remote Notification Programming Guide의 Local and Remote Notifications Overview를 참조하십시오.

APNS SSL 인증서를 다운로드하려면

  1. Apple Developer 웹 사이트에서 Member Center를 선택하고 Certificates, Identifiers and Profiles를 선택한 다음 Certificates를 선택합니다.

  2. iOS APNS 개발을 위해 생성한 인증서를 선택하고 Download를 선택한 다음 파일을 저장합니다. 이 파일의 확장명은 .cer입니다.

.cer 형식의 APNS SSL 인증서를 .pem 형식으로 변환하려면

다음 단계에서는 openssl 유틸리티를 사용합니다.

  • 명령 프롬프트에서 다음 명령을 입력합니다. myapnsappcert.cer을 Apple Developer 웹 사이트에서 다운로드한 인증서의 이름으로 바꿉니다.

    openssl x509 -in myapnsappcert.cer -inform DER -out myapnsappcert.pem

    새로 생성된 이 .pem 파일이 모바일 푸시 알림 메시지를 보내도록 Amazon SNS를 구성하는 데 사용됩니다.

3단계: 앱 개인 키 받기

Amazon SNS는 .pem 형식의 앱 개인 키를 요구합니다.

앱 개인 키를 받으려면

SSL 인증서와 연결된 개인 키는 Mac 컴퓨터에서 Keychain Access 애플리케이션을 사용하여 내보낼 수 있습니다. 단, Apple Developer 웹 사이트에서 Keychain Access로 다운로드한 .cer 파일을 이미 가져온 상태여야 합니다. 이 작업은 .cer 파일을 Keychain Access로 복사하거나 .cer 파일을 두 번 클릭하여 수행할 수 있습니다.

  1. Keychain Access를 열고 [Keys]를 선택한 다음 해당 앱 개인 키를 선택합니다.

  2. File을 선택하고 Export Items...를 선택한 다음 Save As: 필드에 이름을 입력합니다.

  3. 기본 형식의 .p12 파일 형식을 그대로 사용하고 저장을 선택합니다.

    .p12 파일이 .pem 파일 형식으로 변환됩니다.

.p12 형식의 앱 개인 키를 .pem 형식으로 변환하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다. myapnsappprivatekey.p12를 Keychain Access에서 내보낸 개인 키의 이름으로 바꿉니다.

    openssl pkcs12 -in myapnsappprivatekey.p12 -out myapnsappprivatekey.pem -nodes -clcerts

    새로 생성된 이 .pem 파일이 모바일 푸시 알림 메시지를 보내도록 Amazon SNS를 구성하는 데 사용됩니다.

4단계: 인증서와 앱 개인 키 확인

.pem 인증서와 개인 키 파일을 사용하여 APNS에 연결해 봄으로써 인증서와 키 파일을 확인할 수 있습니다.

인증서와 개인 키 파일을 APNS에 연결하여 확인하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다. myapnsappcert.pem과 myapnsappprivatekey.pem을 해당 인증서와 개인 키 이름으로 바꿉니다.

    openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert myapnsappcert.pem -key myapnsappprivatekey.pem

5단계: 디바이스 토큰 받기

푸시 알림 메시지를 받기 위해 앱을 APNS에 등록하면 디바이스 토큰(64바이트 16진수 값)이 생성됩니다. 다음 단계는 AWS에서 제공한 샘플 iOS 앱을 사용하여 APNS로부터 디바이스 토큰을 받는 방법을 설명합니다. 이 샘플 iOS 앱을 사용하여 Amazon SNS 푸시 알림을 시작할 수 있습니다. 자세한 내용은 Apple Local and Remote Notification Programming Guide의 Configuring Remote Notification Support를 참조하십시오.

앱에 대해 APNS로부터 디바이스 토큰을 받으려면

  1. snsmobilepush.zip 파일을 다운로드하여 압축을 풉니다.

  2. AppleMobilePushApp 폴더를 찾아 iOS 7 and earlier 또는 iOS 8 폴더를 엽니다.

  3. Xcode에서 AmazonMobilePush.xcodeproj 프로젝트를 엽니다.

  4. Xcode에서 앱을 실행합니다. 출력 창에 과 같이 표시되는 디바이스 토큰을 확인해야 합니다.

    Device Token = <examp1e 29z6j5c4 df46f809 505189c4 c83fjcgf 7f6257e9 8542d2jt 3395kj73>

    참고

    Amazon SNS에 보낼 때는 디바이스 토큰에 공백을 포함시키지 마십시오.

다음 단계

이제 모바일 엔드포인트로 푸시 알림 메시지를 보내기 위한 정보(SSL 인증서, 앱 개인 키, 디바이스 토큰)를 APNS로부터 받았을 것입니다. Amazon SNS 콘솔이나 Amazon SNS API를 사용하여 디바이스의 iOS 앱에 알림을 보낼 수 있습니다.