Signal R срещу Push Notifications за приложения в реално време като Chat

Искам да създам приложение за чат за ios, android и windows телефони, както и че трябва да работи с браузъри в бъдеще. Моето търсене ме доведе до използването на Signal R с Azure Mobile Services (AMS).

Моите въпроси:

1) SignalR използва Websockets под капака. Websocket поддържа ли се в Android, IOS, windows phones и всички мобилни/настолни браузъри??

2) Ако не, как ще се отрази използването на SignalR с AMS?

3) Или трябва просто да използвам Push известия, поддържани в AMS?

4) Всяко примерно приложение/кодов фрагмент, който можете да споделите. Обърнете внимание, че ще използвам Xamarin за разработката на приложението си.

5) Всеки съвет, който можете да дадете за същото.


person Ankur    schedule 02.02.2015    source източник
comment
Връзката по-долу отговаря частично на частта за Websockets и е доста полезна. visualstudiomagazine.com/Articles/2013/11/01/   -  person Ankur    schedule 04.02.2015


Отговори (2)


Мобилните услуги на Azure имат интегриран SignalR, а мобилните услуги на Azure предоставят SDK за клиентски приложения, предполагам, че се предоставя извън кутията

Вижте

В реално време с ASP.NET SignalR и Azure Mobile .NET Backend Овладейте бекенда на управляваните мобилни услуги на Azure – четвърта част

Включени са високостойностни възможности за мобилен бекенд

Ще намерите много възможности, включени в мобилните услуги и лесно достъпни за вашия уеб API. Мобилни насочени известия, известия в реално време със SignalR (автоматично мащабиране), социално удостоверяване за вашите потребителски приложения, офлайн синхронизиране на данни за случайни свързани сценарии, за да назовем само няколко.

Мостри:

Забележка:

  • Мобилната услуга на Azure е базирана на WebAPI!

  • За това, което искате, не трябва да използвате само Push Notification, защото Push Notification в iOS не може да бъде прочетено от приложението, ако потребителят го игнорира, само в android или windows можете да го получите и запазите. Друго нещо, което може да бъде проблем, е фактът, че ако приложението работи, не трябва да показвате насоченото известие и трябва да показвате изскачащ прозорец с известието... и насоченото известие може да има забавяне от услугата за насочено известяване (Apple , GCM, WNS...). Push notification е известие, че нещо се е случило в приложението, когато потребителят не го използва.

Според мен трябва да използвате AMS+SignalR за комуникация в реално време и след това Push Notification за актуализиране на потребителя, след което той не използва приложението.

person saramgsilva    schedule 02.02.2015
comment
comment
Pusher, PubNub или други услуги в реално време могат да се използват вместо SignalR, които имат по-добра поддръжка за подобни на чат приложения, както и SDK за Xamarin. - person Ankur; 19.03.2015

Използването на SignalR е ефикасно, за да се спасите от натискане на ограничение за насочени известия, ако искате да ограничите разходите си. Но ще трябва или да включите/изключите известията в подходящия момент, когато приложението стане активно или неактивно, в противен случай приложението може да работи на заден план и насочените известия няма да бъдат изпратени.

Можете да използвате чисто push подход, при който известията се показват, когато приложението е неактивно/на заден план, а когато приложението е активно, вие просто прихващате известието в приложението, консумирате го и го отменяте, така че да не се показва. Написах публикация в блог за този подход заедно с 3 примера в Github за iOS, Android и Windows Universal на http://www.ageofmobility.com/2014/10/06/azurechatr-building-a-cross-platform-chat-app-for-windows-ios-android/.

person ActiveNick    schedule 10.07.2015