Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

App executando em background

Boa noite.

Estou desenvolvendo um App que a cada 5 minutos faz uma consulta numa API, e caso retorne algum dado novo ele manda uma notificação local (Estou utilizando o plugin local notification) para o celular do usuário. Quando o App está aberto funciona corretamente, a notificação chega certinho, porém quando eu saio do App a notificação não é mais enviada, acho que nem a própria consulta é feita. Eu gostaria que mesmo com o App fechado, ele continuasse fazendo essas consultas e enviando as notificações, estilo o whatsapp por exemplo.

Aqui está meu código:

Meu controller:

.controller('ListagemController', function($scope, $rootScope, webservice, $interval, $localStorage) { $scope.listas = $rootScope.listas; var listaAntiga = $scope.listas.length;

$interval(function() { webservice.listarAndamento($rootScope.codigo).then(function(response) { $scope.listas = response; var listaAtual = response.length;

if(listaAtual > listaAntiga) { cordova.plugins.notification.local.schedule({ title: 'Follow Work', text: 'Fase concluída do seu pedido.' });

listaAntiga = listaAtual; } }); }, 300000); })

E no app.js eu coloquei o seguinte código:

document.addEventListener('deviceready', function () { // Enable background mode cordova.plugins.backgroundMode.setEnabled(true); }, false);

Tentei usar esse plugin para ver se ativava o modo background https://github.com/katzer/cordova-plugin-background-mode

Alguém poderia me dar uma ajuda?

Att, Maurício.

2 respostas
solução!

Fala ai Mauricio, tudo bem ?

Cara o wpp ele não fica fazendo uma requisição em segundo plano, pensa comigo se ele ficasse fazendo isso a bateria do celular ia morrer rapidinho fora que o pacote de dados também iria para o espaço num piscar de olhos.

A responsabilidade de saber se tem coisa nova não é do aplicativo, ele não precisa ficar indo lá fazer a busca sempre, muito pelo contrário o servidor precisa avisar que rolou algo e notifica o aparelho.

O wpp usa uma engine no google chamada Firebase, que tem um modulo de aviso de notificação chamado FCM ( firebase cloud message ) que é responsável por saber qual é o celular que precisa receber a notificação e a envia.

Talvez você precise dar uma estudada no firebase e redefinir seu app para usa-lo.

Acho que faz muito sentido.

Opa, boa tarde!

Entendi. Mas é que pra esse meu caso eu preciso que a notificação seja gerada pelo app mesmo. Mas eu já consegui dar um jeito aqui :)

Agora tenho uma outra dúvida. Mas vou abordar ela em um novo tópico.

Obrigado a atenção.

Att, Maurício.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software