我已经使用Webpack为Firebase Messaging for Web(javascript(创建了一个模块捆绑包。
除了我似乎无法实现";subscribeToTopic";作用我在这里遵循了网站上的说明,但当我导出并运行它时,我会得到";类型错误:n.subscribeToTopic不是函数;。
我怀疑我需要为subscribeToToken添加另一个导入,但文档没有告诉我。有人知道我能做什么吗?
import { initializeApp } from "firebase/app";
import { getMessaging, getToken, isSupported } from "firebase/messaging";
const firebaseApp = initializeApp({
//all the info here
});
const messaging = getMessaging(firebaseApp);
getToken(messaging, { vapidKey: 'thekeyhere' }).then((currentToken) => {
if (currentToken) {
//test - immediately subscribe token to test topic
messaging.subscribeToTopic(currentToken, topic);
}else{
console.log('need to get new token...');
}
})
.catch((error) => {
console.log('issupported was false:', error);
});
正如您参考的文档中所解释的,subscribeToTopic((是Admin SDK中的方法,而不是JS SDK中的方法。
您可以将注册令牌列表传递给Firebase Admin SDK订阅方法,以便为主题订阅相应的设备。
因此您无法从JS SDK调用此方法。但是,您可以实现云函数(云函数使用Admin SDK(并从应用程序中调用它。