Ionic PushNotification

时间:2016-10-17 05:39:57

标签: ionic-framework ionic-view

我在我的Android应用程序上实现了离子推送通知。当应用程序未运行时(无论是在后台还是未启动),推送通知效果很好,但是,它不会获得状态栏通知(通知栏)或在后台运行或根本没有启动时出现的振动。

$ionicPlatform.ready(function() {

    localStorage.myPush = ''; // I use a localStorage variable to persist the token
    var tokenID = '';
    $cordovaPushV5.initialize(  // important to initialize with the multidevice structure !!
        {
            android: {
                senderID: "457390407561"
            },
            ios: {
                alert: 'true',
                badge: true,
                sound: 'false',
                clearBadge: true
            },
            windows: {}
        }
    ).then(function (result) {
        $cordovaPushV5.onNotification();
        $cordovaPushV5.onError();
        $cordovaPushV5.register().then(function (resultreg) {
            localStorage.myPush = resultreg;
            console.log(localStorage);
        }, function (err) {
            // handle error
        });
    });

    $rootScope.$on('$cordovaPushV5:notificationReceived', function(event, data){
      // data.message,
      // data.title,
      // data.count,
      // data.sound,
      // data.image,
      // data.additionalData
      console.log("notification received");
      console.log(event);
      console.log(data);
      console.log(data.message);
      console.log(data.title);
      console.log(data.count);
      console.log(data.sound);

      if (data.additionalData.foreground === true) {
        // do something if the app is in foreground while receiving to push - handle in app push handling
        console.log("notification received in foreground");
      }
      else {
       // handle push messages while app is in background or not started
       console.log("notification received in background");
       $state.go('app.orderlist');
      }

    });
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
    if (window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      cordova.plugins.Keyboard.disableScroll(true);
    }
    if (window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleDefault();
    }
  });

有任何建议或建议吗?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以添加

forceShow: true

如下所示

$cordovaPushV5.initialize(  // important to initialize with the multidevice structure !!
        {
            android: {
                senderID: "xxxxxxxxx",
                forceShow: true
            },
            ios: {
                alert: 'true',
                badge: true,
                sound: 'false',
                clearBadge: true,
            },
            windows: {}
        }
    )
相关问题