angular - 为什么在调用 firebase 函数时会出现 FCM 错误

标签 angular firebase ionic-framework google-cloud-functions angularfire

所以我通过 AngularFire 调用 firebase 函数,如下所示:

const response = await this.aFunctions.httpsCallable<void, ResponseType>('funcName')().toPromise();

这在部署到 firebase(托管)时有效,但在本地环境中(使用 ionic serve ),它会引发此错误:
ERROR Error: Uncaught (in promise): FirebaseError: Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker for scope ('http://localhost:8100/firebase-cloud-messaging-push-scope') with script ('http://localhost:8100/firebase-messaging-sw.js'): A bad HTTP response code (404) was received when fetching the script. (messaging/failed-service-worker-registration).
FirebaseError: Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker for scope ('http://localhost:8100/firebase-cloud-messaging-push-scope') with script ('http://localhost:8100/firebase-messaging-sw.js'): A bad HTTP response code (404) was received when fetching the script. (messaging/failed-service-worker-registration).

我在这个项目中没有以任何方式使用 FCM。你知道为什么会这样吗?

最佳答案

就我而言,我通过 解决了它注释掉messagesSenderId .
火力:{
apiKey: 'XXXXX',
authDomain: 'XXXXX',
数据库 URL: 'XXXXX',
项目 ID: 'XXXXX',
存储桶:'XXXXX',
//messagesSenderId: 'XXXXX', <== 注释掉这个
应用程序 ID:'XXXXX'
}
我的情况有点不同和奇怪。我需要将一个 Angular 项目部署到 Firebase 托管。
代码:
const ob = this.functions.httpsCallable('api-name')({});
ob.subscribe((data)=>{//在这里做点什么});
错误:
FirebaseError: Messaging: 我们无法注册默认的服务 worker ......
环境:

  • 本地:好的
  • firebase 托管默认域(projectName.web.app):错误
  • firebase 托管默认域(projectName.firebaseapp.com):好的

  • 我不知道原因,但希望它可以帮助您和其他遇到类似问题的人。

    关于angular - 为什么在调用 firebase 函数时会出现 FCM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61641275/

    相关文章:

    swift - Firestore - 创建集合的副本

    node.js - Firebase 3.0 token : [Error: Invalid claim 'kid' in auth header.]

    javascript - 在 Ionic App 中以横向全屏播放视频

    javascript - 选择元素 Angular

    Dockerized Ionic 应用程序热重载不起作用

    angular - 服务相互包含时访问静态属性时出错

    angular - 每个 Angular 模块如何有一种样式?

    javascript - 即使在将数字显式转换为字符串变量后,Angular 仍然编译没有错误

    java - Android System.currentTimeMillis() 值在 firebase 数据库上与在应用程序 logcat 上生成的不同

    带有 primeng 的 Angular2 复选框失败