Push Notifications (WP7): Unterschied zwischen den Versionen
(→Schwächen/TODO) |
|||
Zeile 50: | Zeile 50: | ||
==Schwächen/TODO== | ==Schwächen/TODO== | ||
Aktuell sind keine Broadcast Nachrichten möglich, daher muss jeder Client einzeln angeschrieben werden. Außerdem garantiert Microsoft keine Übermittlung der Nachrichten. | Aktuell sind keine Broadcast Nachrichten möglich, daher muss jeder Client einzeln angeschrieben werden. Außerdem garantiert Microsoft keine Übermittlung der Nachrichten. | ||
− | Unklar ist auch noch | + | Unklar ist auch noch wie hoch das Limit der PNs ist, auf einigen Seiten wird von 15 pro Gerät pro Tag geschrieben, andere sagen jedoch 500 Nachrichten pro Tag. |
+ | |||
+ | |||
+ | ==Weblinks== | ||
+ | *[http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/05/03/understanding-microsoft-push-notifications-for-windows-phones.aspx ] | ||
+ | *[http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/05/04/understanding-how-microsoft-push-notification-works-part-2.aspx ] | ||
+ | *[http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/05/06/using-push-notification-from-your-windows-phone-application.aspx ] | ||
+ | *[http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/02/17/push-notification-status.aspx ] | ||
+ | *[http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/01/14/windows-push-notification-server-side-helper-library.aspx ] | ||
[[Kategorie:Windows Phone 7]] | [[Kategorie:Windows Phone 7]] |
Version vom 3. März 2011, 12:02 Uhr
Microsoft bietet für Windows Phone 7 an über einen eigenen Dienst Push Notifiactions (PN) zu verschicken, dabei gibt 3 verschiedene Arten von Notifications.
- Toast - Meldung oben auf dem Display
- Tile - Kachel auf dem Startscreen
- Raw - Raw Daten für die Anwendung
Inhaltsverzeichnis
Raw
Raw Daten werden zum Client übertragen und wenn die Anwendung nicht aktiv ist werden sie verworfen. Raw Daten unterliegen einem Größen-Limit von 1kb
Ablauf
In der Kommunikation für die PNs existieren 3 Parteien das WP7 Gerät, der Microsoft Push Notification Service (MPNS) und der eigene Server für die PNs.
1
Im 1. Schritt öffnet der Client einen neuen Channel zum MPNS oder erzeugt einen neuen, der verwendete Name dient nur des Wiederfindens des Channels auf dem Gerät: <code=csharp>
httpChannel = HttpNotificationChannel.Find(channelName);
if ( httpChannel!=null) { // registrieren der Events // registrieren am eigenen Server // weitere Config wie für Toast Meldungen } else { httpChannel = new HttpNotificationChannel(channelName, serviceName); // registrieren der Events httpChannel.Open(); }
</code=csharp>
2
Wurde der Channel eingerichtet kann erhält man die URI vom Channel und kann diese an den eigenen Server übermitteln.
3
Hat sich der Client beim Server mit der URI registriert, kann dieser über diese Adresse Notifications an den Client schicken. Alle Daten die der Server zum MPNS schicken will müssen per POST gesendet werden und verschiedene HTTP-Header-Felder beeinhalten.
- ContentType - text/xml; charset=utf-8
- Content-Length - Länge der kompletten Daten
- X-MessageID - ID für die Nachricht
- X-NotificationClass - Art der Nachricht
- Token = 1
- Toast = 2
- Raw = 3
- X-WindowsPhone-Target - toast oder token (optional)
Schwächen/TODO
Aktuell sind keine Broadcast Nachrichten möglich, daher muss jeder Client einzeln angeschrieben werden. Außerdem garantiert Microsoft keine Übermittlung der Nachrichten. Unklar ist auch noch wie hoch das Limit der PNs ist, auf einigen Seiten wird von 15 pro Gerät pro Tag geschrieben, andere sagen jedoch 500 Nachrichten pro Tag.