iOS PushPlugin Cordova 注册问题

Posted

技术标签:

【中文标题】iOS PushPlugin Cordova 注册问题【英文标题】:iOS PushPlugin Cordova issue in registration 【发布时间】:2016-06-24 09:24:42 【问题描述】:

我正在使用 Cordova iOS 平台。我需要在我的项目中添加推送通知

步骤:

    我在 Google 控制台中创建了一个项目并创建了一个 Project-ID。

    从 Apple Developer 创建了一个 APNS PushNotification 生产证书。

    在我的项目中添加以下插件

    cordova plugin add phonegap-plugin-push --variable SENDER_ID="722784892462"

在 index.js 中

   var pushNotification; 
gcmNotification = 
  onNotificationAPN : function (e) 
      if (e.id)
      
        navigator.notification.beep();
        
      
  ,
  registerPushNotification : function () 
     try
      pushNotification = window.plugins.pushNotification;     

      var errorHandler = function (error) 
        console.log(error);
      ;

      var tokenHandler = function (result) 
          alert('device token = ' + result);
      ;

      pushNotification.register(tokenHandler, errorHandler,  "badge": "true", "sound": "true", "alert": "true", "ecb": "onNotificationAPN" );

    catch(e)
      exceptionAlert("registerPushNotification>>"+e);
    
  


function onNotificationAPN(e)

  gcmNotification.onNotificationAPN(e);

我在我的真实设备上试过了。

我收到以下错误:

【问题讨论】:

【参考方案1】:

你有没有在你的html页面中添加cordova.js文件

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

【讨论】:

cordova.js 已添加。除了这个之外,我的其他插件都运行良好 我试过这个对我有用。检查此网址github.com/phonegap-build/PushPlugin【参考方案2】:

我找到了解决方案。 我已将代码从 PushNotification.js 替换为 Push.js

https://github.com/phonegap/phonegap-plugin-push/tree/master/www

并在 index.js

中添加以下代码
var push = PushNotification.init(
    android: 
        senderID: "12345679"
    ,
    ios: 
        alert: "true",
        badge: "true",
        sound: "true"
    ,
    windows: 
);

push.on('registration', function(data) 
    // data.registrationId
);

push.on('notification', function(data) 
    // data.message,
    // data.title,
    // data.count,
    // data.sound,
    // data.image,
    // data.additionalData
);

push.on('error', function(e) 
    // e.message
);

【讨论】:

以上是关于iOS PushPlugin Cordova 注册问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS Cordova PushPlugin

cordova pushplugin 无法在 iOS 中获取设备令牌

在 iOS 中使用 PushPlugin for Cordova 清除单个通知

如何在cordova android上连接PushPlugin + Parse

使用 IOs-PushPlugin Cordova 2.5 进行首次推送

Pushplugin - 无法注册设备 (IOS)