RSS feed
Suporte iOS com os Serviços Móveis da Windows Azure - agora com Notificações Push - ScottGu's Blog em Português

Suporte iOS com os Serviços Móveis da Windows Azure - agora com Notificações Push


Algumas semanas atrás eu postei (em Inglês) sobre uma série de melhorias para os Serviços Móveis da Windows Azure. Uma delas foi a adição de um SDK cliente Objective-C que permite aos desenvolvedores iOS usar facilmente os Serviços Móveis para interagir com dados e autenticação de usuários. Hoje estou animado para anunciar uma série de melhorias para o nosso SDK iOS e, mais significativamente, nosso novo suporte para Push Notifications (Notificações Push) através de APNs (Serviços de Notificação Push da Apple). Isto torna incrivelmente fácil disparar notificações push para seus usuários iOS a partir de scripts dos Serviços Móveis da Windows Azure.

Push Notifications via APNs

Nós fornecemos dois tutoriais completos (em Inglês) que guiam você passo a passo através do processo de provisionamento e configuração para habilitar o uso de APNs com sua aplicação que utiliza os Serviços Móveis da Windows Azure, incluindo todos os passos necessários para configurar sua aplicação para push no portal de provisionamento iOS da Apple:

Depois de configurar sua aplicação no portal de provisionamento iOS da Apple e enviar o certificado APNs para o portal de provisionamento da Apple, é apenas uma questão de enviar o seu certificado APNs para os Serviços Móveis usando o Portal de Administração da Windows Azure:

imagem.

Clicando no botão "Upload" dentro da aba "Push" do seu Serviço Móvel permite que você navegue pelo seu sistema de arquivos local e localize/carregue o seu certificado exportado. Como parte disso você também pode selecionar se deseja usar o serviço da Apple no modo sandbox (dev) ou produção (prod):

imagem.

Agora, o código para enviar uma notificação push para seus clientes a partir de um Serviço Móvel da Windows Azure é tão fácil como o código mostrado a seguir:

push.apns.send(deviceToken, {

     alert: 'Toast: A new Mobile Services task.',

     sound: 'default'

});

Isso fará com que os Serviços Móveis da Windows Azure se conectem ao APNs (Serviço de Notificação Push da Apple) e envie uma notificação para o dispositivo iOS especificado através do deviceToken:

imagem.

Dê uma olhada na documentação de referência (em Inglês) para saber mais detalhes sobre como usar o novo objeto apns dos Serviços Móveis da Windows Azure para enviar suas notificações push.

Scripts de Feedback

Uma parte importante do trabalho com qualquer PNS (Push Notification Service/Serviço de Notificação Push) é tratar o feedback (retorno) para os canais e tokens de dispositivo expirados. Isso normalmente acontece quando sua aplicação é desinstalada de um dispositivo em particular e assim não pode mais receber suas notificações. Com os Serviços de Notificação do Windows você tem uma resposta imediata do servidor HTTP. Os Serviços de Notificação da Apple funcionam de uma maneira um pouco diferente e oferecem um ponto de conexão adicional ao qual você pode se conectar para retornar uma lista de tokens expirados.

Tal como acontece com todos os recursos que integramos aos Serviços Móveis, o nosso objetivo é permitir que os desenvolvedores se concentrem mais na construção de suas aplicações e menos na construção da infraestrutura para suportar suas ideias. Portanto, nós sabíamos que tínhamos de oferecer uma maneira simples para que os desenvolvedores possam integrar o feedback/resposta das APNs continuamente. 

A atualização desta semana inclui agora uma nova tela no portal que permite, opcionalmente, fornecer um script para processar os retornos de suas APNs - e o mesmo será executado pelos Serviços Móveis de forma contínua:

imagem.

Este script é invocado periodicamente enquanto seu serviço estiver ativo. Para buscar o feedback, você pode simplesmente chamar o método getFeedback do objeto apns dentro deste script:

push.apns.getFeedback({ 

     success: function(results) {

          // Results é um array de objetos com propriedades deviceToken e time

     }

});

Esse código retorna uma lista de tokens inválidos, que agora podem ser removidos de seu banco de dados.

Melhorias para o SDK Cliente iOS

Durante o mês passado continuamos o trabalho com um número de conselheiros iOS para fazer melhorias em nosso SDK Objective-C (em Inglês). O SDK está sendo desenvolvido sob uma licença de código aberto (Apache 2.0) e está disponível no github.

Muitas das melhorias estão atrás dos bastidores para melhorar o desempenho e uso de memória. No entanto, uma das maiores melhorias para a nossa API cliente iOS é a adição de um método de login ainda mais fácil. A seguir está o código Objective-C, que você pode escrever agora para invocá-lo:

[client loginWithProvider:@"twitter" 

                   onController:self

                       animated:YES

                     completion:^(MSUser *user, NSError *error) {

     // Se nenhum erro ocorreu, você está agora logado através do Twitter

}];

Este código irá automaticamente apresentar e esconder o nosso controlador da visão de login como um janela de diálogo modal no controlador especificado. Esta única linha de código faz todo o trabalho duro para você e torna o login via contas do Twitter, Google, Facebook e Microsoft algo extremamente simples.

Meu colega Josh postou um pequeno vídeo (em Inglês) demonstrando esses novos recursos, o qual eu recomendo que você confira:

imagem.

Resumo

Os recursos mostrados acima estão agora ao vivo em produção e disponíveis para uso imediato. Se você ainda não tem uma conta da Windows Azure, você pode se cadastrar em teste gratuito e começar a usar os Serviços Móveis hoje mesmo. Visite o Centro de Desenvolvimento Móvel da Windows Azure para saber mais sobre como construir aplicações com os Serviços Móveis.

Espero que ajude,

- Scott

P.S. Além do blog, eu também estou utilizando o Twitter para atualizações rápidas e para compartilhar links. Siga-me em: twitter.com/ScottGu


Texto traduzido do post original por Leniel Macaferi.

Published Tuesday, December 4, 2012 11:55 PM by Leniel Macaferi

Comments

No Comments