Push-Benachrichtigungen mit PushSharp - die Grundlagen

Brauche ich, um push-Benachrichtigungen, um Zehntausende von iOS-Geräten die app installiert. Ich bin versucht, es zu tun mit PushSharp, aber mir fehlen einige grundlegende Konzepte von hier. Zuerst habe ich versucht, tatsächlich führen diese in einem Windows-Dienst, konnte aber nicht arbeiten - erste null-Referenz-Fehler aus _push.QueueNotification () - Aufruf. Dann habe ich genau das Tat, was die dokumentierten Beispielcode hast, und es funktionierte:

    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);

Ausgabe #1:
Das funktioniert perfekt und ich sehe die Benachrichtigung pop-up auf dem iPhone. Da es allerdings eine sogenannte Push-Dienst, bin ich davon ausgegangen, es würde sich Verhalten wie ein service - Bedeutung, die ich instanziieren und Aufruf _push.StartApplePushService() innerhalb einer Windows-Dienst vielleicht. Und ich dachte tatsächlich anstehen, meine Benachrichtigungen, die ich tun könnte dieses auf die front-end (admin-app, sagen wir mal):

        PushService push = new PushService();

        AppleNotification notification = NotificationFactory.Apple()
                                                            .ForDeviceToken(deviceToken)
                                                            .WithAlert(message)
                                                            .WithSound("default")
                                                            .WithBadge(badge);
        push.QueueNotification(notification);

Offensichtlich (und wie ich bereits sagte), es hat nicht funktioniert - die Letzte Zeile warfen ein null-Verweis-Ausnahme.

Ich habe Probleme bei der Suche nach einer anderen Art von Dokumentation, die zeigen würde, wie dies im Dienst/client Art und Weise (und nicht einfach anrufen alles auf einmal). Ist es möglich oder bin ich fehlt der Punkt, wie PushSharp sollten genutzt werden?

Ausgabe #2:
Auch ich kann nicht scheinen zu finden ein Weg zum Ziel-viele Geräte-Token auf einmal, ohne die Schleife durch Sie und queuing-up-Benachrichtigungen ein zu einer Zeit. Ist das die einzige Möglichkeit oder bin ich hier etwas fehlt?

Vielen Dank im Voraus.

InformationsquelleAutor der Frage Kon | 2013-01-08

Schreibe einen Kommentar