Utilizzo di Cordova (ionicframework + angularjs) Build per l'utilizzo di richieste di notifiche push per dispositivi Android. Quando si effettua la registrazione Il risultato del messaggio successHandler()
viene generato con ('ok')! Perché il metodo onNotification()
non viene attivato in qualsiasi momento ??.Errore di riferimento onnotification non definito nella notifica push cordova android
var pushNotification;
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
pushNotification = window.plugins.pushNotification;
setupNotificationsForandroid();
}
//begin setup
function setupNotificationsForandroid() {
// alert("inside setup");
if (device.platform == 'android' || device.platform == 'Android' || device.platform == "amazon-fireos"){
pushNotification.register(
successHandler,
errorHandler,
{
"senderID":"856763042820",
"ecb":"onNotification"
});
} else {
pushNotification.register(
tokenHandler,
errorHandler,
{
"badge":"true",
"sound":"true",
"alert":"true",
"ecb":"onNotificationAPN"
});
}
}
function successHandler(result){
//alert("success"+result);
}
function errorHandler(){
alert("error");
}
// Android
function onNotification(e) {
//alert("inside onnotification");
switch(e.event)
{
case 'registered':
if (e.regid.length > 0){
//set up the server call for storing registraion ids
alert(e.regid);
}
break;
case 'message':
// if this flag is set, this notification happened while we were in the foreground.
if(e.foreground){
var soundfile = e.soundname || e.payload.sound;
var my_media = new Media("android/assets/www/"+ soundfile);
my_media.play();
}else{
// otherwise we were launched because the user touched a notification in the notification tray.
}
break;
case 'error':
console.log("Error"+e.msg);
break;
default:
console.log("An unknown event");
return;
}
}
Ecco il mio messaggio di console:
09-22 11:38:46.151: I/Web Console(24662): processMessage failed: Stack: ReferenceError: onNotification is not defined
09-22 11:38:46.151: I/Web Console(24662): at eval (eval at processMessage (file:///android_asset/www/cordova.js:1006:26), <anonymous>:1:1)
09-22 11:38:46.151: I/Web Console(24662): at processMessage (file:///android_asset/www/cordova.js:1006:13)
09-22 11:38:46.151: I/Web Console(24662): at Function.androidExec.processMessages (file:///android_asset/www/cordova.js:1076:13)
09-22 11:38:46.151: I/Web Console(24662): at pollOnce (file:///android_asset/www/cordova.js:944:17)
09-22 11:38:46.151: I/Web Console(24662): at pollOnceFromOnlineEvent (file:///android_asset/www/cordova.js:939:5) at file:///android_asset/www/cordova.js:1045
09-22 11:38:46.151: D/CordovaLog(24662): file:///android_asset/www/cordova.js: Line 1046 : processMessage failed: Message: Jjavascript:onNotification({"regid":"APA91bHDLg9BZl-eicx3tS-MjVGy-mcufmbRc-EpCuKzb9b_tPddG125jyxY-OhVR5vul6az-eJ2nZ0PEiOVPqP2KjClaUwAKTBQx5gsIluI0jsGIrpCvNQdUbtKUBxNNH0DH94RHuGpjU29xhTS5Cl8qIgH1MlJHw","event":"registered"})
In base a questo messaggio processMessage failed: Stack: ReferenceError: onNotification is not defined
console Credo che il problema con onNotification()
prego aiutare
Thaks un loooooot si salvare la mia due giorni di mal di testa –
@Hanh Le - è stato salvato anche la mia. anch'io ho avuto lo stesso problema grazie uomo – Dino