我在从HTML页面(而不是服务工作者)调用
我只在
firebase.messaging()
时遇到了一个毫无意义的错误。
应用程序已在Messaging:请确保在传递给firebase.initializeApp()的选项中正确设置“messagingSenderId”。 (messaging / bad-sender-id)。
<head>
更高处的<script>
中正确初始化messagingSenderId
。默认应用程序显示在控制台日志中:function deviceRegistration() {
console.log('in deviceRegistration()');
console.log("firebase.apps:", firebase.apps);
console.log("firebase.apps.length: ", firebase.apps.length);
if (firebase.apps.length == 0) {
// firebase.initializeApp({{ fcm_config.messagingSenderId }});
firebase.initializeApp({"messagingSenderId": "1234567890"});
}
console.log("after initializeApp"); // prints to console
var messaging = firebase.messaging(); // error happens here
console.log("after firebase.messaging()"); // doesn't print to console
我只在
firebase.apps
中没有应用程序时才调用 firebase.initializeApp
的原因是,当我在没有进行此检查的情况下调用 firebase.initializeApp
时,会出现以下错误:
Firebase:Firebase 应用程序名为“[DEFAULT]”已存在(app/duplicate-app)。
我以为我能够反复地调用 initializeApp
(在每个页面上)并且它会在必要时注册服务工作者...
有人可以帮我弄清楚发生了什么吗?
messagingSenderId
设置为整数值,而实际上它需要被设置为字符串值。当我将其从整数改为字符串后,错误就消失了。唉! - tyler.frankenstein