在科尔多瓦推送通知

Posted

技术标签:

【中文标题】在科尔多瓦推送通知【英文标题】:Push notification in cordova 【发布时间】:2017-09-06 22:28:18 【问题描述】:

我正在使用cordova插件添加phonegap-plugin-push --variable SENDER_ID=XXXXXXXX 这个插件。并将以下代码添加到 javascript 文件中。

   function setupPush() 
   var push = PushNotification.init(
       "android": 
           "senderID": "XXXXXXXX"
       ,
       "ios": 
         "sound": true,
         "alert": true,
         "badge": true
       ,
       "windows": 
   );

   push.on('registration', function(data) 
       console.log("registration event: " + data.registrationId);
       var oldRegId = localStorage.getItem('registrationId');
       if (oldRegId !== data.registrationId) 
           // Save new registration ID
           localStorage.setItem('registrationId', data.registrationId);
           // Post registrationId to your app server as the value has changed
       
   );

   push.on('error', function(e) 
       console.log("push error = " + e.message);
   );
 

它给出的错误是“TypeError:无法调用未定义的方法'init'”。

【问题讨论】:

我的回答对您的问题有帮助吗? 【参考方案1】:

如果您在onDeviceReady 之后没有执行此操作,通常会发生这种情况。在此触发(推送通知、摄像头等)之前,您无法访问任何本机设备 API。

function onDeviceReady() 

    // Sets up your push notifications 
    setupPush();


// Fires when device is ready.
document.addEventListener("deviceready", onDeviceReady, false);

【讨论】:

以上是关于在科尔多瓦推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在科尔多瓦应用程序中使用推送通知?

科尔多瓦 3.3 中的用户推送通知

科尔多瓦推送通知插件抛出错误

如何检查该应用在 PhoneGap Build 上是不是有推送通知?

在 Ionic 3 应用程序上收到推送通知时调用哪个函数?

Android 5 Asus ZenFone 2 在应用关闭时阻止推送通知