当应用程序处于前台时,Phonegap管理通知

时间:2017-09-07 11:22:44

标签: push-notification cordova-plugins phonegap

我正在使用cordova和phonegap构建移动应用程序。 我想在通知到达时在设备屏幕上显示一个弹出窗口。是否有任何插件在cordova中为此。

1 个答案:

答案 0 :(得分:0)

来自https://programmingistheway.wordpress.com/2017/07/19/devextremephonegap-how-to-manage-push-notifications-with-fcm/

仅在应用程序打开时才管理3个事件注册,通知和错误。

  

注册:APP将自己注册到推送服务,接收   一个独特的registrationId。如果要存储,此事件很有用   此值用于向单个设备发送通知;

     

通知:而不是显示经典通知弹出(取决于   电话),事件通知显示有点弹出(使用DevExtreme   如果APP打开(如果应用程序是,则读取消息)   关闭后,您将以经典方式获得通知);

     

错误:如果APP已打开并且通知会引发一些错误,您可以在此处进行管理。

因此,您必须进行管理的事件是通知。当应用程序在前台传递通知时会引发此事件(因此,当应用程序运行时)。

将此代码插入 deviceReady 事件:

var push = PushNotification.init({
    android: {
    },
    ios: {
        alert: "true",
        badge: "true",
        sound: "true",
        clearBadge: "true"
    },
    windows: {}
});
push.on('registration', function (data) {
    // data.registrationId
    DevExpress.ui.notify("Device registered " + data.registrationId, "success", 3000);
});
push.on('notification', function (data) {
    // data.message,
    // data.title,
    // data.count,
    // data.sound,
    // data.image,
    // data.additionalData
    // mostra la notifica se l'app è aperta
    DevExpress.ui.notify(data.message, "info", 10000);
});
push.on('error', function (e) {
    // e.message
    // sarà da togliere, utilissimo in fase di debug
    DevExpress.ui.notify(e.message, "error", 10000);
});

并在通知事件中插入所需的代码。在这种情况下,使用DevExtreme,但如果您不使用它,您只需显示alert或查找您需要的内容(示例)enter link description here