Cordova Push Plugin: OnNotificationGMC non viene sparato e non può get regID

Ciao a tutti sto sviluppando un'applicazione ibrida di cavo che richiede il servizio di notifica di punta di Android e iOS per funzionare e quindi ho installato il plugin " PushPlugin " di cordova .

Ecco il mio codice

  • Aggiorna la Libreria di Supporto di Android a 23.2.0 causare errori: XmlPullParserException Linea file binaria XML # 17 <vector> tag richiede viewportWidth> 0
  • Errore di visualizzazione ionica se il GPS è spento
  • Android - Immagine lampeggiante utilizzando l'animation Alpha sbiadito
  • Come eseguire comandi di command ffmpeg in modo programmato in android?
  • Lo studio Android non riconosce l'emulatore in esecuzione
  • Quando annullare la logging di Broadcast Receiver registrata in onCreate?
  • document.addEventListener ("deviceready", deviceready, false);

    function deviceready() { try { pushNotification = window.plugins.pushNotification; pushNotification.unregister(successHandler, errorHandler); pushNotification.register( successHandler, errorHandler, { "senderID": "7645XXXXXXXX", "ecb": "onNotificationGCM" }); function successHandler(data) { alert("SUCCESS: " + JSON.stringify(data)); }; function errorHandler(e) { alert("ERROR" + e); } function onNotificationGCM(e) { alert("Done") } } catch (e) { alert(e); } } 

    Quando eseguo la mia applicazione mi aspetto di avere due avviso: il succesHandler e il onNotificationGCM uno, ma solo incendi il succesHandler dicendo: "OK" … Con questo problema non posso anche accedere al parametro regID che verrà memorizzato nel mio server …

    Qualcuno può spiegarmi come get il regID .. Tutto il mio lavoro dipende da questo

    Sto provando questa applicazione su un Galaxy S4 Mini con Android 4.4.2.

  • Quali sono i contentAuthority di Android SyncAdapter e il tipo di account?
  • Edizione di Gradle e Android v7 compat
  • Eccezione nel thread "principale" java.lang.NoClassDefFoundError: junit / textui / ResultPrinter Dopo l'aggiornamento a Yosemite
  • JSONObject a String Android
  • SocketTimeoutException in Retrofit
  • Differenze tra la class IthemeszedOverlay e Overlay
  • 3 Solutions collect form web for “Cordova Push Plugin: OnNotificationGMC non viene sparato e non può get regID”

    FISSO

    Ho spostato l'onNotificationGCM in un tag di script vuoto come questo:

     <script> function onNotificationGCM(result) { alert(result.regid); } </script> 

    E adesso ti dà il regID 🙂

    Ho avuto lo stesso problema. Se si utilizza AngularJS + IonicFramework non è necessario:

    Dopo aver creato la tua fabbrica con la function onDeviceReady, crea la function OnNotificationGCM. Qualcosa come questo:

    app.factory ('PushProcessingService', function () {..

    });

    function onNotificationGCM (e) {}

    Stavo creando onNotificationGCM all'interno della mia fabbrica. Questo risolve il mio problema. Spero che possa aiutarti.

    Nel framework ionico è disponibile un plugin pronto: http://ngcordova.com/docs/plugins/pushNotifications/

    ecco un esempio per un codice di lavoro per dispositivi Android:

     module.run(function($cordovaPush) { var androidConfig = { "senderID": "replace_with_sender_id", "ecb": "replace_with_the_name_of_function that will return you the regid" }; document.addEventListener("deviceready", function(){ $cordovaPush.register(config).then(function(result) { // Success }, function(err) { // Error }) window.function replace_with_ecb(notification) { //notification.regid switch(notification.event) { case 'registered': if (notification.regid.length > 0 ) { alert('registration ID = ' + notification.regid); } break; case 'message': // this is the actual push notification. its format depends on the data model from the push server alert('message = ' + notification.message + ' msgCount = ' + notification.msgcnt); break; case 'error': alert('GCM error = ' + notification.msg); break; default: alert('An unknown GCM event has occurred'); break; } }; }, false); }); 

    questo codice funziona solo un dispositivo reale (non un emulatore)

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.