PhoneGap / Cordova应用程序通知

时间:2016-10-09 09:49:03

标签: android cordova phonegap-plugins phonegap-pushplugin

我是PhoneGap / Cordova的新手,我希望在我的应用中添加一些通知。

  1. 推送通知 - 因此,当在应用上发布新文章时,它会提醒用户。

  2. 本地通知 - 在设置的时间间隔(日期和时间)上,我可以提示用户我的应用程序上的最新文章。

  3. 我做了很多搜索,但无法找到一个可以直接导入项目然后修改的工作示例。

    我已尝试过以下插件,但无法使其正常运行 https://github.com/katzer/cordova-plugin-local-notifications/

1 个答案:

答案 0 :(得分:3)

在项目中启用推送通知的步骤。

  1. 使用您的项目名称在https://console.developers.google.com/中创建项目。

  2. 有关推送插件的安装,请参阅以下链接 https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md

  3. push.js文件中的代码 请参阅https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/API.md

    // code:推送通知初始化和注册。

    if (!$window.PushNotification) {
    return;
    }
     var push = $window.PushNotification.init({
    android: {
        senderID: "Include your app sender ID XXXXXXX” 
    },
    ios: {
        alert: "true",
        badge: true,
        sound: 'false'
    },
    windows: {}
    });
    
    push.on('registration', function(data) {
    // this gives the unique deviceId, Or you can maintain array of deviceIds to register multiple devices.
    // if have specified single deviceId for example
    // save this deviceId in database for further operations, i.e. push messages to those ids.
    console.log(data.registrationId);
    });
    
    push.on('notification', function(data) {
    console.log(data.message);
    });
    
    push.on('error', function(e) {
    console.log(e.message);
    });
    push.off('notification', function(e) {
    console.log('off notify');
     });
    
  4. 有多种方法可以发送推送通知。在这里,我正在帮助gcm-server通知。 您需要安装node-gcm。 创建一个新的server.js文件。

     var gcm = require('node-gcm');
     var message = new gcm.Message();
    //API Server Key
     var sender = new gcm.Sender('GIVE_YOUR_SERVER_API_KEY');
    var registrationIds = [];
    
     // Value the payload data to send...
    message.addData('message',"\u270C Peace, Love \u2764 and PhoneGap \u2706!");
    message.addData('title','Push Notification Sample' );
    message.addData('msgcnt','3'); // Shows up in the notification in the status bar
    message.addData('soundname','beep.wav'); //Sound to play 
    message.timeToLive = 3000;
    

    //至少需要一个注册码    //这里使用您在设备注册期间获得的注册ID。

    registrationIds.push( 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

    sender.send(message,registrationIds,4,function(result){    的console.log(结果); });

  5. 请参阅http://devgirl.org/2013/07/17/tutorial-implement-push-notifications-in-your-phonegap-application/,以便清楚了解通过gcm-server发送通知。这将在设备上显示通知。

    您也可以使用firebase而不是gcm。

    启用本地通知的步骤: 使用cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications

    将插件添加到项目中

    调用链接https://github.com/katzer/cordova-plugin-local-notifications/

    中显示的本地通知