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

Push notification com Firebase

Olá pessoal!

Estou implementando push notification em um app e estou recebendo normalmente a notificação. Contudo, se o app estiver em background ou não iniciado, a notificação é realizada, o device recebe a notificação, mas ao clicar na notificação em si, a ação apenas abre o aplicativo mas não mostra o alerta que implementei no subscribe que recebe a notificação.

Minha pergunta é, como manipular a notificação com o aplicativo em background ou não iniciado?

ps: Quando o aplicativo está aberto, o alerta é mostrado normalmente.

Estou seguindo a documentação oficial: https://docs.ionic.io/services/push/ A documentação para manipulação de push notification é muito simplificada.

Segue o código abaixo que implemento:

      if (!this.platform.is('cordova')) {
        console.warn('Push notifications not initialized. Cordova is not available - Run in physical device');
        return;
      }
      this.push.register().then((t: PushToken) => {
        return this.push.saveToken(t);
      }).then((t: PushToken) => {
        console.log('Token saved:', t.token);
      });

      this.push.rx.notification()
        .subscribe((notification) => {
          let youralert = this.alertCtrl.create({
            title: notification.title,
            message: notification.text,
            buttons: ['Ok'],
          });
          console.log(notification);
          youralert.present();
        },
        err => console.log(err));

Desde já agradeço a ajuda!

6 respostas

Minha sugestão seria ler exatamente esse tutorial que você acabou de compartilhar. Se não me engano, background notification rola apenas no IOS.

O único trecho que fala sobre manipulação de notificações é este: https://docs.ionic.io/services/push/#handling-notifications

Realmente, no tutorial só mostra manipulação de notification em background pra IOS.

Se só funciona em IOS, no caso temos uma limitação não explicita no guide e isso é triste. É frustante pro usuário receber uma notificação e ao clicar nela não poder saber o conteúdo da mesma.

Ainda continuo no aguardo por alguma informação a mais. Tenho esperança que deve existir alguma coisa sobre, mesmo q não documentado.

Mas, desde já agradeço a atenção!

Vamos deixar aqui aberto um tempo sua dúvida para ver se alguém traz alguma solução diferente.

Passando pra atualizar. Ainda continuo pesquisando. Pelo que entendi, é a forma que é enviado a notificação que pode mudar o comportamento.

Segue o link que estou analisando, se alguém poder me ajudar a entender, agradeço.

Se conseguir, explico...

Link -> https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#push-message-arrives-with-app-in-background

solução!

Problema resolvido!

A causa está na requisição. O firebase envia uma requisição que atinge apenas os dispositivos, android, em modo foreground. Ao realizar uma requisição post via ferramenta, utilizei o postman, funcionou perfeitamente. Segue abaixo o código em json:

{
    "data" : {
        "title": "Test Notification",
        "body": "This offer expires at 11:30 or whatever",
        "notId": 10,
        "surveyID": "ewtawgreg-gragrag-rgarhthgbad"
    },
    "priority":"high",
    "to" : "token_id"
}

Agradeço a atenção!

Notícia boa!!!