android - 在 Cordova 推送通知

原文 标签 android cordova push-notification phonegap-plugins

我正在使用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'”。

最佳答案

如果您在 onDeviceReady 之后没有这样做,通常会发生这种情况。 .在此触发(推送通知、相机等)之前,您无法访问任何 native 设备 API。

function onDeviceReady() {

    // Sets up your push notifications 
    setupPush();
}

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

关于android - 在 Cordova 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43347547/

相关文章:

android - 适用于 Android 的纯 c++ 应用程序及其性能

ios - swift 3 : Ambiguous use of mutablecopy

ios - 在一个目标(GCM)中拥有两个GoogleService-Info.plist(或更多)

android - Weinre 不工作,尝试调试?

android - Android Gradle Min SDK版本更改导致错误

android - GCM 推送通知未恢复

java - Android默认最小SDK不起作用

android - 如何在移动应用程序的sails.js中从以前的设备注销用户?

java - 如何将ArrayList的索引添加到同一Arraylist Java

javascript - 创建没有上下文或 Activity 的Android MessageBox?