Sviluppare una live app: notifiche, live tile, lock screen

283 views

Published on

Una caratteristica di Microsoft Windows Phone che la rende unica rispetto alle altre piattaforma è il supporto alle Live Tile, che consentono di mostrare informazioni all'utente direttamente nella home screen, senza costringerlo ad aprire l'applicazione. In Windows Phone 8 questa potenzialità è stata portata ai massimi livelli, grazie al supporto a nuovi formati e template di Live Tile e alla possibilità di interagire con la lock screen. Nel corso del webinar impareremo come sfruttare queste funzionalità grazie alle notifiche. / A unique feature of Microsoft Windows Phone is support for Live Tiles, which can be used to display information from an application on the home screen without forcing users to open the app. Windows Phone 8 enhancements support new formats and Tile templates and include the ability to interact with the lock screen. In this webinar, you’ll learn how to leverage these features through the Windows Phone notifications capability.

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
283
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Insieme di funzionalità per poterinteragire con l’utente anche quando non è dentro la vostra applicazioneContent over chrome – il contenuto viene primaDa visibilità alla vostra applicazione
  • - Windows phoneè semplice ,veloce,personale – tutto quello che mi interessa è a colpo d’occhio - Il vostro telefono– sviluppate per Windows Phone – sfruttate le funzionalità che lo fanno unico
  • La porta secondaria è application list, pushnotificationCi sono più porte – tile secondariePensare come sfruttare al massimo lo spazio che l’utente ha scelto di dare alla vostra applicazione sulla videata di start
  • Flip – giraIconic – rispetta I pricipi di design di windows phone Cycle – fino a 9 immagini
  • Bisogna scegliere il template per la tile principalePer letile secondarie possiamo scegliere il template quando vengono create
  • Flip davanti dientroLa piccola non fa flipTile secondarie devon avere indirizzo Uri UnivocoTemplate più usatoPotete creare le immagini in modo dinamico per dare più informazioni all’utenteSe non ha contenuto back non giraBack informazioni secondarie non importante all’utente perché potrebbe non aspettare che l’icona fa il Flip
  • Importante: Semplice, veloce, essenzialeTemplatebilanciato: rispetta windows design language
  • Media perde
  • Telefono è Iconic
  • Più decorativaLentaOk per foto o anche app news
  • Comodità – non bisogna implementare la parte di pushnotification ne di backgroundagentNon viene disabilità dall’utente
  • ImportanteImportante il designL’app che fornisce il background dovrebbe aggregare informazioni – tipo Bing images + tempo + borsaNotizie??
  • Se si lascia il nome non bisogna dichiararla nel file di manifest
  • Perché usare le notifiche push:-communicazioneinizata dal server-gira in background anche se l’utente disabilita il background agent-risparmio batteria-non in poolingNotifica toast quasi inutile senza Notification centerNotifica Tile non viene MAI mandata alla applicazione
  • Push Notification Data FlowThe diagram illustrates how Push works:Your client application running on the phone requests a push notification URI from the Push Notifications client service. The Push client service then negotiates with the Microsoft Push Notification Service (MPNS) and returns a notification URI to your client application Your client application can then send the URI to your cloud service. You must implement a web method on your service to allow client applications to register with your service, and you will have to implement some kind of list of registrations.When your web service has information to send to your client application, it uses the URI in sending a push notification to the Microsoft Push Notification Service.MPNS in turn routes the push notification to the application running on a Windows Phone device. Depending on the format of the push notification and the payload attached to it, the information is delivered as raw data to the application, the application's Tile is visually updated, or a toast notification is displayed. The Microsoft Push Notification Service sends a response code to your web service after a push notification is sent indicating that the notification has been received and will be delivered to the device at the next possible opportunity. However, the Microsoft Push Notification Service does not provide an end-to-end confirmation that your push notification was delivered from your web service to the device.
  • Where <batching interval> is 3 – Immediate delivery, 13 – delivered within 450 seconds, 23 – delivered within 900 seconds
  • Notice that Solo Flip e Iconic possono essere aggiornate con immagini da remoto (internet)Dimensione massima 80kb e tempo di download < 30 secondiyou can clear any property on the tile by specifying the Action="Clear“ attribute.
  • Solo ms-appx:/// URI) or an image in the local folder, using an ms-appdata:///local/shared/shellcontent URI).
  • Solo un agent per applicazionePuò essere sia PeriodicTask che ResourceIntensiveTaskDipende da cosa sta eseguendo il telefono ad un certo momentoRinnovate spessoL’utente può disabilitare l’agentNon implementare funzionalità criticaViene sospeso dopo 2 settimana se l’utente non lanciava l’applicazioneEccezioni:ShellTile.Update da PeriodicTask e ci sono tile sulla Start ScreenApplicazione selezionata per Lockscreen: count o detailedBackground image se chiama SetImageUri
  • Erano 5 per Windowsphone 7.1Trasferimenti non vengono rimossi automaticamente bisogna chiamare Remo(BacjgroundTransferRequest)Numero massimo di trasferimenti concorrenziali 2Dimensione massima coda= 500 per dispositivoNumero massimo HTTP Headers per richiesta 15Dimensione massima headers HTTP 16KB ogni richiesta
  • Sviluppare una live app: notifiche, live tile, lock screen

    1. 1. NOKIA WEBINAR SVILUPPARE UNA LIVE APP NOTIFICHE, LIVE TILE, LOCK SCREEN Dan Ardelean Nokia Developer Champion dan@xpresscode.eu Twitter: @danardelean
    2. 2. LIVE APPS 1. FONDAMENTALE per le applicazioni Windows Phone 2. Differenzia nettamente Windows Phone dagli altri smartphone 3. Dei metodi per far tornare l’utente ad usare la vostra applicazione © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    3. 3. LIVE APPS © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    4. 4. AGENDA Live Tile Lock screen Notifiche Background agents
    5. 5. LIVE TILES • La «porta» principale per accedere alla vostra applicazione • Uno spazio dove fornire il massimo delle informazioni utili all’utente • NON è solo un collegamento alla vostra applicazione • Accesso veloce alle funzionalità più usate © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    6. 6. TILE TEMPLATES AND TILE SIZES Flip Iconic Cycle 6
    7. 7. IMPOSTAZIONI TILE PRINCIPALE Doppio-click su WMAppManifest.xml © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    8. 8. DIMENSIONI IMMAGINI Dimensione Tile Template Flip e Cycle Template Iconic Small 159 x 159 pixels 159 x 159 pixels 110 x 110 pixels Medium 336 x 336 pixels 336 x 336 pixels 202 x 202 pixels Wide 691 x 336 pixels 691 x 336 pixels N/A © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    9. 9. FLIP © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    10. 10. ICONIC © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    11. 11. CYCLE © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    12. 12. PIÙ IMPORTANTE DELLA DEMO DESIGN & FUNZIONALITÀ © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    13. 13. ME TILE - FLIP ? OK • • • Non mi da informazioni essenziali sulla parte frontale Devo aspettare che si gira = LENTA Non ho più informazioni della versione piccola © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. X • • INUTILE Versione IL NARCISISTA 11/12/2013
    14. 14. EMAIL - ICONIC OK ? © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. OK 11/12/2013
    15. 15. CYCLE - FOTO © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    16. 16. BISOGNA ESSERE CREATIVI X Bing Finance © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. My Stocks Portfolio+ 11/12/2013
    17. 17. DEMO TILE © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    18. 18. SHELLTILESCHEDULE • Aggiornamento immagine di background delle tile usando la proprietà RemoteImageUri • L’immagine deve essere più piccola di 150KB Tempo di download < 45 sec. • Risoluzione minima 1 ora • Rimossa dopo 3 tentativi consecutivi falliti • Ricorrenza Onetime, EveryHour, EveryDay, EveryWeek or EveryMonth © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    19. 19. DEMO SHELL TILE SCHEDULE © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    20. 20. LOCKSCREEN • La prima cosa che l’utente vede quando accende il telefono • Le applicazioni possono fornire il background della lockscreen, stato dettagliato o quick status • WMAppManifest.xml <Extensions> <Extension ExtensionName="LockScreen_Notification_IconCount" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" /> <Extension ExtensionName="LockScreen_Notification_TextField" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" /> <Extension ExtensionName="LockScreen_Background" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" /> </Extensions> © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    21. 21. LOCKSCREEN ICONA: 30 x 30 pixel PNG – bianca e sfondo trasparente Nome default - LockIcon.png <DeviceLockImageURI IsRelative="true" IsResource="false">AssetsLockLockIcon.png</DeviceLockImageURI> Prende le informazioni della tile principale Non è necessario che la tile principale si trovi nella videata Start BACKGROUND: Dalle risorse della app ms-appx:/// Uri imageUri = new Uri("ms-appx:///background1.png", UriKind.RelativeOrAbsolute); LockScreen.SetImageUri(imageUri); Da IsolatedStorage, ms-appdata:///local/ Uri imageUri = new Uri("ms-appdata:///local/background2.png",UriKind.RelativeOrAbsolute); LockScreen.SetImageUri(imageUri); © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    22. 22. DEMO LOCKSCREEN © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    23. 23. NOTIFICHE PUSH • • • Raw • Protocollo custom • Inviato solo se l’applicazione è in esecuzione Toast • Protocollo XML • Se l’applicazione non è in esecuzione notifica Toast Tile • Protocollo XML • Se la Tile è pinned viene aggiornata © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    24. 24. PUSH NOTIFICATION DATA FLOW 2 URI to the service: Push enabled applications Third-party service "http://notify.live.com/throttledthirdparty/01.00/AAFRQHgiiMWNTYrRDX AHQtz-AgrNpzcDAwAAAAQOMDAwMDAwMDAwMDAwMDA" Notifications service 3 4 Send PN Message HTTP POST the message 1 Push endpoint is established. URI is created for the endpoint. MPNS: Microsoft hosted server
    25. 25. NOTIFICHE HTTP HEADERS • TOAST sendNotificationRequest.ContentType = "text/xml"; sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "toast"); sendNotificationRequest.Headers.Add("X-NotificationClass", "<batching interval>"); • TILE sendNotificationRequest.ContentType = "text/xml"; sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", “token"); sendNotificationRequest.Headers.Add("X-NotificationClass", "<batching interval>"); • RAW sendNotificationRequest.ContentType = "text/xml"; sendNotificationRequest.Headers.Add("X-NotificationClass", "<batching interval>"); © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    26. 26. TOAST SCHEMA string toastMessage = "<?xml version="1.0" encoding="utf-8"?>" + "<wp:Notification xmlns:wp="WPNotification">" + "<wp:Toast>" + "<wp:Text1>WEATHER ALERT</wp:Text1>" + "<wp:Text2>Stormy</wp:Text2>" + "<wp:Param>/page1.xaml?value1=1234<wp:Param>" + "</wp:Toast>" + "</wp:Notification>"; © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    27. 27. FLIP TEMPLATE SCHEMA <?xml version="1.0"?> <wp:Notification xmlns:wp="WPNotification" Version="2.0"> <wp:Tile Id="[TileId]" Template="FlipTile"> <wp:SmallBackgroundImage Action="Clear">[sm tile img URI]</wp:SmallBackgroundImage> <wp:WideBackgroundImage Action="Clear">[front of wd tile img URI]</wp:WideBackgroundImage> <wp:WideBackBackgroundImage Action="Clear">[back of wd tile img URI]</wp:WideBackBackgroundImage> <wp:WideBackContent Action="Clear">[back of wd tile content text]</wp:WideBackContent> <wp:BackgroundImage Action="Clear">[front of med tile img URI]</wp:BackgroundImage> <wp:Count Action="Clear">[count]</wp:Count> <wp:Title Action="Clear">[title text]</wp:Title> <wp:BackBackgroundImage Action="Clear">[back of med tile img URI]</wp:BackBackgroundImage> <wp:BackTitle Action="Clear">[back of tile title text]</wp:BackTitle> <wp:BackContent Action="Clear">[back of med tile content text]</wp:BackContent> </wp:Tile> </wp:Notification> © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    28. 28. CYCLE TEMPLATE SCHEMA <?xml version="1.0"?> <wp:Notification xmlns:wp="WPNotification" Version="2.0"> <wp:Tile Id="[TileId]" Template="CycleTile"> <wp:SmallBackgroundImage Action="Clear">[sm tile img URI]</wp:SmallBackgroundImage> <wp:CycleImage1 Action="Clear">[photo 1 img URI]</wp:CycleImage1> <wp:CycleImage2 Action="Clear">[photo 2 img URI]</wp:CycleImage2> <wp:CycleImage3 Action="Clear">[photo 3 img URI]</wp:CycleImage3> <wp:CycleImage4 Action="Clear">[photo 4 img URI]</wp:CycleImage4> <wp:CycleImage5 Action="Clear">[photo 5 img URI]</wp:CycleImage5> <wp:CycleImage6 Action="Clear">[photo 6 img URI]</wp:CycleImage6> <wp:CycleImage7 Action="Clear">[photo 7 img URI]</wp:CycleImage7> <wp:CycleImage8 Action="Clear">[photo 8 img URI]</wp:CycleImage8> <wp:CycleImage9 Action="Clear">[photo 9 img URI]</wp:CycleImage9> <wp:Count Action="Clear">[count]</wp:Count> <wp:Title Action="Clear">[title text]</wp:Title> </wp:Tile> </wp:Notification> © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    29. 29. ICONIC TEMPLATE SCHEMA <?xml version="1.0"?> <wp:Notification xmlns:wp="WPNotification" Version="2.0"> <wp:Tile Id="[TileId]" Template="IconicTile"> <wp:SmallIconImage Action="Clear">[sm icon img URI]</wp:SmallIconImage> <wp:IconImage Action="Clear">[med/wd icon img URI]</wp:IconImage> <wp:WideContent1 Action="Clear">[wd tile content line 1]</wp:WideContent1> <wp:WideContent2 Action="Clear">[wd tile content line 2]</wp:WideContent2> <wp:WideContent3 Action="Clear">[wd tile content line 3]</wp:WideContent3> <wp:Count Action="Clear">[count]</wp:Count> <wp:Title Action="Clear">[title text]</wp:Title> <wp:BackgroundColor Action="Clear">[hex ARGB background color of tile]</wp:BackgroundColor> </wp:Tile> </wp:Notification> © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    30. 30. SAMPLE E APPROFONDIMENTI Windows Phone 8 JumpStart Module 08: Push Notifications http://channel9.msdn.com/Series/MVA-Jump-Start/Building-Apps-for-Windows-Phone-8-Jump-Start08-Push-Notifications http://code.msdn.microsoft.com/Windows-Phone-8-JumpStart-ab6c839a © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    31. 31. DEMO NOTIFICHE PUSH © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    32. 32. BACKGROUND TASKS PeriodicTask • • Eseguito ogni 30 minuti Massimo 25 secondi ResourceIntensiveTask • • • • • Il telefono è in carica collegato via WiFi e carica batteria >90% Il telefono non viene usato Tempo massimo di esecuzione 10 minuti Utilizzo memoria <= 6 MB Cancellato dopo 2 crash consecutivi © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    33. 33. ACCESSO CONCORRENZIALE public bool LoadLogFromIsolatedStorageFile() { mut.WaitOne(); // Wait until it is safe to enter try { // read the file here return true; } catch { LogText = ""; return false; } finally { mut.ReleaseMutex(); // Release the Mutex. } } © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    34. 34. BACKGROUND TRANSFERS Trasferimento da/verso IsolatedStorage Funzionano quando l’applicazione non è in primo piano Collegamenti HTTP e HTTPS Possibilità di monitorare lo stato Impostare le condizioni usando TransferPreferences Dimensioni file: • • • Upload : 5Mb Download usando dati cellulare: 20Mb Download usando WiFi: 100Mb Dimensione massima coda trasferimenti 25 © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013
    35. 35. Grazie! Blog: sviluppomobile.blogspot.com Email: dan@xpresscode.eu Twitter: @danardelean © 2013 Nokia. All rights reserved. © 2013 Microsoft. All rights reserved. 11/12/2013

    ×