modulo14 notificaciones
DESCRIPTION
Todo acerca de notificaciones Toast, Tile y Raw, así como el uso de Live TilesTRANSCRIPT
19/09/2011
1
Agenda
Notificaciones Push en Windows Phone 7 Mango
Limitaciones de uso
Notificaciones Toast
Notificaciones Tile
Utilización de Live Tiles
Notificaciones Raw
Enviar una notificación Push
Notificaciones Push
El servicio de notificaciones Push de Microsoft
proporciona un canal para enviar datos a una
aplicación Windows Phone desde un servicio web
Hay 3 tipos de notificaciones
Toast
Tile
Raw
Notificaciones Push
19/09/2011
2
Limitaciones de uso
1 canal de notificaciones push por aplicación
Válido para cualquier tipo de notificación
30 canales de notificaciones push por dispositivo
En notificaciones toast, se debe pedir permiso al
usuario para habilitar o deshabilitar la recepción de
notificaciones
Las notificaciones push no deberían contener
información personal
La recepción de notificaciones depende de la
conexión y la configuración de la red
El tamaño máximo de carga es 1KB
Notificaciones Toast
Parte superior de la pantalla
Duración: unos 10 segundos
Se descarta con un flick hacia la derecha
Al tocar la notificación, se lanza la aplicación que la lanzó
Notificaciones Toast
Partes de una notificación toast
Título
(propiedad
Text1)
Subtítulo
(propiedad
Text2)
Parámetro
Se pasa a la
aplicación si se acepta la
notificación. Pueden ser pares
nombre/valor, una página de la
aplicación…
(propiedad Param)
Icono de
la
aplicación
Notificaciones Toast
Recibir notificaciones
HttpNotificationChannel pushChannel = HttpNotificationChannel.Find("ToastSampleChannel");
if (pushChannel == null) {
pushChannel = new HttpNotificationChannel("ToastSampleChannel");
pushChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated);
pushChannel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(PushChannel_ErrorOccurred);
pushChannel.ShellToastNotificationReceived += new EventHandler<NotificationEventArgs>(PushChannel_ShellToastNotificationReceived);
pushChannel.Open();
pushChannel.BindToShellToast(); }
Evento para que la aplicación
que se está ejecutando responda a la notificación
19/09/2011
3
Notificaciones Tile
Pantalla de inicio de Windows Phone
Tienen 2 partes: delantera y trasera
2 tipos
Tile de la aplicación: aplicación anclada a Inicio
Tile secundario: se crea con la interacción del usuario
Puede existir sin necesidad de un Tile de aplicación
Ejemplos: mostrar el tiempo en distintas ciudades, últimas noticias
por tipos (deportes, cultura…), etc.
Texto
del tile
Notificaciones Tile
Partes de una notificación Tile
Notificaciones Tile
Recibir notificaciones
HttpNotificationChannel pushChannel = HttpNotificationChannel.Find("TileSampleChannel");
if (pushChannel == null)
{
pushChannel = new HttpNotificationChannel("TileSampleChannel");
pushChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated);
pushChannel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(PushChannel_ErrorOccurred);
pushChannel.Open();
pushChannel.BindToShellTile();
}
Utilización de Live Tiles
¿Cómo se utilizan los Tiles?
Las APIs ShellTile permiten crear y eliminar Tiles
secundarios, así como actualizar todos los Tiles
Pueden actualizarse mediante el servicio de notificaciones
push de Microsoft
Las APIs ShellTileSchedule permiten actualizar un Tile de forma programada con información de un recurso remoto
La apariencia inicial del Tile de aplicación se establece en el
Application Manifest de Windows Phone
Tiles secundarios •Crear
•Actualizar
•Eliminar
Tile de aplicación •Actualizar
19/09/2011
4
Utilización de Live Tiles
Actualizar el Tile de aplicación
ShellTile TileToFind = ShellTile.ActiveTiles.First();
StandardTileData NewTileData = new StandardTileData {
Title = “Titulo del tile”,
BackgroundImage = new Uri(“miImg.jpg”,UriKind.Relative),
Count = 1,
BackTitle = “Título trasero”,
BackBackgroundImage = new Uri(“imgDetras.jpg”, UriKind.Relative),
BackContent = “Texto de la parte trasera”
};
TileToFind.Update(NewTileData);
El Tile de aplicación siempre es
el primero de la lista de Tiles activos
Se crea un nuevo Tile con los
datos actualizados
Se actualiza el Tile de la
aplicación con el que tiene los datos actualizados
Utilización de Live Tiles
Crear un Tile secundario
StandardTileData NewTileData = new StandardTileData
{
BackgroundImage = new Uri(“imgTrasera.jpg", UriKind.Relative),
Title = "Tile secundario“,
Count = 12,
BackTitle = “Parte trasera del Tile“,
BackContent = “Bienvenido a la parte de atrás ”,
BackBackgroundImage = new Uri(“fondoTrasera.jpg", UriKind.Relative)
};
ShellTile.Create(new
Uri("/MiTileSecundaria.xaml?DefaultTitle=miTile", UriKind.Relative), NewTileData);
Se crea un Tile con la
información necesaria
URI de la Tile
creada, (incluyendo
parámetros) e
información inicial
Utilización de Live Tiles
Eliminar un Tile secundario
ShellTile TileToFind =
ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("DefaultTitle=miTile
"));
if (TileToFind != null)
{
TileToFind.Delete();
}
Se busca el Tile a
eliminar
Se elimina el Tile
Utilización de Live Tiles
Actualizar un Tile de forma programada
Una sóla vez
ShellTileSchedule SampleTileSchedule = new
ShellTileSchedule();
SampleTileSchedule.Recurrence = UpdateRecurrence.Onetime;
SampleTileSchedule.StartTime = DateTime.Now;
SampleTileSchedule.RemoteImageUri = new Uri(@"http://www.weather.gov/forecasts/graphical/images/
conus/MaxT1_conus.png");
SampleTileSchedule.Start();
Se crea el Tile
Se actualiza
una sola vez
Momento en el que
se empieza la actualización
19/09/2011
5
Notificaciones Raw
Envían información a la aplicación
Si ésta no se está ejecutando, la notificación se
descarta
DEMO
Enviar Notificaciones Push
Recursos
Centro de desarrollo de WP7 en MSDN
http://msdn.microsoft.com/es-es/windowsphone/default.aspx
AppHub
http://create.msdn.com/
Windows Phone Developer Blog http://windowsteamblog.com/windows_phone/b/wpdev
MobileNUG
http://www.mobilenug.es
Forums
http://forums.create.msdn.com/forums/