cordova - 为什么我在给定的示例代码中得到 window.FirebasePlugin 为空?
问题描述
我已经安装了cordova fcm插件,我也在根文件夹中添加了google-services.json,我已经成功设置了fcm但我无法获取令牌
我有 phonegap 桌面应用程序,我可以在其中运行我的应用程序,我可以检查我的 android 设备
try {
if (window.FirebasePlugin == null) {
alert("FCMPlugin is null")
return;
}
window.FirebasePlugin.getToken(function (token) {
alert(token);
});
}
catch (e) {
alert(e);
}
}
我收到警报,因为 FCMPlugin 为空
解决方案
我们最常见的一种情况是,它在检查设备或文件是否准备好之前直接调用设置 FirebasePlugin,以便将您的代码放在设备准备就绪事件中(或者确保在调用每件事后加载),例如:
document.addEventListener('deviceready', DeviceReady, false);
function DeviceReady(){
console.log(window.FirebasePlugin);
}
第二种情况是您未加载Cordova.js
(如果未加载,请确保调用它),或者加载太晚(以便 deviceReady 事件解决问题)
祝你好运。
推荐阅读
- ios - 滚动视图中的 SwiftUI 动画/过渡表现奇怪
- r - 取消列出 R 中多个元素的列表
- ionic3 - ionic 3中如何让页面可以左右滑动?
- aws-lambda - 格式错误的 lambda 代理响应,找不到错误
- node.js - 我可以对我从 Angular 中的节点模块执行的每个请求使用 http-proxy 吗?
- powerbi - Power BI DAX - 为计算列运行 MEDIAN 或 MEDIANX 公式会给出错误消息
- android - 如何模拟 kotlin 地图功能?
- c++ - 如何在恒定时间内使用地图访问向量中的元素(具有唯一标识符)?
- php - 有没有办法让 Y 轴不适应谷歌柱形图的加载表?
- javascript - Angular js文本剪辑,如果文本超过150个字符,则会被剪辑