PushPad: a inscrição é removida após a atualização do site
Integrei o PushPad e consegui fazê-lo funcionar em Push's estáticos. Agora eu queria combiná-lo com algumas funções PHP e Javascript para torná-lo dinâmico. Aqui está o meu código:
<script>
(function(p,u,s,h,x){p.pushpad=p.pushpad||function(){(p.pushpad.q=p.pushpad.q||[]).push(arguments)};h=u.getElementsByTagName('head')[0];x=u.createElement('script');x.async=1;x.src=s;h.appendChild(x);})(window,document,'https://pushpad.xyz/pushpad.js');
//Install Pushpad
pushpad('init', myprojectnumber);
alert("Pushpad initialised");
//Check subscribe-status
pushpad('status', function (isSubscribed, tags){
//User is already subscribed
if (isSubscribed){
alert("Already subscribed");
//User has not subscribed
}else{
alert("Not subscribed");
//Check in database if this logged-in-user has already subscribed with 5 different devices, if not generate UID and UID_SIGNATURE
var username = $('#username_show').html();
alert('Username: ' + username);
$.ajax
({
type: "POST",
data: {username: username},
dataType: "json",
url: "setNotifications.php",
cache: false,
success: function(data)
{
alert("Ajax successfull. UID generated.");
if (data.uid != 0){
//Set UID and UID-SIGNATURE
pushpad('uid', data.uid, data.uid_signature);
alert('UID:' + data.uid);
//Subscribe
pushpad('subscribe', function(isSubscribed){
if (isSubscribed){
alert("Subscribed");
}else{
alert("Notifications blocked");
}
});
//Already 5 devices subscribed
}else{
alert("Already 5 devices");
}
},
error: function()
{
alert('Error');
}
});
}
});
</script>
À primeira vista, tudo funciona bem. Se eu visitar o site pela primeira vez, todos os alertas aparecerão, até o alerta "UID". Em seguida, o Chrome solicita que eu aceite notificações por push. Clico em permitir e, em seguida, o alerta "Inscrito" aparece.
Se eu atualizar o site agora, tudo será repetido até o alerta "Inscrito" (mas não sou solicitado a permitir mais notificações por push do Chrome). Eu pensaria que o alerta "Já inscrito" deveria aparecer, porque já me inscrevi antes, mas não aparece.
Agradeceria se alguém pudesse ajudar :-)