In questo post della serie dedicata all’SDK del Microsoft Band ci occuperemo delle funzioni messe a disposizione dello sviluppatore per l’invio di notifiche al device.
Nell’attuale versione dell’SDK (che ricordiamo essere la 1.3.10219), abbiamo a disposizione le seguenti tipologie di notifiche:
Tutte e funzionalità di notifiche sono esposte dall’interfaccia IBandNotificationManager. Possiamo recuperare un’istanza valida di questa interfaccia dalla proprietà NotificationManager dell’interfaccia IBandClient.
L’interfaccia IBandNotificationManager espone tre metodi (con opportuni overload) per gestire le notifiche.
Nell’esempio precedente App.CurrentBandClient è un’istanza valida di IBandClient e TileFactory.TileId è il Guid della tile a cui inviare la notifica.
Da notare la possibilità di definire anche un DateTimeOffset che apparirà all’utente sul Band e l’enumerazione MessageFlags indicare se deve essere visualizzato il messaggio all’utente o semplicemente accodato il messaggio a quelli presenti nella tile.
Questo tipo di notifica viene memorizzato sul Band e, in caso di messaggi non letti, viene visualizzato il badge numerico e la small tile per segnalare il numero di messaggi in attesa di lettura.
La notifica di tipo Dialog non viene memorizzata sul Band e viene sempre visualizzata la notifica all’utente.
Sia per i Message che per i Dialog, se il guid della Tile non corrisponde ad una tile dell’app, si ottiene una eccezione di tipo BandException.
In questo caso non serve il tileid (la vibrazione viene inviata al band e non ad una tile specifica).
Il progetto completo riguardante le notifiche è scaricabile al seguente link.
Nell’attuale versione dell’SDK (che ricordiamo essere la 1.3.10219), abbiamo a disposizione le seguenti tipologie di notifiche:
- Messagge: il message è una notifica, inviata ad una tile particolare, composta da un titolo e da un testo che rimane memorizzata nel device. Il message può generare un avvertimento all’utente o meno;
- Dialog: il dialog e’ una notifica, inviata ad una tile particolare, anch’essa composta da un titolo e da un testo ma non rimane memorizzata tra i messaggi della tile e genera sempre un avvertimento per l’utente (è un vero e proprio dialog).
Tutte e funzionalità di notifiche sono esposte dall’interfaccia IBandNotificationManager. Possiamo recuperare un’istanza valida di questa interfaccia dalla proprietà NotificationManager dell’interfaccia IBandClient.
L’interfaccia IBandNotificationManager espone tre metodi (con opportuni overload) per gestire le notifiche.
SendMessageAsync
Il metodo SendMessageAsync permette di inviare una notifica di tipo Message ad una specifica Tile.
Try
Await App.CurrentBandClient.NotificationManager.SendMessageAsync(TileFactory.AppTileId,
NotificationTitleText.Text,
NotificationBodyText.Text,
DateTimeOffset.Now,
Notifications.MessageFlags.ShowDialog )
Catch ex As BandException
End Try
Await App.CurrentBandClient.NotificationManager.SendMessageAsync(TileFactory.AppTileId,
NotificationTitleText.Text,
NotificationBodyText.Text,
DateTimeOffset.Now,
Notifications.MessageFlags.ShowDialog )
Catch ex As BandException
End Try
Nell’esempio precedente App.CurrentBandClient è un’istanza valida di IBandClient e TileFactory.TileId è il Guid della tile a cui inviare la notifica.
Da notare la possibilità di definire anche un DateTimeOffset che apparirà all’utente sul Band e l’enumerazione MessageFlags indicare se deve essere visualizzato il messaggio all’utente o semplicemente accodato il messaggio a quelli presenti nella tile.
Questo tipo di notifica viene memorizzato sul Band e, in caso di messaggi non letti, viene visualizzato il badge numerico e la small tile per segnalare il numero di messaggi in attesa di lettura.
SendDialogAsync
Il metodo SendDialogAsync permette di inviare una notifica di tipo Dialog al Band.
Try
Await App.CurrentBandClient.NotificationManager.ShowDialogAsync(TileFactory.AppTileId,
NotificationTitleText.Text,
NotificationBodyText.Text)
Catch ex As BandException
End Try
Await App.CurrentBandClient.NotificationManager.ShowDialogAsync(TileFactory.AppTileId,
NotificationTitleText.Text,
NotificationBodyText.Text)
Catch ex As BandException
End Try
La notifica di tipo Dialog non viene memorizzata sul Band e viene sempre visualizzata la notifica all’utente.
Sia per i Message che per i Dialog, se il guid della Tile non corrisponde ad una tile dell’app, si ottiene una eccezione di tipo BandException.
VibrateAsync
Il metodo VibrateAsync permette di inviare quello che viene chiamato “Haptics” (una vibrazione) al Band. L’invio di notifiche di tipo Message e Dialog genera automaticamente l’haptics del Band.
Try
Await App.CurrentBandClient.NotificationManager.VibrateAsync(vibrationTypeSelected)
Catch ex As bandException
End Try
Await App.CurrentBandClient.NotificationManager.VibrateAsync(vibrationTypeSelected)
Catch ex As bandException
End Try
In questo caso non serve il tileid (la vibrazione viene inviata al band e non ad una tile specifica).
Il progetto completo riguardante le notifiche è scaricabile al seguente link.
Tag di Technorati: Microsoft Band SDK Preview,Windows Phone 8.1
Commenti