plugin notification example push-notification ionic-framework pushsharp phonegap-pushplugin ngcordova

example - ngCordova/Ionic Push Notifications cuando la aplicación está en segundo plano



phonegap-plugin-push ionic (1)

Para cualquier otra persona que ha estado tirando de sus pelos por un par de días como yo, la solución fue realmente simple ... Me faltaban dos propiedades en mi solicitud de Pushsharp QueueNotification. Entonces, usando el ejemplo dado en el repositorio de github de PushSharp aquí: https://github.com/Redth/PushSharp#sample-code

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId("DEVICE-REGISTRATION-ID-HERE").WithJson("{/"alert/":/"Hello World!/",/"badge/":7,/"sound/":/"sound.caf/"}"));

Necesita ser actualizado para agregar las propiedades faltantes:

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId("DEVICE REGISTRATION ID HERE") .WithJson(@"{""alert"":""This is the future"",""badge"":7,""sound"":""sound.caf"",""title"":""Status Bar title"",""message"":""Some text you want to display to the user""}"));

De lo contrario, si su aplicación se desarrolla con Cordova y no está actualmente en primer plano, nada, repita nada.

Le pido mi sombrero a gdelavald con su comentario sobre PushPlugin para señalarme en la dirección correcta aquí:

https://github.com/phonegap-build/PushPlugin/issues/212

Actualmente estoy construyendo una aplicación de Android usando ionic / ngcordova. Estoy a punto de implementar notificaciones push. Implementé notificaciones push como un servicio que se inyecta en la app.run(function(){..}) . La parte de registro funciona y recibo una devolución de llamada que contiene el regid . Además, cuando la aplicación se encuentra en estado activo, se genera el evento y se recibe la notificación.

El problema que tengo es que cuando la aplicación pasa a segundo plano, las notificaciones no se reciben en absoluto. Esperaría que se generara una notificación local cuando la aplicación no se está ejecutando o algo similar, pero no ocurre absolutamente nada, lo cual es extraño.

He navegado por la web durante los últimos días buscando una solución, pero no he podido encontrar nada que me indique que debería funcionar.

El siguiente es mi notificationService.js dentro de mi aplicación

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; }]);

Si ayuda, estoy usando PushSharp a través de una aplicación .net para entregar las notificaciones. Cualquier ayuda sería muy apreciada.

ACTUALIZACIÓN: estoy usando los siguientes frameworks / libs:

  • Ionic Framework 1.2.14-beta6
  • Cordova 4.2.0
  • PushPlugin