El recuento de distintivos no está visible en la mayoría de los dispositivos Android que usan el complemento Phonegap

Estoy usando el complemento ( https://github.com/phonegap/phonegap-plugin-push ) para establecer el recuento de la insignia, que usa la biblioteca de ShortcutBadger ( https://github.com/leolin310148/ShortcutBadger ). Al usar este complemento puedo get el número de identificación en la mayoría de los dispositivos de Samsung, pero no puedo get la certificación de [para una instancia] Xiomi MI4I. Amablemente, avíseme, si hay algún trabajo para que la insignia cuente?

Los detalles son los siguientes:

Comportamiento esperado:

Usando "push.setApplicationIconBadgeNumber (function successCallback () {console.log ('success');}, function errorCallback () {console.log ('error');}, 50);" el recuento de distintivos debería funcionar.

Comportamiento real:

Usando "push.setApplicationIconBadgeNumber (function successCallback () {console.log ('success');}, function errorCallback () {console.log ('error');}, 50);" El recuento de distintivos solo funciona en algunos dispositivos Android basados ​​en Samsung, a saber: Samsung Note 3 Neo (Android 5.1.1), etc.

Reproducir escenario (incluyendo pero no limitado a):

Después de registrar el dispositivo para notifications automáticas, en el caso de recibir una notificación, agregué: "push.setApplicationIconBadgeNumber (function successCallback () {console.log ('success');}, function errorCallback () {console.log (' error ');}, 50); ", para establecer el recuento de la insignia.

Pasos para reproducir:

push.on('registration', (data) => { //push.setApplicationIconBadgeNumber(function successCallback(){ console.log('success');}, function errorCallback(){ console.log('error');}, 50); console.log("device token ->", data.registrationId); //TODO - send device token to server }); push.on('notification', (data) => { push.setApplicationIconBadgeNumber(function successCallback(){ console.log('success');}, function errorCallback(){ console.log('error');}, 50); console.log('message', data.message); let self = this; //if user using app and push notification comes if (data.additionalData.foreground) { // if application open, show popup let confirmAlert = this.alertCtrl.create({ title: 'New Notification', message: data.message, buttons: [{ text: 'Ignore', role: 'cancel' }, { text: 'View', handler: () => { //TODO: Your logic here self.nav.push(DetailsPage, {message: data.message}); } }] }); confirmAlert.present(); } else { //if user NOT using app and push notification comes //TODO: Your logic on click of push notification directly self.nav.push(DetailsPage, {message: data.message}); console.log("Push notification clicked"); } }); 

Plataforma y Versión (por ejemplo, Android 5.0 o iOS 9.2.1):

Android-5.0.2, 5.1.1, 6.0, 7.0

(Android) ¿Qué proveedor de dispositivos (por ejemplo, Samsung, HTC, Sony …):

Lenovo (A6000), Samsung (Nota 3 Neo), Moto (G 4), Xiomi (MI4I)

Versión de Cordova CLI y versión de la plataforma cordova:

Cordova CLI – 6.4.0

Cordova Platform Version Android -: Plataforms instaladas: android 6.0.0 Plataforms disponibles: amazon-fireos ~ 3.6.3 (en desuso) blackberry10 ~ browser 3.8.0 ~ 4.1.0 firefoxos ~ 3.6.3 webos ~ 3.7.0 windows ~ 4.4. 0 wp8 ~ 3.8.2 (obsoleto)

Versión de complemento:

Versión del complemento de Cordova | grep phonegap-plugin-push – phonegap-plugin-push 1.8.2 "PushPlugin"

Código de muestra que ilustra el problema:

 push.on('registration', (data) => { //push.setApplicationIconBadgeNumber(function successCallback(){ console.log('success');}, function errorCallback(){ console.log('error');}, 50); console.log("device token ->", data.registrationId); //TODO - send device token to server }); push.on('notification', (data) => { push.setApplicationIconBadgeNumber(function successCallback(){ console.log('success');}, function errorCallback(){ console.log('error');}, 50); console.log('message', data.message); let self = this; //if user using app and push notification comes if (data.additionalData.foreground) { // if application open, show popup let confirmAlert = this.alertCtrl.create({ title: 'New Notification', message: data.message, buttons: [{ text: 'Ignore', role: 'cancel' }, { text: 'View', handler: () => { //TODO: Your logic here self.nav.push(DetailsPage, {message: data.message}); } }] }); confirmAlert.present(); } else { //if user NOT using app and push notification comes //TODO: Your logic on click of push notification directly self.nav.push(DetailsPage, {message: data.message}); console.log("Push notification clicked"); } }); 

Gracias – Sid