1 / 31

Notyfikacje PUSH

Notyfikacje PUSH. Maciej Grabek. http://maciejgrabek.com. Bio. Praca: Allegro Group Sp. z o. o. Po godzinach: Toruńska Grupa Deweloperów .NET http://maciejgrabek.com CodeGuru.pl i Channel 9 Windows Phone 7, Windows Communication Foundation. Agenda. Nowa platforma mobilna Narzędzia

mliss
Download Presentation

Notyfikacje PUSH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Notyfikacje PUSH • Maciej Grabek • http://maciejgrabek.com

  2. Bio • Praca: • Allegro Group Sp. z o. o. • Po godzinach: • Toruńska Grupa Deweloperów .NET • http://maciejgrabek.com • CodeGuru.pl i Channel 9 • Windows Phone 7, Windows CommunicationFoundation

  3. Agenda • Nowa platforma mobilna • Narzędzia • Możliwości • Mechanizm notyfikacji • Architektura • Rodzaje notyfikacji • Raw • Toast • Tile

  4. Nowa platforma mobilna

  5. Unifikacja sprzętu Multimedia Dokładna specyfikacja Akceleracja kodeków Rozdzielczość 480x800 QVGA 320x480 HVGA 800 lub 480 Ekr. pojemnościowy 4 lub więcej punktów Pamięć 256MB RAM lub więcej 8GB flash lub więcej Sensory A-GPS, Akcelerometr, Kompas, Światło, Czujnik zbliżeniowy GPU Akceleracja DirectX 9 Aparat 5 mega pixeli lub więcej 480 lub 320 Radio FM Przyciski Start, Szukaj, Wstecz

  6. Metro w Windows Phone 7

  7. Interfejs telefonu • Analogiczny do przeglądarki internetowej • 3 przyciski • Wstecz • Start • Wyszukiwanie

  8. Narzędzia

  9. Jak zacząć? • Windows Phone 7 Developer Tools • Visual Studio 2010 Express For Windows Phone • Microsoft Expression Blend 4 For Windows Phone • Windows Phone 7 Emulator • XNA Game Studio 4.0 • Silverlight For Windows Phone • https://www.microsoft.com/express/Phone • SilverlightToolkit • http://silverlight.codeplex.com/

  10. Emulator

  11. Nowe API

  12. demo

  13. Mechanizm notyfikacji

  14. Mechanizm notyfikacji • Wysyłanie powiadomień do telefonu • Zmniejszenie zużycia baterii • Sposób na „operacje w tle” • Wykorzystanie Microsoft PushNotification Services • Microsoft.Phone.Notification • HttpNotificationChannel • HttpNotificationReceived • ShellToastNotificationReceived

  15. Architektura Microsoft PushNotification Services otwórz kanał pobierz URL przekaż swój URL Aplikacja zewnętrzna / serwis

  16. Architektura Microsoft PushNotification Services RAW TOAST TILE status wiadomość Aplikacja zewnętrzna / serwis

  17. Rodzaje notyfikacji Tile Toast RAW

  18. Przygotowanie wiadomości • Wiadomość w postaci byte[] • byte[] payload = Encoding.UTF8.GetBytes(dataStr); • Request HttpWebRequestrequest = (HttpWebRequest)WebRequest.Create(channelUri); request.Method = WebRequestMethods.Http.Post; request.ContentType = "text/xml; charset=utf-8"; request.ContentLength = payload.Length; request.Headers.Add("X-MessageID", Guid.NewGuid().ToString()); request.Headers["X-NotificationClass"] = ((int)notificationType).ToString(); using (StreamrequestStream = request.GetRequestStream()) { requestStream.Write(payload, 0, payload.Length); requestStream.Close(); }

  19. Wysyłka wiadomości • Request do Microsoft PushNotification Service • Informacje zwrotne HttpWebResponseresponse = (HttpWebResponse)request.GetResponse(); stringnotificationStatus = response.Headers["X-NotificationStatus"]; stringnotificationChannelStatus = response.Headers["X-SubscriptionStatus"]; stringdeviceConnectionStatus = response.Headers["X-DeviceConnectionStatus"];

  20. Klient • HttpNotificationChannel • HttpNotificationChannel.Find(channelName); • newHttpNotificationChannel(channelName); • httpChannel.Open(); • HttpNotificationReceived • BindToShellToast(); • BindToShellTile([uris]);

  21. RAW • Wiadomość o dowolnym formacie • Przykład <?xml version="1.0" encoding="utf-8"?> <MyRawMessage> <Content>{0}</Content> </MyRawMessage>

  22. demo

  23. Toast • Określony format wiadomości • Text1 – rodzaj tytułu • Text2 – mini wiadomość • Dodatkowy nagłówek <?xml version="1.0" encoding="utf-8"?> <wp:Notificationxmlns:wp="WPNotification"> <wp:Toast> <wp:Text1>{0}</wp:Text1> <wp:Text2>{1}</wp:Text2> </wp:Toast> </wp:Notification> request.Headers["X-WindowsPhone-Target"] = "toast";

  24. demo

  25. Tile • Określony format wiadomości • BackgroundImage - tło • Count – znaczek ilości • Title – tytuł • Dodatkowy nagłówek <?xml version="1.0" encoding="utf-8"?> <wp:Notificationxmlns:wp="WPNotification"> <wp:Tile> <wp:BackgroundImage>{0}</wp:BackgroundImage> <wp:Count>{1}</wp:Count> <wp:Title>{2}</wp:Title> </wp:Tile> </wp:Notification> request.Headers["X-WindowsPhone-Target"] = "token";

  26. demo

  27. Zasięg 30 rynków

  28. Marketplace - warunki • Rejestracja - 100 USD za rok • Studenci • 100 aplikacji bezpłatnych, kolejne 19,99 USD • Model reklamowy • Dowolna liczba aplikacji płatnych • http://create.msdn.com • Rejestracja i weryfikacja konta • Możliwość przetestowania w biurze Microsoft lub na ITAD

  29. Polecam • Kurs Windows Phone 7 na Channel9 • Cykl artykułów na Codeguru.pl • WP7 dla programistów • http://maciejgrabek.com – mój blog

  30. Maciej Grabek • http://maciejgrabek.com • kontakt@maciejgrabek.com

More Related