Phonegap推送插件不支持ANdroid

Phonegap推送插件不支持ANdroid,android,cordova,phonegap-plugins,phonegap-pushplugin,Android,Cordova,Phonegap Plugins,Phonegap Pushplugin,Hy iam使用phone gap 5.0 CLI,我正在为android 5.0开发API级别为22的应用程序。Js技术是jquery 我正在为android平台进行构建,并在我的设备上进行测试 我正在电脑上使用windows 7 软件的 CLI、Eclipse和android 问题是,手机间隙推送插件不工作 我面临的确切错误是: 10-07 13:01:14.282: E/Web Console(9564): Uncaught Type Error: Object function (opt

Hy iam使用phone gap 5.0 CLI,我正在为android 5.0开发API级别为22的应用程序。Js技术是jquery

  • 我正在为android平台进行构建,并在我的设备上进行测试
  • 我正在电脑上使用windows 7
  • 软件的

  • CLI、Eclipse和android
  • 问题是,手机间隙推送插件不工作 我面临的确切错误是:

    10-07 13:01:14.282: E/Web Console(9564): Uncaught Type Error: Object function (options) {
    10-07 13:01:14.282: E/Web Console(9564):     this._handlers = {
    10-07 13:01:14.282: E/Web Console(9564):         'registration': [],
    10-07 13:01:14.282: E/Web Console(9564):         'notification': [],
    10-07 13:01:14.282: E/Web Console(9564):         'error': []
    10-07 13:01:14.282: E/Web Console(9564):     };
    10-07 13:01:14.282: E/Web Console(9564):     // require options parameter
    10-07 13:01:14.282: E/Web Console(9564):     if (type of options === 'undefined') {
    10-07 13:01:14.282: E/Web Console(9564):         throw new Error('The options argument is required.');
    10-07 13:01:14.282: E/Web Console(9564):     }
    10-07 13:01:14.282: E/Web Console(9564):     // store the options to this object instance
    10-07 13:01:14.282: E/Web Console(9564):     this.options = options;
    10-07 13:01:14.282: E/Web Console(9564):     // triggered on registration and notification
    10-07 13:01:14.282: E/Web Console(9564):     var that = this;
    10-07 13:01:14.282: E/Web Console(9564):     var success = function(result) {
    10-07 13:01:14.282: E/Web Console(9564):         if (result && type of result.registration Id !== 'undefined') {
    10-07 13:01:14.282: E/Web Console(9564):             that.emit('registration', result);
    10-07 13:01:14.282: E/Web Console(9564):         } else if (result && type of result.callback !== 'undefined') {
    10-07 13:01:14.282: E/Web Console(9564):             var multifunctional = function(function Name, context /*, args */) {
    10-07 13:01:14.282: E/Web Console(9564):                 var args = Array.prototype.slice.call(
    arguments, 2);
    10-07 13:01:14.282: E/Web Console(9564):                 var namespaces = function Name.split(".");
    10-07 13:01:14.282: E/Web Console(9564):                 var func = namespaces.pop();
    10-07 13:01:14.282: E/Web Console(9564):                 for (var i = 0; i < namespaces.length; i++) {
    10-07 13:01:14.282: E/Web Console(9564):                     context = context[namespaces[i]];
    10-07 13:01:14.282: E/Web Console(9564):                 }
    10-07 13:01:14.282: E/Web Console(9564):                 return context[func].apply(context, args);
    10-07 13:01:14.282: E/Web Console(9564):             }
    10-07 13:01:14.282: E/Web Console(9564):            
    10-07 13:01:14.282: E/Web Console(9564):             executeFunctionByName(result.callback, window, result);
    10-07 13:01:14.282: E/Web Console(9564):         } else if (result) {
    10-07 13:01:14.282: E/Web Console(9564):             that.emit('notification', result);
    10-07 13:01:14.282: E/Web Console(9564):         }
    10-07 13:01:14.282: E/Web Console(9564):     };
    10-07 13:01:14.282: E/Web Console(9564):     // triggered on error
    10-07 13:01:14.282: E/Web Console(9564):     var fail = function(msg) {
    10-07 13:01:14.282: E/Web Console(9564):         var e = (typeof msg === 'string') ? new Error(msg) : msg;
    10-07 13:01:14.282: E/Web Console(9564):         that.emit('error', e);
    10-07 13:01:14.282: E/Web Console(9564):     };
    10-07 13:01:14.282: E/Web Console(9564):     // wait at least one process tick to allow event subscriptions
    10-07 13:01:14.282: E/Web Console(9564):     setTimeout(function() {
    10-07 13:01:14.282: E/Web Console(9564):         exec(success, fail, 'PushNotification', 'init', [options]);
    10-07 13:01:14.282: E/Web Console(9564):     }, 10);
    10-07 13:01:14.282: E/Web Console(9564): } has no method 'init' at file:///android_asset/www/js/Module.js:8
    10-07 13:01:14.392: D/TilesManager(9564): Starting TG #0, 0x5f73f420
    10-07 13:01:14.392: D/TilesManager(9564): new EGLContext from framework: 5e306a90
    10-07 13:01:14.392: D/GLWebViewState(9564): Reinit shader
    10-07 13:01:14.442: D/netstack(9564): netstack: Request Priority is ON
    10-07 13:01:14.462: D/chromium(9564): Unknown chromium error: -6
    10-07 13:01:14.532: D/GLWebViewState(9564): Reinit transferQueue
    10-07 13:01:14.542: E/Web Console(9564): Uncaught Error: Module phonegap-plugin-push.PushNotification does not exist. at file:///android_asset/www/cordova.js:1418
    10-07 13:01:18.742: I/Web Console(9564): device Ready has not fired after 5 seconds. at file:///android_asset/www/cordova.js:1183
    10-07 13:01:18.742: I/Web Console(9564): Channel not fired: onPluginsReady at file:///android_asset/www/cordova.js:1176
    10-07 13:01:18.742: I/Web Console(9564): Channel not fired: onCordovaReady at file:///android_asset/www/cordova.js:1176
    can any one please help me to solve this problem
    
    thanks in advance to help me 
    
    10-07 13:01:14.282:E/Web控制台(9564):未捕获类型错误:对象函数(选项){
    10-07 13:01:14.282:E/Web控制台(9564):此。\u处理程序={
    10-07 13:01:14.282:E/Web控制台(9564):“注册”:[],
    10-07 13:01:14.282:E/Web控制台(9564):“通知”:[],
    10-07 13:01:14.282:E/Web控制台(9564):“错误”:
    10-07 13:01:14.282:E/Web控制台(9564):};
    10-07 13:01:14.282:E/Web控制台(9564)://需要选项参数
    10-07 13:01:14.282:E/Web控制台(9564):如果(选项类型=='undefined'){
    10-07 13:01:14.282:E/Web控制台(9564):抛出新错误('options参数是必需的');
    10-07 13:01:14.282:E/Web控制台(9564):}
    10-07 13:01:14.282:E/Web控制台(9564)://存储此对象实例的选项
    10-07 13:01:14.282:E/Web控制台(9564):this.options=options;
    10-07 13:01:14.282:E/Web控制台(9564)://在注册和通知时触发
    10-07 13:01:14.282:E/Web控制台(9564):var that=this;
    10-07 13:01:14.282:E/Web控制台(9564):var成功=功能(结果){
    10-07 13:01:14.282:E/Web控制台(9564):如果(result&&type of result.registration Id!=“未定义”){
    10-07 13:01:14.282:E/Web控制台(9564):that.emit('registration',result);
    10-07 13:01:14.282:E/Web控制台(9564):}else if(result&&type of result.callback!=='undefined'){
    10-07 13:01:14.282:E/Web控制台(9564):var多功能=函数(函数名,上下文/*,args*/){
    10-07 13:01:14.282:E/Web控制台(9564):var args=Array.prototype.slice.call(
    论点(2);
    10-07 13:01:14.282:E/Web控制台(9564):变量名称空间=函数名。拆分(“.”);
    10-07 13:01:14.282:E/Web控制台(9564):var func=namespaces.pop();
    10-07 13:01:14.282:E/Web控制台(9564):for(var i=0;i
    谁能帮我解决这个问题
    Hy iam使用phone gap 5.0 CLI,我正在为android 5.0开发应用程序,API级别为22 Js技术是jquery我正在为android平台构建并在我的设备上测试我在我的PC软件上使用windows 7的是CLI、Eclipse和android。问题是phone gap推送插件无法工作。

    该插件已被弃用。替代解决方案包括使用日志“Module phonegap-plugin-push.PushNotification不存在”中的第三方解决方案,显然,Phonegap推送插件安装不正确,因此推送通知对象未定义,或者代码中可能存在一些语法或编译错误,因为通常在javascript中,这种情况是由于任何语法错误而发生的,低于它的代码会失败。 github上目前有一个可用的工作平台,它可以在所有Android Api级别(包括牛轧糖)上正常工作。按以下方式注册推送通知对象:

    var push = PushNotification.init({
                android: {
                    senderID: "XXXXXXXXXXXX",
                },
                ios: {
                    alert: "true",
                    badge: "true",
                    sound: "true",
                }
            });
    
        push.on('registration', function(data) {
            console.log(data.registrationId);
            registerDeviceToken(data.registrationId);
            });
    
        push.on('notification', function(data) {
            console.log("notification event");
             alert(JSON.stringify(data));
             });
    
        push.on('error', function(e) {
            console.log("push error");
            alert(JSON.stringify(e));
        });
    
    function registerDeviceToken(deviceToken){
    //Register the registrationId or deviceToken to your server as per the webservice type and parameters configuration set
    }
    
    确保仅在“<application> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.adobe.phonegap.push.PushHandlerActivity" android:exported="true" /> <receiver android:name="com.adobe.phonegap.push.BackgroundActionButtonHandler" /> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="yourPackageName" /> </intent-filter> </receiver> <service android:name="com.adobe.phonegap.push.GCMIntentService" android:exported="false"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </service> <service android:name="com.adobe.phonegap.push.PushInstanceIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID" /> </intent-filter> </service> <service android:name="com.adobe.phonegap.push.RegistrationIntentService" android:exported="false" /> </application> <permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />