Содержание


Автоматическая отправка push-уведомлений с помощью Node-RED и службы Push в IBM Bluemix

Comments

Приложение, которое мы построим в этом руководстве, демонстрирует, как автоматически отправлять мобильные push-уведомления с помощью службы Push в IBM® Bluemix™ и экземпляра Node-RED. Приложение анализирует оценку настроения пользователей Twitter в Node-RED и отправляет push-уведомление, если эта оценка превышает 2.

Что требуется для создания приложения

  • Учетная запись Bluemix
  • Учетная запись Twitter
  • Знакомство с JavaScript и JavaScript Object Notation (JSON)
  • Для рассылки push-уведомлений на устройства Android – идентификатор отправителя сообщений Google Cloud Messaging (GCM) и ключ API Google (требуется учетная запись Gmail) (см. Шаг 2)
  • Для рассылки push-уведомлений на устройства iOS - зарегистрированное iOS-приложение (см. Шаг 2)

Теперь вы можете быстро настроить доставку уведомлений мобильным пользователям своего приложения.

Шаг 1. Настройка Bluemix

  1. Войдите в Bluemix.
  2. На панели инструментов нажмите кнопку CREATE AN APP и выберите Node-RED Starter из меню Boilerplates. Доступные шаблоны
    Доступные шаблоны
  3. Введите имя приложения и имя хоста, оставив в остальных полях значения по умолчанию, и нажмите кнопку CREATE.
    Создание приложения
    Создание приложения

    Теперь ваше приложение присутствует на панели инструментов вместе со всеми деталями экземпляра, индикатором состояния приложения и кнопкой для добавления новых служб. Также имеется служба Cloudant NoSQL DB (используемая Node-RED.) Ваш экземпляр Node-RED работает и доступен по адресу: https://имя-вашего-приложения.mybluemix.net.
  4. Вернитесь на панель инструментов и нажмите кнопку ADD A NEW SERVICE.
  5. Выберите Push из категории Mobile каталога.Доступные мобильные службы
    Доступные мобильные службы
  6. В диалоговом окне Add Service выберите имя своего приложения из списка, при необходимости измените имя службы и нажмите кнопку CREATE.
  7. Когда Bluemix предложит перезапустить приложение, чтобы оно могло связать службу с экземпляром Node-RED, нажмите кнопку ОК. Предложение перезапуска
    Предложение перезапуска
  8. Теперь на панели инструментов виден ваш экземпляр службы Push. Нажмите кнопку ADD A NEW SERVICE, добавьте к своему приложению службу Mobile Application Security и при появлении соответствующего запроса перезапустите его. Теперь, вместе с Cloudant, у вас две добавленные мобильные службы. Панель инструментов с новыми службами
    Панель инструментов с новыми службами

Шаг 2. Настройка службы Push.

Чтобы получать push-уведомления, Android-приложение должно быть настроено на прием сообщений Google Cloud (GCM), а iOS-приложению требуется сертификат. Следующие инструкции (со ссылками на пару других руководств developerWorks) учат делать так, чтобы приложения могли использовать push-уведомления, создаваемые приложением Node-RED Twitter.

Настройка параметров Google Cloud Messaging (GCM) для Android

  1. Выполните 10 пунктов раздела Получить номер проекта API Google и GCM API Key, необходимые для службы Push руководства Создание Android-приложения с использованием службы IBM Push для Bluemix.
  2. Загрузите код bluelist-push(v2) из руководства Создание Android-приложения с использованием службы IBM Push для Bluemix (нажмите кнопку Получить код bluelist-push(v2)) и установите его на свое устройство.
  3. Выберите службу Push на панели управления Bluemix. Заполните поля GCM API key и Project number в разделе Google Cloud Messaging диалогового окна Production Configuration.

Чтобы установить сертификат для iOS, выполните следующие действия.

  1. Следуйте инструкциям из раздела Регистрация приложения руководства Передача уведомлений в iOS-устройства.
  2. Выберите службу Push на панели управления Bluemix. В разделе Apple Push Notification Service (APNS) введите имя файла сертификата и пароль iOS в диалоговое окно Production Configuration.

Теперь отправьте в свое мобильное устройство тестовое push-уведомление. Это можно сделать непосредственно из Bluemix для платформ Android и iOS, следуя инструкции, изложенным в Шаге 6 руководства Создание Android-приложения с использованием службы IBM Push для Bluemix.

Шаг 3. Импорт потока в Node-RED

  1. Нажмите кнопку Получить код и скопируйте в буфер обмена все содержимое файла flow.json из моего репозитория IBM DevOps Services.
  2. В своем работающем приложении Node-RED (по адресу http://имя-вашего-приложения.mybluemix.net) нажмите кнопкуGo to your Node-RED flow editor.Кнопка редактора потоков Node-RED
    Кнопка редактора потоков Node-RED
  3. В редакторе потоков нажмите кнопку hamburger и выберите Импорт Import from... > Clipboard...: Импорт из буфера обмена
    Импорт из буфера обмена
  4. Вставьте содержимое файла flow.json в диалоговое окно Import Nodes и нажмите кнопку ОК. Диалоговое окно Import Nodes
    Диалоговое окно Import Nodes

Вы увидите два потока — один из узла inject, а другой из узла Twitter.

Два потока на листе 1
Два потока на листе 1

Узел inject можно использовать для тестирования.

Шаг 4. Настройка учетных данных Twitter

  1. Прежде чем продолжить, необходимо добавить учетные данные Twitter, чтобы экземпляр Node-RED мог использовать API Twitter. Дважды щелкните на узле Twitter (узел со значком Twitter и #bluemix) и нажмите на значок карандаша в диалоговом окне Edit twitter in node.
  2. В разделе Add new twitter-credentials config node нажмите на ссылку here. Диалоговое окно ввода учетных данных Twitter
    Диалоговое окно ввода учетных данных Twitter
  3. Если вы еще не вошли в Twitter, введите учетные данные пользователя Twitter, от имени которого вы хотите обращаться к API. Затем авторизуйте приложение на следующей странице.Страница авторизации приложения Twitter
    Страница авторизации приложения Twitter
  4. Увидев сообщение "Authorised - you can close this window and return to Node-RED", вернитесь в Node-RED. Теперь ваш ID Twitter указан в поле Twitter ID диалогового окна Add new Twitter-credentials config node. Нажмите кнопку Add, затем кнопку ОК.

Шаг 5. Настройка автоматической рассылки уведомлений

  1. На панели инструментов своего приложения Bluemix нажмите кнопку MOBILE OPTIONS и скопируйте секретный ключ своего приложения.Секретный ключ приложения в Bluemix
    Секретный ключ приложения в Bluemix
  2. В редакторе потоков Node-RED в работающем приложении дважды щелкните на узле send notification, чтобы открыть диалоговое окно Edit function node.Редактирование узла отправки уведомлений
    Редактирование узла отправки уведомлений
  3. В коде функции:
    • замените INSERT IBM APPLICATION SECRET HERE своим секретным ключом приложения IBM;
    • только для устройств iOS, замените ['G'] на ['A']. Для устройств iOS и Android удалите объект target и предшествующую ему запятую;
    • при желании замените message (сообщение, отправляемое в устройство) своим собственным сообщением. Полное руководство по различным типам вызовов API push-уведомлений содержится в документе Mobile Cloud Services REST API Documentation.

Шаг 6. Настройка URL push-уведомлений

  1. В редакторе потоков дважды щелкните на узле http request, чтобы открыть диалоговое окно Edit http request node.
  2. Скопируйте в текстовый редактор содержимое поля URL (https://mobile.ng.bluemix.net:443/push/v1/apps/INSERT_APP_ID_HERE/messages).
  3. На панели инструментов своего приложения в Bluemix нажмите кнопку MOBILE OPTIONS и скопируйте ID своего приложения.
  4. В текстовом редакторе замените INSERT_APP_ID идентификатором своего приложения и скопируйте этот URL обратно в поле URL диалогового окна Edit http request node.
  5. Нажмите кнопку ОК, затем кнопку Deploy в правом верхнем углу страницы.

Изменения будут сохранены, и теперь ваше приложение работает!

Заключение

Теперь вы умеете легко добавлять Push-службу Bluemix в экземпляры приложений, не соответствующих шаблону приложений для мобильных устройств, и успешно рассылать уведомления через эту службу. И знаете, как организовать автоматическую рассылку push-уведомлений при помощи Node-RED в Bluemix с использованием оценок настроения Twitter или своей собственной бизнес-логики. Вы можете быстро настроить доставку уведомлений мобильным пользователям своего приложения. Node-RED в сочетании с простой службой Push в Bluemix значительно упрощает весь процесс и количество «движущихся частей».


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Web-архитектура, Облачные вычисления
ArticleID=1009543
ArticleTitle=Автоматическая отправка push-уведомлений с помощью Node-RED и службы Push в IBM Bluemix
publish-date=06262015