我正在为KaiOS(一个旧的Firefox OS的分支)开发一个应用程序,该应用程序基于HTML5 + JS。在设备上编译并运行时,Firebase Cloud Messaging停止工作。我收到如下错误。
TypeError:“ applicationServerKey”成员
PushSubscriptionOptionsInit无法转换为以下任何一种:
ArrayBufferView,ArrayBuffer。
我已遵循Firebase文档here中的说明以及有关为Progressive Web Apps here设置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
最佳答案
它可能对您没有帮助,但最近我在不同的环境中遇到了类似的错误消息:
错误:无法在“ 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
关于javascript - Firebase Cloud Messaging-JS SDK中的getToken()错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61650651/