Push известия с помощта на приложението Sencha Touch Windows Phone + Windows Azure Mobile Services + Персонализиран бекенд

Опитвам се да накарам Push известията да работят в моето приложение Sencha Touch, което ще бъде насочено към Windows Phone, iOS и Android. В момента се фокусирам върху това да накарам регистрацията на устройството да работи в приложението Windows Phone.

Моля, обърнете внимание: Имаме съществуващ бекенд на ASP.NET в облачна услуга на Windows Azure.

Инсталирах Sencha Touch Extensions за Windows Azure и Инсталирах PhoneGap PushPlugin в моето приложение Sencha

Следвах всички инструкции на уебсайта на Windows Azure относно настройката на приставката Ext.Azure.

Разбирам, че регистрацията на устройството няма да се случи, когато се изпълнява в настолен браузър, така че стартирах приложението си на моето устройство с Windows Phone... обаче нищо не се случва... не се извършва регистрация на устройство.

Ето съответния код на Sencha Controller:

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, тъй като вече имаме бекенд и смятаме, че би било по-разумно да използваме център за уведомяване на Service Bus от облачната услуга, използвайки Azure SDK. Така че наистина използвам Ext.Azure само за нормализиране на регистрацията на устройството.

Като се има предвид, че вече имам бекенд на облачна услуга, имам ли нужда от мобилни услуги на Azure? Единствената причина, за която се сещам да се нуждая от това, е ако регистрацията на устройството за WP8 става през мобилна услуга.

Много съм объркан от цялото това нещо. В push конфигурацията за моето приложение Sencha има „име на канала“, нямам представа откъде да го взема? Но хей, предполагам, че ако не е наред, пак би трябвало да мога да направя повикване за регистрация на устройството.

Така че ще съм много благодарен за всякакви съвети за това как най-добре да настроите насочени известия за приложение Sencha в WP8, Android и iPhone, където има съществуваща облачна услуга.

Благодаря за вашата помощ


person krisdyson    schedule 25.01.2014    source източник
comment
Изглежда, че има грешка в документацията на Sencha / Microsoft, те казаха да инсталирате Cordova / PhoneGap PushPlugin от github (github .com/phonegap-build/PushPlugin), но това няма жизненоважен WP8 модул (cordovalib\commands\PushPlugin.cs). В действителност трябва да инсталирате клон (github.com/darkphantum/PushPlugin), който има този файл .   -  person krisdyson    schedule 26.01.2014


Отговори (1)


@Boomerangertanger е прав, като посочва, че имате нужда от този конкретен клон, за да могат разширенията на Azure да работят на WP8. Ще се опитам да отбележа това в нашето ръководство в следващото издание.

Очевидно PGB няма да обедини това разклонение, докато PGB официално не поддържа WP8... което е понастоящем само в бета поддръжка.

person arthurakay    schedule 27.01.2014
comment
Инсталирах този клон, обаче, когато извикам pushNotification.register() или го направя чрез Ext.Azure, пак нищо не се случва. Командата PushPlugin никога не се задейства. Получавам грешка в изходния прозорец, казваща Error::Plugin not allowed in config.xml: PushPlugin - person krisdyson; 27.01.2014
comment
Вече прегледах документацията много пъти и изобщо не мога да накарам насочените известия да работят. Наистина смятам, че документите са погрешни и ограничени по обхват. - person krisdyson; 27.01.2014
comment
Просто потърсете в Google това съобщение за грешка, може да е проблем с конфигурацията на вашата настройка на Cordova/PhoneGap. Каква версия на Cordova/PG използвате? - person arthurakay; 27.01.2014
comment
Вярвам, че README (вижте стъпка 4) за PushPlugin е грешен за Cordova ›3.0.. . трябва да използвате функцията във вашия config.xml сега. - person arthurakay; 27.01.2014
comment
Добре, страхотно, това го направи. Благодаря за вашата помощ. - person krisdyson; 28.01.2014