Как начать работать с push-уведомлениями в Mobile Services
Тема практической работы — использование службы Windows Azure Mobile Services для отправки push-уведомлений в приложение iOS. Учимся добавлять функцию принудительной отправки уведомлений в проект быстрого запуска с помощью службы push-уведомлений Apple (Apple Push Notification, APNS). После выполнения всех рассматриваемых действий ваша мобильная служба будет отправлять push-уведомление при каждой вставке записи. Вы можете просмотреть видеоверсию этой практической работы, щелкнув по ролику справа. Смотреть обучающий ролик Воспроизвести видео 10:37 ПРИМЕЧАНИЕ В практической работе демонстрируется простой способ отправки push-уведомлений посредством закрепления маркера устройства создания push-уведомлений за вставленной записью. После выполнения этой практической работы рекомендуется выполнить следующую, чтобы лучше понять, как встраивать функции push-уведомлений в реальные приложения. При выполнении практической работы рассмотрим следующие основные этапы для включения функции push-уведомлений: 1. Генерация запроса подписи сертификата 2. Регистрация приложения и включение push-уведомлений 3. Создание профиля выделения ресурсов для приложения 4. Настройка службы Mobile Services 5. Добавление push-уведомлений в приложение 6. Обновление скриптов для отправки push-уведомлений 7. Вставка данных для получения уведомлений Для выполнения практической работы необходимо следующее:
ПРИМЕЧАНИЕ Вследствие специфических требований к конфигурации для работы с push-уведомлениями развертывание и проверка push-уведомлений должны выполняться на устройстве, поддерживающем iOS (iPhone или iPad), а не в эмуляторе. Эта практическая работа построена на основе проекта быстрого запуска Mobile Services. Предварительно необходимо выполнить практическую работу Как начать работать с Mobile Services. Служба push-уведомлений Apple (APNS) использует сертификаты для проверки подлинности мобильных служб. Следуйте приведенным ниже инструкциям, чтобы создать необходимые сертификаты и передать их в вашу мобильную службу. Чтобы ознакомиться с официальной документацией, содержащей описание функций APNS, перейдите на страницу Apple Push Notification Service (Служба push-уведомлений Apple). Генерация файла с запросом подписи сертификатаВначале вам необходимо создать файл с запросом подписи сертификата (CSR), который Apple использует для генерации подписанного сертификата. 1. В папке Utilities (Служебные программы) выполните инструмент Keychain Access (Связка ключей). 2. Нажмите Keychain Access (Связка ключей), разверните пункт меню Certificate Assistant (Ассистент сертификации) и нажмите Request a Certificate from a Certificate Authority... (Запросить сертификат у бюро сертификации...). 3. В поле User Email Address (E-mail пользователя) введите свой адрес электронной почты и заполните поля Common Name (Общее имя) и CA Email Address (Адрес e-mail CA). Убедитесь, что установлен переключатель Saved to disk (Сохранен на диске), и нажмите Continue (Продолжить). 4. Напечатайте имя файла с запросом подписи сертификата (CSR) в поле Save As (Сохранить как), выберите для него место хранения в поле Where (Где) и нажмите Save (Сохранить). Файл CSR будет сохранен в указанном месте (по умолчанию Desktop (Рабочий стол)). Запомните место, в котором сохранен файл. Далее необходимо зарегистрировать приложение в Apple, включить push-уведомления и передать экспортированный файл CSR для создания push-сертификата. Регистрация приложения для работы с push-уведомлениямиЧтобы мобильные службы могли отправлять push-уведомления в приложение iOS, необходимо зарегистрировать приложение в Apple, а также выполнить регистрацию для использования функции push-уведомлений. 1. Если вы еще не зарегистрировали свое приложение, перейдите на страницу iOS Provisioning Portal (Портал выделения ресурсов iOS) в центре разработчиков Apple, выполните вход, указав свой идентификатор Apple ID, выберите App IDs (Идентификаторы приложений) и нажмите New App ID (Новый идентификатор приложения). 2. Введите имя своего приложения в разделе Description (Описание), значение MobileServices.Quickstart в разделе Bundle Identifier (Идентификаторы группы) и нажмите Submit (Отправить). После этого будет сгенерирован идентификатор вашего приложения. ПРИМЕЧАНИЕ Если в разделе Bundle Identifier (Идентификатор группы) вы указываете значение, отличное от MobileServices.Quickstart, необходимо соответствующим образом изменить значение идентификатора группы в вашем проекте Xcode. 3. Найдите только что созданный идентификатор приложения и нажмите Configure (Настроить). 4. Установите флажок Enable for Apple Push Notification service (Включить для службы push-уведомлений Apple) и нажмите на кнопку Configure (Настроить) для пункта Development Push SSL Certificate (SSL-сертификат уровня разработки для push-уведомлений). Откроется окно Apple Push Notification service SSL Certificate Assistant (Ассистент SSL-сертификации службы push-уведомлений Apple). ПРИМЕЧАНИЕ В практической работе используется сертификат уровня разработки. Тот же самый процесс используется и для сертификата уровня распространения (production certificate). Убедитесь, что вы задали верный тип сертификата при передаче сертификата в службу Mobile Services. 5. Нажмите Browse (Просмотреть), выберите сохраненный файл CSR, который вы создали на первом этапе, и нажмите Generate (Создать). 6. После создания сертификата нажмите Continue (Продолжить) и в следующем экране нажмите Download (Загрузить). Подписанный сертификат будет загружен и сохранен на диске вашего компьютера в папке Downloads (Загрузки). ПРИМЕЧАНИЕ По умолчанию загруженный сертификат уровня разработки сохраняется под именем aps_development.cer. 7. Дважды щелкните по загруженному push-сертификату aps_development.cer. Происходит установка сертификата, и он появляется в связке ключей, как показано ниже: ПРИМЕЧАНИЕ Имя вашего сертификата может отличаться от указанного, но в любом случае будет иметь префикс Apple Development iOS Push Notification Services:. В дальнейшем вы будете использовать этот сертификат для генерации файла .p12 и его передачи в Mobile Services для включения проверки подлинности с помощью APNS. Создание профиля выделения ресурсов для приложения 1. Вернитесь на страницу iOS Provisioning Portal (Портал выделения ресурсов iOS), выберите Provisioning (Выделение ресурсов) и нажмите New Profile (Новый профиль). 2. Заполните поле Profile Name (Имя профиля), выберите Certificates (Сертификаты) и Devices (Устройства), которые используются для проверки, выберите App ID (Идентификатор приложения) и нажмите Submit (Отправить). Будет создан новый профиль выделения ресурсов. 3. Найдите новый профиль в списке профилей выделения ресурсов и нажмите соответствующую ему кнопку Download (Загрузить). Профиль будет загружен на диск локального компьютера. ПРИМЕЧАНИЕ Обновите страницу, чтобы увидеть новый профиль. 4. В Xcode откройте Organizer (Организатор) и выберите представление Devices (Устройства). Выберите Provisioning Profiles (Профили выделения ресурсов) в разделе Library (Библиотека) на левой панели и нажмите кнопку Import (Импорт) в нижней части средней панели. 5. Найдите загруженный профиль выделения ресурсов и нажмите Open (Открыть). 6. В разделе Targets (Целевые объекты) выберите Quickstart, разверните пункт Code Signing Identity (Идентификация для подписи кода) и выберите новый профиль в разделе Debug (Отладка). После этого проект Xcode будет использовать новый профиль для подписи кода. Далее необходимо передать сертификат в службу Mobile Services. Настройка службы Mobile Services для отправки push-запросовПосле регистрации приложения в APNS и настройки проекта необходимо интегрировать вашу мобильную службу в APNS. 1. В программе Keychain Access (Связка ключей) щелкните правой кнопкой мыши по новому сертификату, выберите Export (Экспорт), задайте для своего файла имя QuickstartPusher, выберите формат .p12 и нажмите Save (Сохранить). Запишите имя файла и место хранения экспортированного сертификата. ПРИМЕЧАНИЕ В этой практической работе рассматривается процесс создания файла QuickstartPusher.p12. Имя и место хранения вашего файла могут отличаться. 2. Перейдите на портал управления Windows Azure, нажмите Mobile Services и выберите свое приложение. 3. Выберите вкладку Push и нажмите Upload (Передать). Откроется диалоговое окно Upload Certificate (Передача сертификата). 4. Нажмите File (Файл), выберите экспортированный файл сертификата QuickstartPusher.p12, введите пароль в поле Password (Пароль), установите в соответствующее положение переключатель Mode (Режим), нажмите на кнопку подтверждения и затем нажмите Save (Сохранить). ПРИМЕЧАНИЕ В практической работе используются сертификаты уровня разработки. Мобильная служба готова к работе с APNS. Добавление push-уведомлений в приложение1. В Xcode откройте файл AppDelegate.h и добавьте следующее свойство после свойства *window: ПРИМЕЧАНИЕ Если в мобильной службе включена динамическая схема, новый столбец 'deviceToken' будет добавляться в таблицу TodoItem автоматически при вставке нового элемента, содержащего данное свойство. 2. В файле AppDelegate.m замените метод обработчика в механизме реализации следующим кодом: 10. В файле AppDelegate.m добавьте следующий метод обработчика в механизм реализации: 17. В файле AppDelegate.m добавьте следующий метод обработчика в механизм реализации: 24. В файле AppDelegate.m добавьте следующий метод обработчика в механизм реализации: 34. В TodoListController.m выполните импорт файла AppDelegate.h file, чтобы можно было использовать делегата для получения маркера устройства: 35. В TodoListController.m измените операцию (IBAction)onAdd, найдя следующую строку: Замените строку следующим кодом: Этот код добавляет ссылку на AppDelegate для получения маркера устройства и затем изменяет полезные данные запроса для включения этого маркера. ПРИМЕЧАНИЕ Этот код необходимо добавить до вызова метода addItem. Теперь ваше приложение обновлено и поддерживает push-уведомления. Обновление зарегистрированного скрипта вставки в портале управления 1. В портале управления нажмите вкладку Data (Данные), затем выберите таблицу TodoItem. 2. В разделе todoitem нажмите вкладку Script (Скрипт) и выберите операцию Insert (Вставить). Отображается функция, которая вызывается при вставке элемента в таблицу TodoItem. 3. Замените функцию вставки следующим кодом и нажмите Save (Сохранить): Этот код регистрирует новый скрипт вставки, в котором объект apns используется для отправки push-уведомления (вставленного текста) в устройство, предоставленное по запросу вставки. ПРИМЕЧАНИЕ Этот скрипт задерживает отправку уведомления, чтобы вы могли закрыть приложение и получить всплывающее уведомление. Проверка push-уведомлений в приложении 1. Нажмите Run (Выполнить), чтобы создать проект и запустить приложение на устройстве, поддерживающем iOS, и затем нажмите ОК, чтобы включить функцию push-уведомлений. ПРИМЕЧАНИЕ Вы должны явным образом разрешить получать push-уведомления от вашего устройства. Этот запрос появляется только при первом запуске приложения. 2. Напечатайте значащий текст в приложении, например A new Mobile Services task (Новая задача Mobile Services), и нажмите значок (+). 3. Убедитесь, что уведомление получено, и нажмите OK, чтобы закрыть его. 4. Повторите шаг 2 и сразу же закройте приложение. Убедитесь, что всплывающее уведомление отображается. Вы успешно выполнили эту практическую работу. |