Ho bisogno di inviare notifiche a decine di migliaia di dispositivi iOS installati dalla mia app. Sto cercando di farlo con PushSharp, ma mi mancano alcuni concetti fondamentali qui. All'inizio ho provato a farlo funzionare in un servizio di Windows, ma non riuscivo a farlo funzionare - ottenendo errori di riferimento nulli provenienti dalla chiamata _push.QueueNotification(). Poi ho fatto esattamente ciò che il codice di esempio documentato ha fatto e ha funzionato:Notifiche push con PushSharp - Nozioni di base
PushService _push = new PushService();
_push.Events.OnNotificationSendFailure += new ChannelEvents.NotificationSendFailureDelegate(Events_OnNotificationSendFailure);
_push.Events.OnNotificationSent += new ChannelEvents.NotificationSentDelegate(Events_OnNotificationSent);
var cert = File.ReadAllBytes(HttpContext.Current.Server.MapPath("..pathtokeyfile.p12"));
_push.StartApplePushService(new ApplePushChannelSettings(false, cert, "certpwd"));
AppleNotification notification = NotificationFactory.Apple()
.ForDeviceToken(deviceToken)
.WithAlert(message)
.WithSound("default")
.WithBadge(badge);
_push.QueueNotification(notification);
_push.StopAllServices(true);
Issue # 1: Questo funziona perfettamente e vedo la notifica pop-up su iPhone. Tuttavia, dal momento che si chiama servizio push, ho pensato che si sarebbe comportato come un servizio - cioè, l'ho istanziato e chiamato _push.StartApplePushService() in un servizio di Windows, forse. E ho pensato che in realtà in coda le notifiche, avrei potuto fare questo sul front-end (admin app, diciamo):
PushService push = new PushService();
AppleNotification notification = NotificationFactory.Apple()
.ForDeviceToken(deviceToken)
.WithAlert(message)
.WithSound("default")
.WithBadge(badge);
push.QueueNotification(notification);
Ovviamente (e come ho già detto), non ha funzionato - il l'ultima riga continuava a generare un'eccezione di riferimento nulla.
Non riesco a trovare nessun altro tipo di documentazione che mostri come configurarlo in modo servizio/client (e non solo chiamare tutto in una volta). È possibile o mi manca il punto su come utilizzare PushSharp?
Issue # 2: Inoltre, io non riesco a trovare un modo per indirizzare molti gettoni di dispositivi in una sola volta, senza loop attraverso di loro e fare la fila notifiche uno alla volta. È l'unico modo o mi manca qualcosa anche qui?
Grazie in anticipo.
Continuo a ricevere una riga rossa sotto "NotificationFactory" e "PushService" mi manca qualcosa da includere? –
quale versione di PushSharp stai usando?> – Lakshay