implementando notificações push em seu aplicativo
alguns anos atrás, começaram a surgir serviços que trouxeram a simplicidade dos sistemas pub/sub típicos para notificações push. Em vez de ter que rastrear manualmente os IDs de telefone do usuário individualmente, esses serviços permitem que você simplesmente Inscreva seus usuários nos canais desejados para receber notificações push.
por exemplo, se um usuário quiser ser notificado quando um curso sobre Javascript for publicado no Thinkster, poderíamos assiná-los em um canal chamado “javascript” no qual milhares de outros usuários também poderiam ser inscritos. No entanto, para acionar uma notificação push para todos esses usuários, seria necessário apenas uma linha de código – basta publicar uma notificação push no canal “javascript” e todos os nossos usuários a receberão. Compare isso com consultar seu banco de dados que contém os IDs de telefone do Usuário, segmentando quais usuários desejam ser notificados sobre Javascript e, em seguida, enviando notificações individualmente para cada um deles para APNS/GCM. Yuck!
existem alguns serviços por aí que fornecem essa funcionalidade pub / sub, mas neste momento, recomendamos o uso do Parse para gerenciar suas notificações push. Aqui está o porquê: – é amplamente adotado e batalha endurecido de uso em mais de 100.000 aplicativos-é gratuito para enviar um número ilimitado de notificações push, desde que você tenha < 1 milhão de usuários (!!!) registrado em seu aplicativo( depois disso, você tem que pagar míseros cinco centavos por mil usuários adicionais) – seus plug-ins e API são insanamente fáceis de usar
faremos uma visão geral de alguns outros serviços disponíveis para você mais tarde neste curso, mas em geral a configuração nesses vários serviços é muito semelhante!
preparando seu ambiente
a outra coisa que você precisa saber ao desenvolver para iOS é que a Apple não permite enviar notificações push para aplicativos em execução no emulador; você precisa usar um dispositivo real. Recomendamos que você teste todas as funções que a notificação push invocará no emulador e, quando seu aplicativo for construído, você precisará carregar seu aplicativo em um dispositivo real para garantir que as notificações push estejam realmente sendo recebidas.
configurando o Parse
para que este projeto funcione especificamente para o seu aplicativo, precisamos trocar suas chaves e identificadores exclusivos:
neste ponto, seu projeto deve ser executado! Existem realmente apenas duas coisas que você precisa chamar ao usar o Parse: initialize
, que garante que este dispositivo está registrado para notificações push, e subscribe
, que irá subscrever este telefone específico para qualquer canal que você fornecer. Há também um terceiro método getInstallationId
que retornará o ID de instalação deste usuário de análise, mas só é útil se você estiver mergulhando profundamente em alguns dos recursos mais avançados do Parse.
vamos dar um momento rápido para rever o código conectando nosso aplicativo para analisar www/app.js
:
window.parsePlugin.initialize(appId, clientKey, function() { console.log('Parse initialized successfully.'); window.parsePlugin.subscribe('SampleChannel', function() { console.log('Successfully subscribed to SampleChannel.'); window.parsePlugin.getInstallationId(function(id) { // update the view to show that we have the install ID console.log('Retrieved install id: ' + id); /** * Now you can construct an object and save it to your own services, or Parse, and corrilate users to parse installations * var install_data = { installation_id: id, channels: } * */ }, function(e) { console.log('Failure to retrieve install id.'); }); }, function(e) { console.log('Failed trying to subscribe to SampleChannel.'); }); }, function(e) { console.log('Failure to initialize Parse.'); });
isso não é terrivelmente complexo de se olhar, mas observe que ele está sendo executado depois que todos os aplicativos Cordova foram carregados em $ionicPlatform.ready
. Isso é importante, pois não queremos chamar métodos window.parse
se o plug-in de Análise ainda não estiver disponível para nós! Outra coisa a notar é que este código será disparado toda vez que o aplicativo for aberto. Você pode chamar initialize
e subscribe
para o mesmo canal quantas vezes quiser, sem que isso afete o Usuário, sua conta de análise ou APNS/GCM. Na verdade, provavelmente é melhor que você faça isso para garantir que o Usuário não desative acidentalmente as notificações push do seu aplicativo desde a última vez que o usou.
como este aplicativo agora está inscrito no canal de análise’ SampleChannel’, isso significa que agora podemos enviar notificações push para ele. Como visto no vídeo acima, você pode fazer isso através do Painel Parse Push especificando ‘SampleChannel’ como o destino. No entanto, se você estiver criando um aplicativo pronto para produção, provavelmente desejará enviar notificações push programaticamente do seu servidor por meio da API REST do Parse.
enviar notificações push por meio de canais não é ótimo apenas para grupos de usuários, mas você também pode usar o if para usuários individuais. Por exemplo, você pode criar canais exclusivos programaticamente para cada um de seus usuários apenas assinando-os em um canal com seu ID de usuário anexado ao final dele (ou seja, window.parsePlugin.subscribe('thinkster-user-' + userID)
). Mesmo que seus usuários façam login em novos dispositivos, você pode continuar enviando notificações push apenas sabendo o ID do Usuário!