简体   繁体   English

未定义 Firebase 插件 (FCM)

[英]Firebase Plugin(FCM) is not defined

Trying to establish push capabilities via FCM and Phonegap, but i keep getting this error: FCMPlugin is not defined.尝试通过 FCM 和 Phonegap 建立推送功能,但我不断收到此错误:未定义 FCMPlugin。

index.js索引.js

FCMPlugin.onNotification(function(data){
    if(data.wasTapped){
    //Notification was received on device tray and tapped by the user.
    alert( JSON.stringify(data) );
}else{
  //Notification was received in foreground. Maybe the user needs to be 
   notified.
  alert( JSON.stringify(data) );
 }
});

index.html索引.html

<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="plugins/cordova-plugin- 
fcm/www/FCMPlugin.js"></script>

config.xml配置文件

<plugin name="cordova-plugin-whitelist" spec="~1.3.3" />
<plugin name="cordova-plugin-device" spec="~1.1.7" />
<plugin name="cordova-plugin-fcm" spec="~2.1.2" />

Console安慰

index.js:55 Uncaught ReferenceError: FCMPlugin is not defined
at index.js:55
(anonymous) @ index.js:55
(index):84 adding proxy for Device
(index):84 adding proxy for Battery
(index):84 adding proxy for Camera
(index):84 adding proxy for File
(index):84 adding proxy for Capture
(index):84 adding proxy for Globalization
(index):84 adding proxy for InAppBrowser
(index):84 adding proxy for NetworkStatus
(index):84 Error: exec proxy not found for :: FCMPlugin :: ready
(index):84 FCMPlugin Ready ERROR
(index):84 FCMPlugin.js: is created
(index):84 Persistent fs quota granted

****Edit ****编辑

I added an event listener for when device is ready, and it seemed to work, yet my console gives me another error.我在设备准备就绪时添加了一个事件侦听器,它似乎可以正常工作,但我的控制台又给我一个错误。

Error: exec proxy not found for :: FCMPlugin :: ready
(index):84 FCMPlugin Ready ERROR
(index):84 FCMPlugin.js: is created
(index):84 Persistent fs quota granted
(index):84 Error: exec proxy not found for :: FCMPlugin :: 
registerNotification

Heres my updated JS这是我更新的 JS

   document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    var deviceID = device.uuid;
    localStorage.uuid = deviceID;
    FCMPlugin.onNotification(function(data){
        if(data.wasTapped){
          //Notification was received on device tray and tapped by the user.
          alert( JSON.stringify(data) );
        }else{
          //Notification was received in foreground. Maybe the user needs to be notified.
          alert( JSON.stringify(data) );
        }
    });
}`

Change the FCMPlugin file path to the same path in your index.html, so the file must be called in this way:将 FCMPlugin 文件路径更改为与 index.html 中相同的路径,因此必须以这种方式调用该文件:

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="FCMPlugin.js"></script>
<script type="text/javascript" src="js/index.js"></script>

The same location as the cordova.js file.与 cordova.js 文件相同的位置。 And the final script must be your script for index.js最后的脚本必须是你的 index.js 脚本

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM