我们正在尝试在angular5应用程序中构建通知服务。 为此,我们使用谷歌firebase消息服务。当用户从应用程序注销时,我们遇到的问题是,令牌未刷新或应用程序未取消订阅,因此当新用户登录并订阅新令牌时。
请在 angular5 中帮助删除/取消订阅令牌。
订阅令牌的代码。
this.messaging.getToken().then(function(this, currentToken ) {
if (currentToken) {
console.log(' token alredy have for this app port domain in browser current stored token no need to create and send new token');
console.log(currentToken);
} else {
// Show permission request.
console.log('No Instance ID token available. Request permission to generate one.');
// Show permission UI.
new MessagingService(null, null, null, null, null, null).generateAndSendTokenToServer(fdb);
}
}).catch(function(err) {
console.log('An error occurred while retrieving token. ', err);
});
}
答案 0 :(得分:0)
在Angular 6上进行了测试
deleteToken() {
this.messaging.getToken()
.then(t => this.messaging.deleteToken(t) )
.then(r => console.log(r))
.catch(e => console.error(e));
}
然后尝试生成另一个令牌。就我而言,.onTokenRefresh不会自动被调用,您必须显式调用this.messaging.getToken().then(token => console.log(token ${token}))
来生成新令牌。
并确保用户已接受生成令牌的请求