如何在Cordova平台中实现推送通知?

时间:2017-01-18 13:05:45

标签: android ios cordova notifications

我正在尝试在我的应用中实现推送通知概念。 成功安装插件后,push.on(registration)方法未调用

我的项目结构是projectname/platforms/android/assets/www

www文件夹中包含所有html,js,css个文件

notification.js档案,我已拨打homepage.html

我已在 notification.js 中编写代码:

document.addEventListener('deviceready', pushNotification, false);
function PushNotification(){
var push = PushNotification.init({ "android": {"senderID": "GCMProjectId(123456789)"},"ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );
       push.on('registration', function(data) {
            alert("registration id is:"+data.registrationId);
            var id = localStorage.getItem("userId");
            var notifyInput = {
                        "token":data.registrationId,
                        "type":"android",
                        "uid":id
               }
            });

    push.on('notification', function(data) {
              alert(data.message);
            });

    push.on('error', function(e) {
            // e.message
            alert("error function calling on push notifications");

            });

}

此处push.on(registration) and push.on(notification)方法未调用请告知我们获取特定设备通知的可能方法

1 个答案:

答案 0 :(得分:2)

成功安装推送通知插件后,我收到了Android中的通知

<强>过程:

通过使用以下链接,我已经安装了推送通知插件


cordova plugin add https://github.com/phonegap/phonegap-plugin-push --variable SENDER_ID="xxxxxxxxxxxxxx"

安装要求:

-Android版本&gt; 6.0.0
-iOS版本&gt; 4.3.0更好

对于iOS版本,需要pods。所以我们需要安装pod

sudo gem install cocoapods

对于GCM注册:     https://developers.google.com/mobile/add

成功安装后,将创建pod文件。完成后,打开project.xcworkspace文件。然后ios应用程序将正常运行

如果您在应用中间调用通知,请编写addEventListener方法

document.addEventListener('deviceready', pushNotification, false);

    function PushNotification(){
    var push = PushNotification.init({ "android": {"senderID": "xxxxxx(refers project number in GCM)"},"ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );

           push.on('registration', function(data) {
                alert("registration id is:"+data.registrationId);
               // registration id need to pass your notification server

                });

        push.on('notification', function(data) {
                  alert(data.message);
                  // you receive the notification
                });

        push.on('error', function(e) {
                // e.message
                alert("error function calling on push notifications");

                });

    }