자습서: Azure Notification Hubs에서 작동하도록 iOS 앱 설정

이 자습서에서는 Azure Notification Hubs를 설정하고 APNS(Apple Push Notification Service)를 통해 알림을 iOS 디바이스에 푸시하도록 자격 증명을 구성하는 방법을 보여 줍니다.

이 자습서를 실행하는 것은 후속 Objective C 및 Swift iOS 자습서의 필수 구성 요소이며 다음 단계를 다룹니다.

  • 인증서 서명 요청 파일을 생성합니다.
  • 푸시 알림을 앱에 요청합니다.
  • 앱에 대한 프로비저닝 프로필을 만듭니다.
  • 알림 허브를 만듭니다.
  • APNS 정보를 사용하여 알림 허브를 구성합니다.

필수 조건

이 자습서를 완료하려면 활성 Azure 계정이 있어야 합니다. 계정이 없는 경우 몇 분 만에 평가판 계정을 만들 수 있습니다. 자세한 내용은 Azure 평가판을 참조하세요.

다음 구성 요소도 필요합니다.

  • 활성 Apple Developer 계정
  • 키 집합에 설치된 유효한 개발자 인증서와 함께 Xcode를 실행하는 Mac
  • iOS 버전 10 이상을 실행하는 iPhone 또는 iPad
  • Apple Portal에 등록되고 인증서와 연결된 물리적 디바이스입니다.

서비스에 익숙하지 않은 경우 Azure Notification Hubs 개요를 참조하세요.

참고 항목

알림 허브는 샌드박스 인증 모드만 사용하도록 구성됩니다. 이 인증 모드는 프로덕션 워크로드에 사용할 수 없습니다.

인증서 서명 요청 파일 생성

APNS(Apple Push Notification Service)는 인증서를 사용하여 푸시 알림을 인증합니다. 알림을 보내고 받는 데 필요한 푸시 인증서를 만들려면 다음 지침을 따르세요. 이러한 개념에 대한 자세한 내용은 Apple Push Notification Service 공식 설명서를 참조하세요.

Apple에서 서명된 푸시 인증서를 생성하는 데 사용하는 CSR(인증서 서명 요청) 파일을 생성합니다.

  1. Mac에서 Keychain Access 도구를 실행합니다. 실행 패드의 Utilities 폴더 또는 Other 폴더에서 열 수 있습니다.

  2. Keychain 액세스를 선택하고, 인증서 도우미를 확장한 다음, 인증 기관에서 인증서 요청을 선택합니다.

    Screenshot that highlights the Request a Certificate from a Certificate Authority menu option.

    참고 항목

    기본적으로 Keychain Access는 목록의 첫 번째 항목을 선택합니다. 이는 사용자가 인증서 카테고리에 있고, Apple Worldwide Developer Relations Certification Authority가 목록의 첫 번째 항목이 아닌 경우 문제가 될 수 있습니다. CSR(인증서 서명 요청)을 생성하기 전에 키가 아닌 항목이 있거나 Apple Worldwide Developer Relations Certification Authority 키가 선택되어 있는지 확인합니다.

  3. 사용자 이메일 주소를 선택하고, 일반 이름 값을 입력하고, 디스크에 저장됨을 지정했는지 확인한 다음, 계속을 선택합니다. CA 이메일 주소는 필요하지 않으므로 비워둡니다.

    Required certificate information

  4. 다른 이름으로 저장에 CSR 파일의 이름을 입력하고, 어디에서 위치를 선택한 다음, 저장을 선택합니다.

    Choose file name

    이 작업은 CSR 파일을 선택한 위치에 저장합니다. 기본 위치는 바탕 화면입니다. 이 파일에 대해 선택한 위치를 기억해 두세요.

다음으로 Apple에 앱을 등록하고, 푸시 알림을 사용하도록 설정하고, 내보낸 CSR을 업로드하여 푸시 인증서를 만듭니다.

푸시 알림을 위해 앱 등록

푸시 알림을 iOS 앱에 보내려면 Apple에 애플리케이션을 등록하고 푸시 알림도 등록합니다.

  1. 앱을 아직 등록하지 않은 경우 Apple Developer Center에서 iOS Provisioning Portal로 이동합니다. Apple ID를 사용하여 포털에 로그인하고 Identifier(식별자)를 선택합니다. 그런 다음, +를 선택하여 새 앱을 등록합니다.

    App IDs page

  2. Register a New Identifier(새 식별자 등록) 화면에서 App ID(앱 ID) 라디오 단추를 선택합니다. 그런 다음, 계속을 선택합니다.

    Register new ID page

  3. 새 앱에 다음과 같은 세 개의 값을 업데이트한 다음, 계속을 선택합니다.

    • 설명: 앱에 대한 설명이 포함된 이름을 입력합니다.

    • 번들 ID: 앱 배포 가이드에서 설명한 대로 Organization Identifier.Product Name 형식의 번들 ID를 입력합니다. 조직 식별자제품 이름 값은 XCode 프로젝트를 만들 때 사용하는 조직 식별자 및 제품 이름과 일치해야 합니다. 다음 스크린샷에서는 조직 식별자로 NotificationHubs 값이 사용되고 제품 이름으로 GetStarted 값이 사용되었습니다. Xcode에서 올바른 게시 프로필을 사용하도록 번들 식별자 값이 Xcode 프로젝트의 값과 일치하는지 확인합니다.

      Register app ID

    • 푸시 알림: 기능 섹션에서 푸시 알림 옵션을 선택합니다.

      Register new app ID

      이 작업은 앱 ID를 생성하고 사용자에게 정보 확인을 요청합니다. Continue(계속)를 선택한 다음, Register(등록)를 선택하여 새 앱 ID를 확인합니다.

      Confirm new App ID

      Register(등록)가 선택되면 인증서, 식별자 및 프로필 페이지에서 새 앱 ID가 줄 항목으로 표시됩니다.

  4. Certificates, Identifiers & Profiles(인증서, 식별자 및 프로필) 페이지의 Identifiers(식별자) 아래에서 방금 만든 앱 ID 줄 항목을 찾고, 해당 행을 선택하여 Edit your App ID Configuration(앱 ID 구성 편집) 화면을 표시합니다.

Notification Hubs에 대한 인증서 만들기

참고 항목

iOS 13 릴리스부터는 토큰 기반 인증을 사용한 자동 알림만 받을 수 있습니다. APNS 자격 증명에 인증서 기반 인증을 사용하는 경우 토큰 기반 인증을 사용하도록 전환해야 합니다.

알림 허브가 APNS와 함께 작동하도록 설정하려면 인증서가 필요합니다. 이 작업은 다음 두 가지 방법 중 하나를 통해 수행할 수 있습니다.

  • Notification Hubs에 직접 업로드할 수 있는.p12 파일을 만듭니다.

  • 토큰 기반 인증에 사용할 수 있는 .p8 파일을 만듭니다(보다 새로운 접근 방법).

두 번째 옵션에는 APNS에 대한 토큰 기반(HTTP/2) 인증에서 설명한 대로 인증서를 사용하는 것에 비해 여러 가지 이점이 있습니다. 그러나 여기에는 두 가지 방법 모두에 대한 단계가 나와 있습니다.

옵션 1: Notification Hubs에 직접 업로드할 수 있는 .p12 푸시 인증서 만들기

  1. 아래로 스크롤하여 선택한 Push Notifications(푸시 알림) 옵션으로 이동한 다음, Configure(구성)를 선택하여 인증서를 만듭니다.

    App ID

  2. Apple Push Notification service SSL Certificates(Apple 푸시 알림 서비스 SSL 인증서) 창이 표시됩니다. 개발 SSL 인증서 섹션에서 인증서 만들기 단추를 선택합니다.

    Create certificate

    Create a new Certificate(새 인증서 만들기) 화면이 표시됩니다.

    참고 항목

    이 자습서에서는 개발 인증서를 사용합니다. 프로덕션 인증서를 등록할 때에도 동일한 프로세스가 사용됩니다. 알림을 보낼 때 동일한 인증서 유형을 사용하는지만 확인합니다.

  3. 파일 선택을 선택하고 첫 번째 작업에서 CSR 파일을 저장한 위치로 이동한 다음, 인증서 이름을 두 번 클릭하여 로드합니다. 그런 다음, 계속을 선택합니다.

  4. 포털에서 인증서가 만들어지면 Download(다운로드) 단추를 선택합니다. 인증서를 저장하고 저장된 위치를 기억합니다.

    Download certificate

    인증서가 다운로드되어 다운로드 폴더에 저장됩니다.

    Locate certificate file

    기본적으로 다운로드된 개발 인증서는 이름이 aps_development.cer로 지정됩니다.

  5. 다운로드한 푸시 인증서 aps_development.cer을 두 번 클릭합니다. 이 작업은 다음 이미지에 보이는 것처럼 새 인증서를 Keychain에 설치합니다.

    Keychain access

    인증서의 이름은 다를 수 있지만 Apple 개발 iOS 푸시 서비스가 앞에 옵니다.

  6. Keychain Access에서는 인증서 범주에서 만든 새 푸시 인증서를 마우스 오른쪽 단추로 클릭합니다. 내보내기를 선택하고 파일의 이름을 지정한 다음 .p12 형식 및 저장을 선택합니다.

    Export certificate

    암호를 사용하여 인증서를 보호하도록 선택할 수 있지만 이는 선택 사항입니다. 암호 만들기를 무시하려면 OK(확인)를 클릭합니다. 내보낸 .p12 인증서의 파일 이름과 위치를 적어둡니다. 이는 APNS를 통한 인증을 사용하도록 설정하는 데 사용됩니다.

    참고 항목

    .p12 파일 이름과 위치가 이 자습서에 표시된 것과 다를 수 있습니다.

옵션 2: 토큰 기반 인증에 사용할 수 있는 .p8 인증서 만들기

  1. 다음 세부 사항에 유의합니다.

    • 앱 ID 접두사(팀 ID)
    • 번들 ID
  2. 인증서, 식별자 및 프로필로 돌아가서 를 클릭합니다. APNS에 대해 구성된 키가 이미 있는 경우 만든 직후 바로 다운로드한 .p8 인증서를 다시 사용할 수 있습니다. 그렇다면 3-5단계를 무시할 수 있습니다.

  3. + 단추(키 만들기 단추)를 클릭하여 새 키를 만듭니다.

  4. 적절한 키 이름 값을 입력하여 APNS(Apple Push Notification service) 옵션을 선택한 다음, 계속을 클릭하고 다음 화면에서 등록을 클릭합니다.

  5. 다운로드를 클릭한 다음, .p8 파일(AuthKey_가 앞에 있음)을 안전한 로컬 디렉터리로 이동하고 완료를 클릭합니다.

    Important

    .p8 파일을 안전한 장소에 보관하고 백업을 저장해야 합니다. 키가 다운로드되면 다시 다운로드할 수 없으므로 서버 복사본이 제거됩니다.

  6. 에서 방금 만든 키(또는 대신 사용하도록 선택한 경우 기존 키)를 클릭합니다.

  7. Key ID 값을 기록해 둡니다.

  8. Visual Studio Code와 같이 선택한 적합한 애플리케이션에서 .p8 인증서를 연 다음, 키 값을 기록해 둡니다. 이는 -----BEGIN PRIVATE KEY----------END PRIVATE KEY----- 사이의 값입니다.

    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
    

    이는 나중에 Notification Hubs를 구성하는 데 사용되는 토큰 값입니다.

이 단계를 마치면 나중에 APNS 정보를 사용하여 알림 허브 구성 단계에서 사용할 수 있는 다음 정보가 확보됩니다.

  • 팀 ID(1단계 참조)
  • 번들 ID(1단계 참조)
  • 키 ID(7단계 참조)
  • 토큰 값(.p8 키 값, 8단계 참조)

프로비저닝 프로필 만들기

  1. iOS Provisioning Portal로 돌아가서 Certificates, Identifiers & Profiles(인증서, 식별자 및 프로필)를 선택하고, 왼쪽 메뉴에서 Profiles(프로필)를 선택한 다음, +를 선택하여 새 프로필을 만듭니다. Register a New Provisioning Profile(새 프로비저닝 프로필 등록) 화면이 표시됩니다.

  2. Development(개발) 아래에서 프로비저닝 프로필 유형으로 iOS App Development(iOS 앱 개발)를 선택한 다음, Continue(계속)를 선택합니다.

    Provisioning profile list

  3. 다음으로, App ID 드롭다운 목록에서 만든 앱 ID를 선택한 다음, 계속을 선택합니다.

    Select App ID

  4. Select certificates(인증서 선택) 창에서 코드 서명에 사용하는 개발 인증서를 선택하고, Continue(계속)를 선택합니다. 이 인증서는 사용자가 만든 푸시 인증서가 아닙니다. 계정이 없으면 만들어야 합니다. 인증서가 있으면 다음 단계로 건너뜁니다. 개발 인증서가 없으면 해당 인증서를 만들기 위해 다음을 수행합니다.

    1. No Certificates are available(사용할 수 있는 인증서가 없습니다)이 표시되면 Create Certificate(인증서 만들기)를 선택합니다.
    2. Software(소프트웨어) 섹션에서 Apple Development(Apple 개발)를 선택합니다. 그런 다음, 계속을 선택합니다.
    3. Create a New Certificate(새 인증서 만들기) 화면에서 Choose File(파일 선택)을 선택합니다.
    4. 이전에 만든 Certificate Signing Request(인증서 서명 요청) 인증서를 찾아서 선택한 다음, Open(열기)을 선택합니다.
    5. 계속을 선택합니다.
    6. 개발 인증서를 다운로드하고, 저장된 위치를 기억합니다.
  5. Certificates, Identifiers & Profiles(인증서, 식별자 및 프로필) 페이지로 돌아가고, 왼쪽 메뉴에서 Profiles(프로필)를 선택한 다음, +를 선택하여 새 프로필을 만듭니다. Register a New Provisioning Profile(새 프로비저닝 프로필 등록) 화면이 표시됩니다.

  6. Select certificates(인증서 선택) 창에서 방금 만든 개발 인증서를 선택합니다. 그런 다음, 계속을 선택합니다.

  7. 다음으로 테스트에 사용할 디바이스를 선택하고, 계속을 선택합니다.

  8. 마지막으로, 프로비저닝 프로필 이름에서 프로필 이름을 선택한 다음, 생성을 선택합니다.

    Choose provisioning profile name

  9. 새 프로비저닝 프로필이 만들어지면 다운로드를 선택합니다. 저장된 위치를 기억합니다.

  10. 프로비저닝 프로필의 위치를 찾은 다음, 해당 프로필을 두 번 클릭하여 Xcode 개발 머신에 설치합니다.

알림 허브 만들기

이 섹션에서는 .p12 푸시 인증서 또는 토큰 기반 인증을 사용하여 알림 허브를 만들고, APNS를 사용하여 인증을 구성합니다. 이미 만든 알림 허브를 사용하려는 경우 5단계로 건너뛸 수 있습니다.

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 메뉴에서 모든 서비스를 선택하고, 모바일 섹션에서 Notification Hubs를 선택합니다. 서비스 이름 옆의 별표 아이콘을 선택하여 서비스를 왼쪽 메뉴의 즐겨찾기 섹션에 추가합니다. Notification Hubs즐겨찾기에 추가한 후 선택합니다.

    Azure portal

  3. Notification Hubs 페이지의 도구 모음에서 추가를 선택합니다.

    Add toolbar button

  4. Notification Hubs 페이지에서 다음 단계를 수행합니다.

    1. 알림 허브에 이름을 입력합니다.
    2. 새 네임스페이스 만들기에 이름을 입력합니다. 네임스페이스에는 하나 이상의 알림 허브가 포함되어 있습니다.
    3. 위치 드롭다운 목록에서 값을 선택합니다. 이 값은 알림 허브를 만들려는 위치를 지정합니다.
    4. 리소스 그룹에서 기존 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.
    5. 만들기를 실행합니다.

    Set properties

  5. 알림(벨 아이콘)을 선택하고, 리소스로 이동을 선택합니다. Notification Hubs 페이지의 목록을 새로 고치고 허브를 선택할 수도 있습니다.

    Portal notifications

  6. 목록에서 액세스 정책을 선택합니다. 사용할 수 있는 두 가지 연결 문자열을 적어 둡니다. 나중에 푸시 알림을 처리하는 데 필요합니다.

    Important

    애플리케이션에서 DefaultFullSharedAccessSignature 정책을 사용하지 마세요. 이는 백 엔드에서만 사용할 수 있습니다.

    Connection strings

APNS 정보를 사용하여 알림 허브 구성

Notification Services에서 Apple(APNS)을 선택한 다음, 이전에 Notification Hubs에 대한 인증서 만들기 섹션에서 선택한 접근 방식에 따라 적절한 단계를 수행합니다.

참고 항목

스토어에서 앱을 구매한 사용자에게 푸시 알림을 보내려는 경우에만 애플리케이션 모드에 대해 프로덕션을 사용합니다.

옵션 1: .p12 푸시 인증서 사용

  1. 인증서를 선택합니다.

  2. 파일 아이콘을 선택합니다.

  3. 이전에 내보낸 .p12 파일을 선택한 다음, 열기를 선택합니다.

  4. 필요한 경우 올바른 암호를 지정합니다.

  5. 샌드박스 모드를 선택합니다.

    Configure

  6. 저장을 선택합니다.

옵션 2: 토큰 기반 인증 사용

  1. 토큰을 선택합니다.

  2. 앞서 얻은 다음 값을 입력합니다.

    • 키 ID
    • 번들 ID
    • 팀 ID
    • 토큰
  3. 샌드박스 선택

  4. 저장을 선택합니다.

이제 APNS를 사용하여 알림 허브를 구성했습니다. 또한 앱을 등록하고 푸시 알림을 보내는 데 필요한 연결 문자열이 있습니다.

다음 단계

이 자습서에서는 Azure에서 알림 허브를 만들고, 구성하고, APNS(Apple Push Notification Service)를 통해 알림을 애플리케이션에 보낼 수 있도록 구성했습니다. 다음으로, iOS 애플리케이션 샘플을 만들고 Azure Notifications Hubs SDK를 통합하여 Azure Portal을 통해 보내는 푸시 알림을 받을 수 있습니다. 선택한 언어에 따라 다음 자습서로 계속 진행하세요.