Глядя на этот код, мне интересно, какие триггеры onNotificationGCM
? Он запускается, когда приложение зарегистрировано, но когда оно снова запускается, скажем, когда когда я хочу направить сообщение пользователю? У меня есть приложение для чата, которое я хотел бы нажать на сообщение, когда появятся чаты. Поэтому я понимаю, что я регистрирую устройство, но затем этот код должен запускаться снова, я полагаю, с новым событием. Мне просто нужно понять часть потока и код детали.
// handle GCM notifications for Android
$window.onNotificationGCM = function (event) {
switch (event.event) {
case 'registered':
if (event.regid.length > 0) {
// Your GCM push server needs to know the regID before it can push to this device
// here is where you might want to send it the regID for later use.
var device_token = event.regid;
RequestsService.register(device_token).then(function(response){
alert('registered!');
});
//send device reg id to server
}
break;
case 'message':
// if this flag is set, this notification happened while we were in the foreground.
// you might want to play a sound to get the user's attention, throw up a dialog, etc.
if (event.foreground) {
console.log('INLINE NOTIFICATION');
var my_media = new Media("/android_asset/www/" + event.soundname);
my_media.play();
} else {
if (event.coldstart) {
console.log('COLDSTART NOTIFICATION');
} else {
console.log('BACKGROUND NOTIFICATION');
}
}
navigator.notification.alert(event.payload.message);
console.log('MESSAGE -> MSG: ' + event.payload.message);
//Only works for GCM
console.log('MESSAGE -> MSGCNT: ' + event.payload.msgcnt);
//Only works on Amazon Fire OS
console.log('MESSAGE -> TIME: ' + event.payload.timeStamp);
break;
case 'error':
console.log('ERROR -> MSG:' + event.msg);
break;
default:
console.log('EVENT -> Unknown, an event was received and we do not know what it is');
break;
}
};
Хорошо, я думаю, что получаю. Мне просто интересно, если этот «ecb»: «window.onNotificationGCM» вызывается по требованию, скажем, что-то вниз по течению в моем приложении, которое содержит полезную нагрузку. Я написал узел api, используя node-gcm, который имеет регистр/маршрут и заменит ваше локальное хранилище, но также имеет маршрут/push. Там я создаю сообщение, которое я хочу отправить. Я предполагаю, что когда вызов нажать полностью, он каким-то образом вызовет «ecb»: «window.onNotificationGCM и отправьте полезную нагрузку, которую я там построил. Это выглядит правильно? Спасибо за пример –
Прости, я не понимаю. :) – Ajoy
Проблема Np. По той или иной причине ecb не был запущен с моего сервера после того, как я создал полезную нагрузку. Как оказалось, что-то не так с ключом, который я создал в Google. Я никогда не строил одну из этих вещей раньше и не знал, думал ли я об этом неправильно. Кажется, сейчас хорошо работает. –