Добрый день возможно кто нить сталкивался с задачей создания пуш нотификации для разных клиентов. Какие могут быть проблемы? Для ios (apns) нет ограничений по количеству рассылки. Буду рад любому опыту. Заранее спасибо
А какие тут могут быть проблемы? Все разжевано в мануалах PushSharp (для небольших проектов) и Azure Notifications Hubs (для массовых рассылок).
Для ознакомления можно глянуть видео https://www.techdays.ru/videos/7661.html , но лучше почитать статьи того же автора.
andy301086: из коробки нет, придется допиливать и очень серьезно. У меня сейчас 2500 пользователей и уже есть проблемы с производительностью, так как часто бывают массовые рассылки. Лучше сразу смотреть в сторону Azure, тем более что по BizSpark можно на 3 года бесплатно получить ее. Если без BizSpark - 700 рублей за 0.5 млн уведомлений.
Подскажите про Azure (возможно есть опыт). Можно ли настраивать azure для кастомных нотификаций? Т.е. чтобы можно было добавлять и удалять динамически нотификации их расписание?
Возможно сталкивались при работе с PushSharp с такой ошибкой?
at PushSharp.Core.PushServiceBase+ChannelWorker..ctor(PushSharp.Core.IPushChannel, System.Action`2)
at PushSharp.Core.PushServiceBase.ScaleChannels(PushSharp.Core.ChannelScaleAction, Int32)
at PushSharp.Core.PushServiceBase.CheckScale(System.Object)
Артем Воронов: странно, в оф доках про это ограничение ничего не видел))))) а можно как то обойти это? создать брокер например еще один? Может есть пример как используете pushSharp. Спасибо за ответы
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.Tasks.TaskSchedulerException
Stack:
at System.Threading.Tasks.Task.ScheduleAndStart(Boolean)
at System.Threading.Tasks.Task.InternalStartNew(System.Threading.Tasks.Task, System.Delegate, System.Object, System.Threading.CancellationToken, System.Threading.Tasks.TaskScheduler, System.Threading.Tasks.TaskCreationOptions, System.Threading.Tasks.InternalTaskOptions, System.Threading.StackCrawlMark ByRef)
at System.Threading.Tasks.TaskFactory.StartNew(System.Action, System.Threading.Tasks.TaskCreationOptions)
at PushSharp.Core.PushServiceBase+ChannelWorker..ctor(PushSharp.Core.IPushChannel, System.Action`2)
at PushSharp.Core.PushServiceBase.ScaleChannels(PushSharp.Core.ChannelScaleAction, Int32)
at PushSharp.Core.PushServiceBase.CheckScale(System.Object)
at System.Threading.TimerQueueTimer.CallCallbackInContext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireQueuedTimerCompletion(System.Object)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
var androidRegistrations = registrations.Where(r => r.PlatformId == androidId).ToList();
var json = new NotificationWrapper
{
message = message,
title = title,
type = type.ToString(CultureInfo.InvariantCulture),
Id = id
}.ToJson();
foreach (var registration in androidRegistrations)
{
_pushBroker.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registration.Id).WithJson(json));
}
https://parse.com/ - сейчас пробуем параллельно с Azure Mobile Services. В парс очень удобный веб-интефейс отправки тестовых пушей для отладки + встраивается в приложение в два счета.
Подскажите про Azure. Можно ли настраивать azure для кастомных нотификаций? Т.е. чтобы можно было добавлять и удалять динамически нотификации и их расписание с какого нибудь сайта?