ng-cordova
Version:
[ngCordova](http://ngcordova.com/) ==========
45 lines (37 loc) • 1.26 kB
JavaScript
// install : cordova plugin add https://github.com/aerogear/aerogear-cordova-push.git
// link : https://github.com/aerogear/aerogear-cordova-push
angular.module('ngCordova.plugins.upsPush', [])
.factory('$cordovaUpsPush', ['$q', '$window', '$rootScope', '$timeout', function ($q, $window, $rootScope, $timeout) {
return {
register: function (config) {
var q = $q.defer();
$window.push.register(function (notification) {
$timeout(function () {
$rootScope.$broadcast('$cordovaUpsPush:notificationReceived', notification);
});
}, function () {
q.resolve();
}, function (error) {
q.reject(error);
}, config);
return q.promise;
},
unregister: function (options) {
var q = $q.defer();
$window.push.unregister(function () {
q.resolve();
}, function (error) {
q.reject(error);
}, options);
return q.promise;
},
// iOS only
setBadgeNumber: function (number) {
var q = $q.defer();
$window.push.setApplicationIconBadgeNumber(function () {
q.resolve();
}, number);
return q.promise;
}
};
}]);