Attualmente sto costruendo un'applicazione Android utilizzando ionic/ngcordova. Sono al punto di implementare le notifiche push. Ho implementato le notifiche push come servizio che viene iniettato allo stage app.run(function(){..})
. La parte di registrazione funziona e ricevo una richiamata contenente lo regid
. Inoltre, quando l'applicazione è nello stato attivo, l'evento viene generato e la notifica viene ricevuta.ngCordova/Notifiche Push ioniche quando l'applicazione è in background
Il problema che sto avendo è che quando l'applicazione va in secondo piano, le notifiche non vengono ricevute affatto. Mi aspetterei che venga generata una notifica locale quando l'app non è in esecuzione o qualcosa di simile, ma assolutamente non accade nulla, il che è strano.
Ho navigato il web negli ultimi due giorni cercando una soluzione, ma non sono riuscito a trovare nulla che indichi che dovrebbe funzionare.
Quanto segue è il mio notificationService.js dentro la mia app
app.factory('notificationService', ['$cordovaPush', function($cordovaPush){
var dataFactory = {};
//
// When the device is ready and this service has been plumbed in...
document.addEventListener("deviceready", function(){
console.log("initializing push notifications...");
_register();
}, false);
//
// Registers the device for push notifications...
var _register = function(){
var config = {};
if (device.platform == 'android' || device.platform == 'Android' || device.platform == "amazon-fireos"){
// TODO: centralise this value as it can change...
config = {
senderID: "448168747432",
ecb: "onNotificationGCM"
};
}else {
// iOS
config = {
"badge":"true",
"sound":"true",
"alert":"true"
};
// Can add the following property to the config object to raise a callback with the information if need be...
// "ecb": "onNotificationRegisterAPN"
}
$cordovaPush.register(config).then(function(result){
//
// Typically returns "ok" for android and devicetoken for iOS
console.log(result);
});
};
window.onNotificationGCM = function(result){
console.log(result);
/*
I get called when the app is in the foreground, but nothing happens when the app is in the background.
*/
};
dataFactory.register = _register;
return dataFactory;
}]);
Se aiuta, sto usando PushSharp tramite un'applicazione .NET al fine di consegnare le notifiche. Qualsiasi aiuto sarebbe molto apprezzato.
UPDATE: sto usando i seguenti quadri/libs:
- ionico quadro 1.2.14-beta6
- Cordova 4.2.0
- PushPlugin