Quando recebo a msg push no meu aplicativo, gostaria de clicar e com isso abrir meu aplicativo na tela e mensagem clicada por exemplo. Já procurei quase em todo o material do firebase e não achei nada, alguém pode me dar uma luz?
Quando recebo a msg push no meu aplicativo, gostaria de clicar e com isso abrir meu aplicativo na tela e mensagem clicada por exemplo. Já procurei quase em todo o material do firebase e não achei nada, alguém pode me dar uma luz?
Olá Nilton,
Pode compartilhar o repositório do plugin cordova que você está usando?
Partindo da seguinte documentação [1] um pseudo código seria
{payload: { title: 'Titulo da notificação', chave_personalizada_url: '/produtos'}}
chave_personalizada_url
e usando o seu router do seu projeto rediciona para a tela que foi enviada.Com o repositório do plugin que está usando e mais informações do seu aplicativo como se está usando um framework posso tentar fazer um exemplo.
Abraço!
[1] https://firebase.google.com/docs/cloud-messaging/http-server-ref?hl=pt-br
Olá boa noite,
Compartilhando meu repositorio onde monto a instrução de envio de push, em c#.
switch (data.sistemaoperacional_txt.ToLower())
{
case "android":
var desc = new DefaultPushNotification
{
to = data.registration_ids,
notification = new DataPushNotification
{
title = data.title,
body = data.message,
icon = data.icon,
payload = data.payload,
}
};
json = new JavaScriptSerializer().Serialize(desc).Replace("[", "").Replace("]", "");
break;
case "ios":
var ios = new DefaultPushNotification
{
to = data.registration_ids,
notification = new DataPushNotification
{
title = data.title,
body = data.message,
style = "inbox",
summaryText = "Você tem %n% notificações",
badge = data.badge,
payload = data.payload,
image = "icon",
color = "#3b5998",
tipo_txt = data.tipo_txt
}
};
json = new JavaScriptSerializer().Serialize(ios).Replace("[", "").Replace("]", "");
break;
}
break;
No cordova uso o seguinte:
window.FirebasePlugin.getToken(function ($token) { console.log('token: '+ $token) document.getElementById("registration_ids").value = $token; }, function (error) { console.error(error); });
window.FirebasePlugin.onTokenRefresh(function ($token) {
document.getElementById("registration_ids").value = $token;
}, function (error) {
console.error(error);
});
window.FirebasePlugin.onNotificationOpen(function ($notification) {
var $notif = JSON.stringify($notification);
// M.toast({ html: $notif });
navigator.notification.alert(
$notification.body, // message
alertDismissed, // callback
$notification.title, // title
'Ok' // buttonName
);
}, function (error) {
console.error(error);
});
window.FirebasePlugin.grantPermission();