APNS를 통해 푸시 노티피케이션 전송을 활성화하려면 다음 사항이 필요합니다.
- 푸시 노티피케이션 구성에 사용된 App ID의 SSL 인증서
- 해당 App ID의 프로비너징 프로파일(provisioning profile)
Apple Developer Member Center에서 위 두 사항 모두를 생성할 수 있습니다.
SSL 인증서 생성
본 항목에서는 푸시 노티피케이션을 활성화한 App ID로 SSL 인증서를 생성하는 방법을 설명합니다. GCM에서 이 인증서를 사용해 App ID로 식별된 애플리케이션에 푸시 노티피케이션을 보냅니다.
Certificate Signing Request 파일 생성
SSL 인증서의 생성의 인증을 위해서는 certificate signing request 파일이 필요합니다.
주의: certificate signing request 파일을 Mac에서 생성하는 것을 전제합니다.
- Mac에서 Keychain Access를 엽니다(Finder에서 Go > Utilities를 선택하면 해당 앱에 접근할 수 있습니다).
- Keychain Access 앱 메뉴에서 Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority...로 이동합니다.
- 이메일과 이름을 입력합니다.
-
Request is에서 Saved to disk를 선택한 후 Continue를 눌러서 ".certSigningRequest" 파일을 Mac에 저장합니다.
App ID 생성
App ID는 고유하게 앱을 식별하는 ID입니다. 컨벤션에 의해 도메인을 역순으로 한 형태를 띕니다. (예시: com.google.samples.gcmexample).
이미 사용하고자 하는 App ID가 있는 경우 와일드카드가 없는 명시적인 형태의 App ID인지 확인한 후 이 항목을 건너 뛰세요.
- Apple Developer Member Center로 이동해서 로그인합니다.
- Certificates, Identifiers, and Profiles로 이동합니다.
- 좌상단의 드롭다운 메뉴에서 iOS Apps을 선택하고 Identifiers로 이동합니다.
-
+ 버튼을 누르고 신규 App ID를 생성합니다.
- 신규 ID는 다음 단계를 따라 생성합니다.
- APP ID에 Name 입력 (예: GCM Sample App)
- App ID Prefix 선택 (기본 선택지를 그대로 사용 가능)
-
App ID Suffix 항목에서 Explicit App ID 선택 후 Bundle ID (예: com.google.samples.gcmexample) 입력. Bundle ID 값은 앱의 Info.plist 값과 일치해야 합니다.
-
App Services 항목에서 Push Notifications가 선택되었는지 확인합니다.
- Continue를 누르고 입력 사항이 올바른지 확인합니다.
- Identifier 값은 App ID 접두사와 Bundle ID를 합친 것과 일치해야 합니다.
- Push Notifications가 Configurable 상태여야 합니다.
- Submit을 눌러서 App ID를 생성합니다.
푸시 노티피케이션을 위한 App ID 구성
iOS 앱에 푸시 노티피케이션을 보내려면 앱의 App ID를 구성해야 합니다.
-
iOS App ID 리스트에서 사용하려는 앱을 선택 후 Edit을 클릭합니다.
-
Push Notifications 항목에서 개발자 혹은 프로덕션 환경의 Client SSL 인증서를 생성할 수 있습니다. 테스트를 위해서는 Development SSL 항목에서 Create Certificate...를 눌러서 생성하세요.
- 이제 CSR 생성에 대한 정보를 보여주는 About Creating a Certificate Signing Request (CSR) 화면이 나타납니다. Continue를 누르세요.
-
Generate 화면에서 Choose File...을 누르고 이전에 생성한 .certSigningRequest 파일을 선택하여 활성화된 다음 Generate을 누릅니다.
- SSL 인증서가 준비되면 Download를 누르고 Mac에 저장한 후 Done을 눌러서 인증서 생성 절차를 마칩니다.
- Mac에서 다운받은 SSL certificate를 찾아 더블클릭으로 keychain에 설치합니다.
- Mac에서 Keychain Access 앱을 연 후 My Certificates 아래에서 방금 추가한 인증서를 선택합니다. 다음과 같은 이름이어야 합니다: Apple Development IOS Push Services: your.bundle.id
- 인증서를 우클릭해서 Export Apple Development IOS Push Services: your.bundle.id를 선택한 후 .pl2 파일로 저장합니다. 추출된 인증서의 보호를 위해 비밀번호를 입력할 수도 있습니다.
이제 푸시 노티피케이션 개발 환경을 사용할 준비가 됐습니다. 앱을 출시할 준비가 되면 위 단계를 반복하되, Development SSL Certificate 대신 Production SSL Certificate 항목 아래에서 Create Certificate를 눌러서 프로덕션용 인증서를 생성해야 합니다.
주의: 코드에서 GGLInstanceID.tokenWithAuthorizedEntity:scope:options:handler:로 넘기는 kGGLInstanceIDAPNSServerTypeSandboxOption 값이 사용하는 환경에 맞게 설정되었는지 확인하세요. 개발용은 true, 프로덕션용은 false 값이어야 합니다. 올바른 환경 값을 설정하지 않으면 앱으로 메시지가 제대로 전달되지 않습니다.
프로비저닝 프로파일 생성
개발 중에 App Store에 아직 배포되지 않은 앱을 테스트하려면 테스트 기기 인증을 위해 개발용 프로비저닝 파일이 필요합니다.
- Apple Developer Member Center로 이동해서 로그인합니다.
- Certificates, Identifiers, and Profiles로 이동합니다.
- 좌상단 드롭다운 메뉴에서 iOS Apps를 선택하고 Provisioning Profiles로 이동합니다.
- + 버튼을 눌러 신규 프로비저닝 프로파일을 생성합니다.
- provisioning profile type으로 iOS App Development를 선택 후 Continue를 누릅니다.
- 드롭다운 메뉴에서 사용하려는 App ID를 선택한 후 Continue를 누릅니다.
- 앞서 선택한 App ID의 iOS Development certificate를 선택한 후 Continue를 누릅니다.
- 프로비저닝 프로파일에 추가하고자 하는 iOS 디바이스를 선택하고 Continue를 누릅니다. 테스트에 사용할 기기를 모두 추가해야 합니다.
- 프로비저닝 프로파일에 이름(예: GCM Sample App Development Profile)을 입력한 후 Generate를 누릅니다.
- Download를 눌러서 Mac에 프로비저닝 프로파일을 저장합니다.
- 프로비저닝 프로파일을 더블클릭해서 설치합니다.