Conteúdo


Enviar notificações push automaticamente com o Node-RED e o serviço IBM Cloud Push

O aplicativo que você desenvolverá neste tutorial demonstra como mover notificações móveis automaticamente usando o serviço Push no IBM® Cloud™ com uma instância do Node-RED. O aplicativo analisa a pontuação de impressão do Twitter no Node-RED e envia a notificação push se essa pontuação for igual ou maior que três.

O que será necessário para desenvolver o aplicativo

  • Uma conta do IBM Cloud.
  • Uma conta do Twitter.
  • Entendimento básico do JavaScript e do JavaScript Object Notation (JSON)
  • Para mover notificações para dispositivos Android, um ID do emissor Google Cloud Messaging (GCM) e uma chave de API do Google (exige uma conta Gmail) (veja a Etapa 2 para mais detalhes)
  • Mover notificações para dispositivos iOS, um aplicativo iOS registrado (veja a Etapa 2 para mais detalhes)

Agora é possível customizar e entregar rapidamente notificações para os usuários móveis do aplicativo.

Etapa 1. Configurar o IBM Cloud

  1. Efetue login no IBM Cloud.
  2. No painel, clique em CREATE AN APP e Node-RED Starter em Boilerplates. Screenshot of available boilerplates
    Screenshot of available boilerplates
  3. Insira um nome e um nome do host para seu aplicativo, deixe os outros campos com seus valores padrão e clique em CREATE:
    Screenshot of application creation options
    Screenshot of application creation options

    Agora é possível ver seu aplicativo no painel com todos os detalhes da sua instância, o status de funcionamento do aplicativo e um botão para incluir novos serviços. Você também poderá ver o Cloudant, o serviço de banco de dados NoSQL (usado pelo Node-RED). Sua instância Node-RED está pronta e acessível em https://name-of-your-app.mybluemix.net.
  4. Retorne ao painel e clique em ADD A NEW SERVICE.
  5. Selecione Push na categoria de catálogo Dispositivo móvel : Screenshot of available mobile services
    Screenshot of available mobile services
  6. No Add Service caixa de diálogo, selecione o nome do aplicativo da lista, altere opcionalmente o nome do serviço e clique em CREATE.
  7. Quando o IBM Cloud pedir para reorganizar seu aplicativo para que possa conectar o serviço à instância do Node-RED, clique em OK: Screenshot of restage prompt
    Screenshot of restage prompt
  8. Agora é possível ver a instância de serviço Push no painel. Clique na guia ADD A NEW SERVICE botão, inclua o serviço Mobile Application Security no seu aplicativo e reorganize-o quando solicitado. Agora você tem os 2 serviços móveis inclusos junto ao Cloudant: Screenshot of dashboard with newly added services
    Screenshot of dashboard with newly added services

Etapa 2. Configurar o serviço Push

Para receber notificações push, os aplicativos Android devem estar configurados com o Google Cloud Messaging (GCM), e os aplicativos iOS requerem um certificado. Siga estas instruções (que se referem a outros 2 tutoriais do developerWorks) para que seus aplicativos possam usar as notificações push que seu aplicativo do Twitter Node-RED cria.

Para configurar o Google Cloud Messaging (GCM) para Android:

  1. Em "Estenda um aplicativo Android usando o serviço de nuvem IBM Push for IBM Cloud," siga as 10 etapas no título "Obtenha seu número de projeto da API Google e a chave de API GCM".
  2. Faça o download do código bluelist-push(v2) em "Estenda um aplicativo Android usando o serviço de nuvem IBM Push for IBM Cloud" (clique no botão Get bluelist-push(v2) code ) e instale em seu dispositivo.
  3. No painel IBM Cloud, clique no serviço Push. No Production Configuration caixa de diálogo, em Google Cloud Messaging, preencha os campos de número de projeto e chave de API GCM.

Para configurar um certificado para o iOS:

  1. Siga as instruções em "Registrando o Aplicativo" seção de "Enviando notificações de push para dispositivos iOS."
  2. No painel IBM Cloud, clique no serviço Push. Em Apple Push Notification Service (APNS), inclua o arquivo de certificado e senha para iOS na caixa de diálogo Production Configuration .

Agora, envie uma notificação push de teste para seu dispositivo móvel. É possível fazer isso diretamente do IBM Cloud para ambas as plataformas Android e iOS seguindo as instruções definidas na Etapa 6 de "Estenda um aplicativo Android usando o serviço de nuvem IBM Push for IBM Cloud."

Etapa 3. Importar o fluxo no Node-RED

  1. Clique na guia Obtenha o código botão e copie todo o conteúdo do arquivo flow.json do meu repositório IBM DevOps Services para sua área de transferência.
  2. No seu aplicativo de execução Node-RED em http://name-of-your-app.mybluemix.net, clique no botão Go to your Node-RED flow editor : Screenshot of Node-RED flow editor button
    Screenshot of Node-RED flow editor button
  3. No editor de fluxo, clique no botão "hamburger" e selecione Import from... > Clipboard...: Screenshot of importing a flow from clipboard
    Screenshot of importing a flow from clipboard
  4. Cole o conteúdo do flow.json na caixa de diálogo Import Nodes e clique em OK: Screenshot of Import Nodes dialog box
    Screenshot of Import Nodes dialog box

Agora é possível ver 2 fluxos — um vindo de um nó inject e outro vindo do nó do Twitter:

Screenshot of the two flows on sheet 1
Screenshot of the two flows on sheet 1

É possível usar a ferramenta de linha de comando inject nó para teste.

Etapa 4. Configurar suas credenciais do Twitter

  1. Antes de continuar, você deve incluir as credenciais do Twitter para que a instância Node-RED possa usar a API do Twitter. Dê um clique duplo no nó do Twitter (o nó com o ícone do Twitter e #bluemix) e clique no ícone de lápis na caixa de diálogo Edit twitter in node .
  2. Em Add new twitter-credentials config node, clique em aqui :Screenshot of add new twitter credentials dialog
    Screenshot of add new twitter credentials dialog
  3. Se você ainda não estiver logado no Twitter, insira as credenciais do usuário da conta do Twitter que você deseja fazer chamadas API. Depois de efetuar login (ou se você já estava logado), autorize o aplicativo na próxima página: Screenshot of Twitter app authorization page
    Screenshot of Twitter app authorization page
  4. Ao visualizar a mensagem "Authorised - you can close this window and return to Node-RED." , retorne ao Node-RED. Seu ID do Twitter agora preenche o campo Twitter ID na caixa de diálogo Add new Twitter-credentials config node . Clique em Add e, a seguir, clique em OK.

Etapa 5. Configurar notificações push automaticamente

  1. No painel do IBM Cloud de seu aplicativo, clique no botão MOBILE OPTIONS e copie seu segredo de aplicativo: Screenshot of the app secret on IBM Cloud
    Screenshot of the app secret on IBM Cloud
  2. No editor de fluxo Node-RED no aplicativo de execução, dê um clique duplo no nó send notification para abrir a caixa de diálogo Edit function node : Screenshot of editing send notification node
    Screenshot of editing send notification node
  3. No código de função:
    • Substitua INSERT IBM APPLICATION SECRET HERE pelo seu segredo de aplicativo da IBM.
    • Para direcionar a apenas dispositivos iOS, substitua ['G'] por ['A']. Para direcionar para ambos iOS e Android, remova o objeto target e a vírgula que o precede.
    • Opcionalmente, substitua message (a mensagem que você enviou ao dispositivo) pela mensagem de sua escolha. Veja o IBM Cloud Mobile Cloud Services REST API Documentation para um guia completo de diferentes tipos de chamadas API de notificação push.

Etapa 6. Configurar uma URL de notificação push

  1. No editor de fluxo, dê um clique duplo no nó http request para abrir a caixa de diálogo Edit http request node .
  2. Copie o conteúdo do campo URL (https://mobile.ng.bluemix.net:443/push/v1/apps/INSERT_APP_ID_HERE/messages) em um editor de texto.
  3. No painel do IBM Cloud de seu aplicativo, clique no botão MOBILE OPTIONS e copie seu ID do aplicativo.
  4. No seu editor de texto, substitua INSERT_APP_ID pelo seu ID do aplicativo e copie a URL de lá de volta ao campo URL na caixa de diálogo Edit http request node .
  5. Clique em OK e, em seguida, clique no botão Deploy na parte superior da página.

Suas mudanças foram salvas e seu aplicativo agora está em tempo real!

Conclusão

Você deve estar confortável com a inclusão do serviço Push no IBM Cloud em instâncias dos aplicativos que não são o padrão móvel e é possível enviar notificações com êxito através do serviço. E você deve ser capaz de enviar notificações push automaticamente através do Node-RED no IBM Cloud usando o recebimento de pontuações de sentimento do Twitter ou sua própria lógica de negócio. Agora é possível customizar e entregar rapidamente notificações para os usuários móveis do aplicativo. O uso do Node-RED, acoplado com o serviço simples de Push no IBM Cloud, faz o processo todo mais simples, com muito menos partes de movimentação.


Recursos para download


Temas relacionados

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing
ArticleID=991837
ArticleTitle=Enviar notificações push automaticamente com o Node-RED e o serviço IBM Cloud Push
publish-date=12052014