我正在为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/

10-11 05:30
查看更多