0

我正在为 KaiOS 开发一个应用程序,它是旧 Firefox OS 的一个分支,其应用程序基于 HTML5 + JS。在设备上编译和运行时,Firebase Cloud Messaging 停止工作。我收到如下错误。

TypeError:PushSubscriptionOptionsInit 的“applicationServerKey”成员无法转换为以下任何一种:ArrayBufferView、ArrayBuffer。

我已按照此处的 Firebase 文档中的说明以及此处的有关为渐进式 Web 应用程序设置 FCM 的教程进行操作。我可以在调用 getToken 之前确认我正在设置我的密钥,如下所示:

import firebase from "firebase";

const messaging = firebase.messaging();
messaging.usePublicVapidKey("<my-key-from-firebase-settings>");

messaging.getToken().then((currentToken) => {
    ...
}).catch((err) => {
    ...
});

我已经搜索了上述错误,但无济于事。有谁知道这个错误是什么意思或如何解决?在我的开发机器上的浏览器中运行应用程序,一切正常。

注意:该应用程序是用 Typescript Firebase SDK 版本编写的: 7.12.0

4

1 回答 1

1

它可能对您没有帮助,但我最近在不同的环境中遇到了类似的错误消息:

错误:无法在“PushManager”上执行“订阅”:提供的值不是“(ArrayBuffer 或 ArrayBufferView)”类型

它在 Firebase 的 7.13.2 版本中得到修复:

https://github.com/firebase/firebase-js-sdk/issues/2712

https://firebase.google.com/support/release-notes/js#version_7132_-_april_2_2020

于 2020-05-07T07:37:18.703 回答