我正在使用Web中的Firebase消息。
根据Firebase关于messages.getToken()的描述:
最初,一旦检索到它就进行网络呼叫。随后致电
getToken将从缓存返回。
但是我们在下面的代码中看到,每次加载页面时,它都会从messages.getToken()函数(从网络或
缓存)以及每次发送到服务器时(通过sendTokenToServer())。
messaging.getToken().then(function(currentToken) {
if (currentToken) {
sendTokenToServer(currentToken);
updateUIForPushEnabled(currentToken);t
} else {
// Show permission request.
console.log('No Instance ID token available. Request permission to generate one.');
// Show permission UI.
updateUIForPushPermissionRequired();
setTokenSentToServer(false);
}
Link of Code in Github
我也想用这个话题。每次都将Token订阅到主题上并不是最佳选择。
在这种情况下,每次页面加载时,我都必须向主题订阅令牌。
有没有一种方法可以检测到令牌是从网络调用还是从缓存中获取的?
如果获取的令牌来自缓存,则我不会将令牌发送到服务器,也不会订阅该主题(因为它首先完成了。)
最佳答案
如果您想知道令牌是新令牌还是新令牌,则必须将其值与以前在本地存储中缓存的令牌进行比较。 API不会给您任何指示。
无论如何每次都将其发送到服务器并不是很糟糕。
关于javascript - 有没有办法检测到采用的Firebase token ,是通过网络调用还是从缓存中获取的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51195716/