Руководство. Настройка приложения iOS для работы с Центрами уведомлений Azure

В этом учебнике показано, как настроить Центры уведомлений Azure и учетные данные для отправки push-уведомлений на устройство iOS через Службу push-уведомлений Apple (APNS).

Выполнение действий из этого учебника является предварительным условием для последующих учебников Objective C и Swift для iOS и охватывает приведенные ниже шаги.

  • Создание файла запроса на подписывание сертификата.
  • Запрос приложения для работы с push-уведомлениями.
  • Создание профиля обеспечения для приложения.
  • Создание центра уведомлений.
  • Добавление данных об APNS в центр уведомлений.

Необходимые компоненты

Для работы с этим учебником необходима активная учетная запись Azure. Если ее нет, можно создать бесплатную пробную учетную запись всего за несколько минут. Дополнительные сведения см. на странице бесплатной пробной версии Azure.

Вам также понадобится следующее:

  • активная учетная запись разработчика Apple;
  • компьютер Mac с Xcode, а также действительный сертификат разработчика, установленный в цепочку ключей;
  • устройство iPhone или iPad под управлением iOS 10 или более поздней версии;
  • регистрация физического устройства на портале Apple и настройка связи с сертификатом.

Обязательно ознакомьтесь со статьей Что такое Центры уведомлений Azure?, если вы не знакомы с этой службой.

Примечание.

Центр уведомлений будет настроен на использование только режима проверки подлинности в песочнице. Вы не должны использовать этот режим проверки подлинности для производственных рабочих нагрузок.

Создание файла запроса на подписывание сертификата

Служба push-уведомлений Apple (APNS) использует сертификаты для аутентификации push-уведомлений. Следуйте приведенным указаниям, чтобы создать сертификата push-уведомлений, необходимый для отправки и получения уведомлений. Дополнительные сведения об этих понятиях см. в официальной документации по Службе push-уведомлений Apple.

Создайте файл запроса на подписывание сертификата (CSR), используемый Apple для создания подписанного сертификата push-уведомлений.

  1. На компьютере Mac запустите средство Keychain Access. Его можно запустить из папки Служебные программы или Другое на панели запуска.

  2. Нажмите Связка ключей, разверните Помощник по сертификатам, а затем выберите Запросить сертификат в центре сертификации.

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

    Примечание.

    По умолчанию при осуществлении доступа к цепочке ключей выбирается первый элемент списка. Это может вызвать проблемы, если у вас открыта категория сертификатов и центр сертификации Apple Worldwide Developer Relations не указан в списке первым. Прежде чем создавать CSR (запрос на подписывание сертификата), убедитесь, что выбран элемент, не являющийся ключом, или ключ центра сертификации Apple Worldwide Developer Relations.

  3. Заполните поля Адрес электронной почты пользователя и Личное имя, выберите Сохранено на диск, а затем — Продолжить. Оставьте поле Адрес электронной почты ЦС пустым, так как оно является необязательным.

    Required certificate information

  4. Задайте имя CSR-файлу в поле Сохранить как, выберите расположение в поле Где и нажмите кнопку Сохранить.

    Choose file name

    Это действие сохраняет CSR-файл в выбранном месте. Расположением по умолчанию является рабочий стол. Запомните расположение, выбранное для файла.

Теперь вам нужно зарегистрировать приложение в Apple, включить push-уведомления и передать экспортированный CSR-файл для создания сертификата push-уведомлений.

Регистрация приложения для работы с push-уведомлениями

Чтобы отправлять push-уведомления в приложение iOS, зарегистрируйте приложение в системе Apple, а также зарегистрируйте его для получения push-уведомлений.

  1. Если вы еще не зарегистрировали свое приложение, перейдите на портал подготовки iOS в центре разработчиков Apple. Войдите на портал с помощью идентификатора Apple ID и выберите Identifiers (Идентификаторы). Затем выберите +, чтобы зарегистрировать новое приложение.

    App IDs page

  2. На экране Register a New Identifier (Зарегистрировать новый идентификатор) выберите переключатель App IDs (Идентификаторы приложений). Затем выберите Continue (Продолжить).

    Register new ID page

  3. Обновите следующие три значения для нового приложения и нажмите кнопку Continue (Продолжить).

    • Описание. Введите описательное имя приложения.

    • Идентификатор пакета. Введите идентификатор пакета идентификатора формы Идентификатор организации.Имя продукта, как упоминание в руководстве по распространению приложений. Значения Organization Identifier (Идентификатор организации) и Product Name (Имя продукта) должны соответствовать идентификатору организации и имени продукта, указанным при создании проекта Xcode. На следующем снимке экрана значение NotificationHubs используется как идентификатор организации, а значение GetStarted — как название продукта. Убедитесь, что значение Bundle Identifier (Идентификатор пакета) совпадает со значением из проекта Xcode, чтобы в Xcode использовался правильный профиль публикации.

      Register app ID

    • Push-уведомления. Проверьте параметр push-уведомлений в разделе "Возможности ".

      Register new app ID

      При этом будет создан идентификатор вашего приложения, а также запрошено подтверждение информации. Выберите Continue (Продолжить), а затем нажмите Register (Зарегистрировать), чтобы подтвердить новый идентификатор приложения.

      Confirm new App ID

      После выбора Register (Зарегистрировать) отобразится новый идентификатор приложения в виде элемента строки на странице Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили).

  4. На странице Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили) в разделе Identifiers (Идентификаторы) перейдите к только что созданному элементу строки идентификатора приложения и выберите соответствующую строку, чтобы отобразить окно Edit your App ID Configuration (Изменить конфигурацию идентификатора приложения).

Создание сертификата для Центров уведомлений

Примечание.

С выпуском iOS 13 вы можете получать только автоматические уведомления с помощью аутентификации на основе маркеров. Если вы используете проверку подлинности на основе сертификатов для учетных данных APNS, необходимо переключиться на использование проверки подлинности на основе маркеров.

Сертификат нужен для того, чтобы центр уведомлений мог работать с APNs. Создать его можно двумя способами:

Второй вариант имеет ряд преимуществ по сравнению с подходом на основе сертификатов (см. сведения о проверке подлинности на основе маркеров безопасности (HTTP/2) для APNS). В этой статье приводятся инструкции, применимые в рамках обоих подходов.

Вариант 1. Создание push-сертификата P12, который можно отправить непосредственно в Центры уведомлений

  1. Прокрутите вниз до отмеченной опции Push Notifications (Push-уведомления), а затем выберите Configure (Настроить), чтобы создать сертификат.

    App ID

  2. Откроется окно Apple Push Notification service SSL Certificates (SSL-сертификаты службы push-уведомлений Apple). Нажмите кнопку Create Certificate (Создать сертификат) в разделе Development SSL Certificate (SSL-сертификат разработки).

    Create certificate

    Появится экран Create a new Certificate (Создать новый сертификат).

    Примечание.

    В этом учебнике используется сертификат разработки. Тот же процесс используется при регистрации сертификата производства. Убедитесь, что при отправке уведомлений используется тот же тип сертификата.

  3. Нажмите Choose File (Выбрать файл), перейдите к папке, в которой сохранен CSR-файл, созданный в первом задании, и дважды щелкните имя сертификата, чтобы загрузить его. Затем выберите Continue (Продолжить).

  4. После того как сертификат будет создан на портале, нажмите кнопку Download (Скачать). Сохраните сертификат и запомните расположение, в котором он сохранен.

    Download certificate

    Сертификат будет скачан и сохранен в папке Файлы для загрузки.

    Locate certificate file

    Скачанному сертификату разработки по умолчанию задано имя aps_development.cer.

  5. Дважды щелкните скачанный сертификат push-уведомлений aps_development.cer. При этом новый сертификат устанавливается в Keychain, как на следующем изображении.

    Keychain access

    Имя вашего сертификата может отличаться, но оно будет начинаться с префикса Apple Development iOS Push Services.

  6. В программе Keychain Access щелкните правой кнопкой мыши новый сертификат push-уведомлений, созданный в категории Certificates (Сертификаты). Щелкните Export (Экспорт), укажите имя файла, выберите формат P12 и нажмите кнопку Save (Сохранить).

    Export certificate

    Вы можете выбрать защиту сертификата с помощью пароля, но это необязательно. Нажмите кнопку ОК, если хотите обойти создание пароля. Запишите имя файла и расположение экспортируемого сертификата в формате P12. Они нужны для аутентификации с помощью APNS.

    Примечание.

    Имя файла в формате P12 и его расположение могут отличаться от изображенных в этом учебнике.

Вариант 2. Создание P8-сертификата, который можно использовать для проверки подлинности на основе токенов

  1. Запишите следующие значения:

    • значение App ID Prefix (Префикс идентификатора приложения) — это Team ID (Идентификатор команды);
    • идентификатор пакета;
  2. Вернитесь на страницу Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили), щелкните Keys (Ключи). Если вы уже настроили ключ для APNs, можете повторно использовать сертификат .p8, который вы скачали после его создания. В таком случае можно пропустить шаги 3–5.

  3. Чтобы создать ключ, нажмите кнопку + (кнопка Create a key (Создать ключ)).

  4. Укажите подходящее значение в поле Key Name (Имя ключа), установите флажок Apple Push Notifications service (APNs) (Служба push-уведомлений Apple (APNs)), щелкните Continue (Продолжить) и на следующем экране нажмите кнопку Register (Зарегистрировать).

  5. Нажмите кнопку "Скачать", а затем переместитеP8-файл (префикс с префиксом) AuthKey_в безопасный локальный каталог, а затем нажмите кнопку "Готово".

    Важно!

    Обязательно сохраните файл с расширением .p8 в безопасном месте и сохраните его резервную копию. Скачав ключ один раз, вы не сможете скачать его повторно, так как копия ключа удаляется с сервера.

  6. В разделе Ключи щелкните имя ключа, который вы только что создали, или имя существующего ключа, если вы решили использовать его.

  7. Запишите значение Key ID (Идентификатор ключа).

  8. Откройте файл сертификата с расширением .p8 в подходящем приложении, например Visual Studio Code, и запишите значение ключа. Это значение находится между строками -----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----.

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

    Это значение маркера, которое понадобится позже для настройки Центров уведомлений.

По завершении у вас должны быть следующие сведения, которые вы будете использовать для настройки центра уведомлений на основе сведений APNs:

  • идентификатор команды (см. шаг 1);
  • идентификатор пакета (см. шаг 1);
  • идентификатор ключа (см. шаг 7);
  • значение маркера, то есть значение ключа из файла с расширением .p8 (см. шаг 8).

Создание профиля обеспечения

  1. Вернитесь на портал подготовки iOS, выберите Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили), нажмите Profiles (Профили) в меню слева, а затем выберите +, чтобы создать новый профиль. Откроется окно Register a New Provisioning Profile (Зарегистрировать новый профиль подготовки).

  2. Выберите iOS App Development (Разработка приложений для iOS) в разделе Development (Разработка) в качестве типа профиля подготовки и нажмите кнопку Continue (Продолжить).

    Provisioning profile list

  3. Затем в раскрывающемся списке App ID (Идентификатор приложения) выберите созданный идентификатор приложения и нажмите кнопку Continue (Продолжить).

    Select App ID

  4. В окне Select certificates (Выбор сертификатов) выберите сертификат для разработки, используемый для подписывания кода, и нажмите кнопку Continue (Продолжить). Это не созданный сертификат push-уведомлений. Если он не существует, создайте его. Если сертификат существует, перейдите к следующему шагу. Выполните приведенные ниже действия, чтобы создать сертификат разработки, если он не существует.

    1. Если вы видите No Certificates are available (Нет доступных сертификатов), выберите Create Certificate (Создать сертификат).
    2. В разделе Software (Программное обеспечение) выберите Apple Development (Разработка Apple). Затем выберите Continue (Продолжить).
    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 (Выбор сертификатов) выберите сертификат разработки, который вы только что создали. Затем выберите Continue (Продолжить).

  7. Затем выберите устройства для тестирования и нажмите кнопку Continue (Продолжить).

  8. Наконец, выберите имя профиля в поле Provisioning Profile Name (Имя профиля подготовки) и нажмите кнопку Generate (Создать).

    Choose provisioning profile name

  9. После создания нового профиля подготовки выберите Download (Скачать). Запомните расположение, в котором он сохранен.

  10. Перейдите в расположение профиля подготовки и дважды щелкните его, чтобы установить его на компьютере разработки Xcode.

Создание центра уведомлений

В этом разделе показано, как создать центр уведомлений и настроить проверку подлинности с помощью APNS, используя ранее созданный сертификат push-уведомлений (файл .p12) или проверку подлинности на основе маркеров безопасности. Если вы хотите использовать уже созданный центр уведомлений, перейдите к шагу 5.

  1. Войдите на портал Azure.

  2. Выберите Все службы в меню слева и щелкните Центры уведомлений в разделе Мобильный. Щелкните значок звездочки рядом с именем службы, чтобы добавить ее в раздел Избранное в меню слева. После добавления Центров уведомлений в Избранное выберите их.

    Azure portal

  3. На странице Центры уведомлений выберите Добавить на панели инструментов.

    Add toolbar button

  4. На странице Центры уведомлений выполните следующие действия:

    1. Введите имя в поле Центр уведомлений.
    2. Введите имя в поле Создать пространство имен. Пространство имен содержит один или несколько центров уведомлений.
    3. Выберите значение в раскрывающемся списке Расположение. Это значение определяет расположение, в котором создается центр уведомлений.
    4. Создайте группу ресурсов или выберите имеющуюся в поле Группа ресурсов.
    5. Нажмите кнопку создания.

    Set properties

  5. Последовательно выберите Уведомления (значок колокольчика) и Перейти к ресурсу. Вы также можете обновить список на странице Центры уведомлений и выбрать свой центр.

    Portal notifications

  6. Выберите Политики доступа в списке. Обратите внимание, что станут доступны две строки подключения. Они потребуются позже для обработки push-уведомлений.

    Важно!

    Не используйте в приложении политику DefaultFullSharedAccessSignature. Этот параметр можно использовать только в серверной части.

    Connection strings

Добавление данных об APNS в центр уведомлений

В разделе Notification Services выберите Apple (APNS), а затем выполните действия в зависимости от способа, выбранного ранее на этапе создания сертификата для Центров уведомлений.

Примечание.

Используйте режим Рабочая среда или Режим приложения, только если push-уведомления нужно отправлять пользователям, которые приобрели приложение в магазине.

Вариант 1. Использование push-сертификата P12

  1. Выберите Сертификат.

  2. Щелкните значок файла.

  3. Выберите экспортированный ранее файл с расширением .p12, а затем нажмите Open (Открыть).

  4. При необходимости укажите пароль.

  5. Выберите режим Песочница.

    Configure

  6. Выберите Сохранить.

Вариант 2. Использование проверки подлинности на основе токенов

  1. Выберите Токен.

  2. Введите следующие значения, которые вы получили ранее:

    • идентификатор ключа;
    • идентификатор пакета;
    • идентификатор команды;
    • токен.
  3. Выберите Песочница.

  4. Выберите Сохранить.

Вы добавили данные об APNS в центр уведомлений. У вас также есть строки подключения, необходимые для регистрации приложения и отправки push-уведомлений.

Следующие шаги

В рамках этого учебника вы создали и настроили центр уведомлений в Azure, а также настроили его для отправки уведомлений в приложение через Службу push-уведомлений Apple (APNS). Далее мы создадим пример приложения для iOS и интегрируем пакет средств разработки Центров уведомлений Azure, чтобы он мог получать push-уведомления, отправленные через портал Azure. Перейдите к следующему учебнику в зависимости от выбранного языка: