获取推送通知接收数据 - ionic3

时间:2017-08-29 06:44:11

标签: android cordova firebase push-notification ionic3

我正在开发针对Android和ios的ionic3应用,我正在使用推送通知。我想在接收推送通知时从服务器获取一些数据。由于Firebase限制,我无法将数据作为推送通知的一部分发送推送消息的最大大小为(4Kb)。因此,我只有在用户点击推送通知时才从服务器获取数据,导致用户等待直到从服务器获取数据。

是否有任何方法可以在推送通知到达时获取数据(应用程序不在前台)?

2 个答案:

答案 0 :(得分:0)

你使用promises作为一种'回调句柄' - 在服务中做异步,返回一个promise,当异步工作完成后,promise就会触发函数。

angular.module('atTheMoviesApp', [])
  .controller('GetMoviesCtrl', 
       function($log, $scope, movieService) {
           $scope.getMovieListing = function(movie) {
           var promise = 
               movieService.getMovie('avengers');
           promise.then(
              function(payload) { 
              $scope.listingData = payload.data;
        },
        function(errorPayload) {
            $log.error('failure loading movie', errorPayload);
        });
     };
})
.factory('movieService', function($http) {
return {
  getMovie: function(id) {
     return $http.get('/api/v1/movies/' + id);
  }
}
});

您可以参考此Link

中的代码

答案 1 :(得分:0)

我使用“Phonegap-Plugin-Push”插件进行Firebase推送通知。如果推送有效负载仅包含“数据”对象,则此插件会在推送通知到达时调用('notification')处理程序。因此,我不是将“通知”对象添加到有效负载,而是仅发送“数据”对象作为来自服务器的有效负载的一部分。现在,只要推送通知到达设备,我就可以在我的on('notification')处理程序中从服务器获取数据。

参考: PhonegapPluginPushDocs