Я пытаюсь заставить Push-уведомления работать в моем приложении Sencha Touch, которое будет ориентировано на Windows Phone, iOS и Android. На данный момент я сосредоточен на том, чтобы регистрация устройств работала в приложении Windows Phone.
Обратите внимание: у нас есть существующая серверная часть ASP.NET внутри облачной службы Windows Azure.
Я установил расширения Sencha Touch для Windows Azure и Я установил PushPlugin для PhoneGap в свое приложение Sencha.
Я выполнил все инструкции на веб-сайт Windows Azure по настройке подключаемого модуля Ext.Azure.
Я понимаю, что регистрация устройства не произойдет при работе в настольном браузере, поэтому я запустил свое приложение на своем устройстве Windows Phone... однако ничего не происходит... регистрация устройства не происходит.
Вот соответствующий код контроллера Sencha:
init: function () {
Ext.Azure.on({
scope: this,
'pushregistrationsuccess': this.onPushRegistrationSuccess,
'pushregistrationfailure': this.onPushRegistrationFailure,
'pushnotification': this.onPushNotification
});
},
onPushRegistrationFailure: function (event, opts) {
alert("The push registration failed");
},
onPushRegistrationSuccess: function (event) {
alert("onPushRegistrationSuccess: " + event);
},
onPushNotification: function (event) {
Ext.Msg.alert('Notification', event.message);
},
launch: function (app) {
//debugger;
Ext.Azure.init({
appKey: 'xxxxxxxxxxxxxxxxxx',
appUrl: 'xxxxxxxxx.azure-mobile.net',
pushConfig : {
windowsphone : 'channel_name',
android : 'sender_id',
ios : true
}
});
}
Я просмотрел весь код и не могу понять, как регистрация устройства выполняется в Windows Phone. Похоже, внутри WP8 нет никакого собственного кода, который приравнивается к материалу PhoneGap PushPlugin на стороне iOS и Android. Я предполагаю, что регистрация выполняется через вызов REST непосредственно в MPNS в плагине javascript Ext.Azure (хотя я не могу найти этот вызов в исходном коде).
В любом случае, я не могу понять, как выполнить регистрацию устройства WP в приложении Sencha. Кроме того, я, вероятно, не буду использовать службы Azure Mobile, поскольку у нас уже есть серверная часть, и я думаю, что было бы разумнее использовать центр уведомлений служебной шины из облачной службы с помощью Azure SDK. Так что я действительно использую Ext.Azure только для нормализации регистрации устройств.
Учитывая, что у меня уже есть серверная часть облачной службы, нужны ли мне мобильные службы Azure? Единственная причина, по которой я могу придумать это, заключается в том, что регистрация устройства для WP8 проходит через мобильную службу.
Я очень смущен всем этим. В конфигурации push для моего приложения Sencha есть «имя канала», я понятия не имею, откуда это взять? Но эй, я полагаю, что если это неправильно, я все равно смогу сделать вызов регистрации устройства.
Поэтому я буду очень признателен за любой совет о том, как лучше всего настроить push-уведомления для приложения Sencha на WP8, Android и iPhone, где есть существующий облачный сервис.
Спасибо за вашу помощь