首页 > 解决方案 > 为什么我在给定的示例代码中得到 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 为空

标签: cordovaphonegaphtml-framework-7cordova-plugin-fcm

解决方案


我们最常见的一种情况是,它在检查设备或文件是否准备好之前直接调用设置 FirebasePlugin,以便将您的代码放在设备准备就绪事件中(或者确保在调用每件事后加载),例如:

document.addEventListener('deviceready', DeviceReady, false);

function DeviceReady(){
    console.log(window.FirebasePlugin);
}

第二种情况是您未加载Cordova.js(如果未加载,请确保调用它),或者加载太晚(以便 deviceReady 事件解决问题)

祝你好运。


推荐阅读