Руководство по отправке push-уведомлений в приложения 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. Нажмите Связка ключей, разверните Помощник по сертификатам, а затем выберите Запросить сертификат в центре сертификации.

    Снимок экрана: выделенный параметр меню Request a Certificate from a Certificate Authority (Запросить сертификат в Центре сертификации).

    Примечание

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

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

    Требуемые сведения о сертификате

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

    Выбор имени файла

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

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

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

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

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

    Страница идентификаторов приложений

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

    Страница регистрации нового идентификатора

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

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

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

      Регистрация идентификатора приложения

    • Push-уведомления. Проверьте опцию Push Notifications (Push-уведомления) в разделе Capabilities (Возможности).

      Регистрация нового идентификатора приложения

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

      Подтверждение нового идентификатора приложения

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

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

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

Примечание

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

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

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

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

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

    Идентификатор приложения

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

    Создание сертификата

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

    Примечание

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

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

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

    Скачивание сертификата

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

    Поиск файла сертификата

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

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

    Keychain Access

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

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

    Экспорт сертификата

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

    Примечание

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

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

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

    • значение App ID Prefix (Префикс идентификатора приложения) — это Team ID (Идентификатор команды);
    • значение Bundle 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. Щелкните Download (Скачать), переместите файл с расширением .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 (Продолжить).

    Список с профилем обеспечения

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

    Выбор идентификатора приложения

  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. Выберите Continue (Продолжить).
    6. Скачайте сертификат разработки и запомните расположение, в котором он сохранен.
  5. Вернитесь на страницу Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили), нажмите Profiles (Профили) в меню слева, а затем + , чтобы создать новый профиль. Откроется окно Register a New Provisioning Profile (Зарегистрировать новый профиль подготовки).

  6. В окне Select certificates (Выбор сертификатов) выберите сертификат разработки, который вы только что создали. Затем выберите Continue (Продолжить).

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

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

    Выбор имени профиля обеспечения

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

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

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

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

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

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

    Портал Azure

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

    Добавление кнопки панели инструментов

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

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

    Настройка свойств

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

    Уведомления на портале

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

    Важно!

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

    Строки подключения

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

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

Примечание

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

Вариант 1. Использование сертификата .p12 для push-уведомлений

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

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

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

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

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

    Настройка

  6. Нажмите Сохранить.

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

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

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

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

  4. Щелкните Сохранить.

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

Дальнейшие действия

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