Your SlideShare is downloading. ×
Push Notification: come rendere vive le app su Windows Phone
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Push Notification: come rendere vive le app su Windows Phone

1,040
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,040
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Inserite l’eventuale vostro logo in basso a destra
  • Slide da mostrare prima di iniziare la sessione – non rimuovere!
  • Ultima slide, obbligatoria
  • Ultima slide, obbligatoria
  • Transcript

    • 1. Grazie a
    • 2. Agenda• Introduzione• Tipi di Push Notification• Comunicazioni e Limitazioni• Ricevere ed Inviare Push Notification• Demo• Q&A
    • 3. Introduzione• Cosa sono le Push Notification? – Un modo per inviare periodicamente informazioni alle vostre applicazioni anche quando non sono attive
    • 4. Introduzione• Perché le Push Notification?Per evitare la Per preservare Per migliorare pratica del l’autonomia dei l’esperienza polling dispositivi d’uso delle app
    • 5. Architettura Custom Server MPNS
    • 6. Tipi di Push Notification• Toast Notification• Tile Notification• Raw Notification
    • 7. Toast Notification• Composte da – Title – Content – Parameter
    • 8. Toast Notification• Funzionalità – Possono essere inviate immediatamente o con un ritardo di 450 o 900 secondi – Possono essere gestite anche se l’app è attiva
    • 9. Toast Notification• Limiti – L’icona non è modificabile – La quantità di testo tra titolo e contenuto visualizzabile è pari a circa 40 caratteri
    • 10. Toast Notification• Messaggio XML<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"> <wp:Toast> <wp:Text1>Title</wp:Text1> <wp:Text2>Content</wp:Text2> <wp:Param>Param</wp:Param> </wp:Toast></wp:Notification>
    • 11. Tile Notification• Composta da – Title – Count (badge) – Backgr. Image – Back Title – Back Content – Back Backgr. Image
    • 12. Tile Notification• Funzionalità – Possono essere inviate immediatamente o con un ritardo di 450 o 900 secondi – Possono aggiornare sia la tile principale dell’app, sia le tile secondarie
    • 13. Tile Notification• Limiti – Le immagini devono essere: • risoluzione 173x173 • formato JPG o PNG – Le immagini possono essere locali (nello XAP) o remote – Le immagini caricate da remoto devono essere: • Massimo 80 KB • Disponibili entro 30 secondi • Su protocollo http e non https
    • 14. Tile Notification• Messaggio XML<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"> <wp:Tile> <wp:BackgroundImage>image1.jpg</wp:BackgroundImage> <wp:Count>1</wp:Count> <wp:Title>Title1</wp:Title> <wp:BackBackgroundImage>image2.jpg</wp:BackBackgroundImage> <wp:BackTitle>BackTitle1</wp:BackTitle> <wp:BackContent>Content1</wp:BackContent> </wp:Tile></wp:Notification>
    • 15. Raw Notification• Non hanno una struttura definita• Consentono di inviare all’app informazioni in formato XML• Sono ricevute dall’app solo se è in esecuzione
    • 16. Raw Notification• Messaggio XML<?xml version="1.0" encoding="utf-8"?><root> <Value1>v1</Value1> <Value2>v2</Value2></root>
    • 17. Comunicazioni• E’ possibile inviare notifiche da un proprio web service sia in forma autenticata, che non autenticata• Se il web service è anonimo non sarà possibile generare più di 500 notifiche al giorno per sottoscrizione• Un web service autenticato può anche registrarsi al servizio di callback Microsoft che notifica il cambio di stato di un device
    • 18. Limitazioni• Tecniche – Massimo un canale di comunicazione per applicazione – Massimo 30 canali di comunicazione per device – Massimo 1 KB per l’header e 3 KB per il body• Certificazione dell’app – L’app deve sempre comunicare all’utente che si sta registrando al servizio di Push Notification – L’app deve sempre fornire all’utente la possibilità di cancellare la registrazione dal servizio
    • 19. Ricevere Push Notification• Cosa è necessario fare? – Registrare l’app alla ricezione di una Push Notification – Inviare il Channel Uri ad un vostro servervar pushChannel = HttpNotificationChannel.Find(channelName);pushChannel = pushChannel ?? new HttpNotificationChannel(channelName);pushChannel.ChannelUriUpdated += (s,e) => { SendToServer(e.ChannelUri); };pushChannel.Open();pushChannel.BindToShellTile(); //Register to receive tile notificationpushChannel.BindToShellToast(); //Register to receive toast notification
    • 20. Inviare Push Notification• Cosa è necessario fare? – Creare ed eseguire una chiamata HTTP di tipo POST verso il channel uri//Create RequestHttpWebRequest request = (HttpWebRequest)WebRequest.Create(device.UrlNotification);request.Method = "POST";//Create Message (depends on notification type)string message = "<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"> ….//Define request bodyAddBodyToRequest(request, message);//Send request and get responseHttpWebResponse response = (HttpWebResponse)request.GetResponse();
    • 21. Inviare Push Notification• Push Notification Server Side Helper – Libreria opensource che semplifica l’invio dei messaggi lato server – Incapsula la generazione dei messaggi XML in classi• Disponibile su http://bit.ly/wp7pushlib
    • 22. Demovar demo = new PushNotificationDemo(){ OnError = ()=> { Says(‘It’s a Windows Error ’); }, OnSuccess = ()=> { BackToSlides(); }}demo.Show(); 
    • 23. Q&A• Materiale su http://www.communitydays.it/
    • 24. Riferimenti• Il mio blog http://www.vifani.com• DotNetSide http://dotnetside.org• MSDN http://msdn.microsoft.com
    • 25. Grazie per l’attenzione 

    ×