1. 19/09/2011
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 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
1
2. 19/09/2011
Limitaciones de uso Notificaciones Toast
1 canal de notificaciones push por aplicación Parte superior de la pantalla
Válido para cualquier tipo de notificación Duración: unos 10 segundos
30 canales de notificaciones push por dispositivo Se descarta con un flick hacia la derecha
Al tocar la notificación, se lanza la aplicación que la lanzó
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 Notificaciones Toast
Evento para que la aplicación
que se está ejecutando
Partes de una notificación toast Recibir notificaciones responda a la notificación
HttpNotificationChannel pushChannel =
Título Subtítulo
HttpNotificationChannel.Find("ToastSampleChannel ");
(propiedad (propiedad Parámetro if (pushChannel == null)
Text1) Text2) Se pasa a la {
aplicación si se pushChannel = new HttpNotificationChannel("ToastSampleChannel ");
acepta la pushChannel.ChannelUriUpdated += new
notificación. EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpd
Pueden ser pares ated);
nombre/valor, una pushChannel.ErrorOccurred += new
Icono de página de la EventHandler<NotificationChannelErrorEventArgs>(PushChannel_ErrorOccurr
la aplicación… ed);
aplicación pushChannel.ShellToastNotificationReceived += new
(propiedad Param) EventHandler<NotificationEventArgs>(PushChannel_ShellToastNotificationR
eceived);
pushChannel.Open();
pushChannel.BindToShellToast();
}
2
3. 19/09/2011
Notificaciones Tile Notificaciones Tile
Pantalla de inicio de Windows Phone Partes de una notificación Tile
Tienen 2 partes: delantera y trasera
Texto
del tile
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.
Notificaciones Tile Utilización de Live Tiles
Recibir notificaciones ¿Cómo se utilizan los Tiles?
HttpNotificationChannel pushChannel = Las APIs ShellTile permiten crear y eliminar Tiles
HttpNotificationChannel.Find("TileSampleChannel"); secundarios, así como actualizar todos los Tiles
if (pushChannel == null)
Pueden actualizarse mediante el servicio de notificaciones
{
pushChannel = new HttpNotificationChannel("TileSampleChannel");
push de Microsoft
pushChannel.ChannelUriUpdated += new Las APIs ShellTileSchedule permiten actualizar un Tile de
EventHandler<NotificationChannelUriEventArgs>(PushChannel_ChannelUriUpdated) forma programada con información de un recurso remoto
;
pushChannel.ErrorOccurred += new
La apariencia inicial del Tile de aplicación se establece en el
EventHandler<NotificationChannelErrorEventArgs>(PushChannel_ErrorOccurred); Application Manifest de Windows Phone
pushChannel.Open();
Tiles secundarios
pushChannel.BindToShellTile();
Tile de aplicación •Crear
}
•Actualizar •Actualizar
•Eliminar
3
4. 19/09/2011
Utilización de Live Tiles Utilización de Live Tiles
El Tile de aplicación siempre es
el primero de la lista de Tiles Se crea un Tile con la
activos información necesaria
Actualizar el Tile de aplicación Crear un Tile secundario
ShellTile TileToFind = ShellTile.ActiveTiles.First(); StandardTileData NewTileData = new StandardTileData
StandardTileData NewTileData = new StandardTileData {
{ Se crea un nuevo Tile con los BackgroundImage = new Uri(“imgTrasera.jpg",
Title = “Titulo del tile”, datos actualizados UriKind.Relative),
BackgroundImage = new Uri(“miImg.jpg”,UriKind.Relative), Title = "Tile secundario“,
Count = 1, Count = 12,
BackTitle = “Título trasero”, BackTitle = “Parte trasera del Tile“,
BackBackgroundImage = new Uri(“imgDetras.jpg”, BackContent = “Bienvenido a la parte de atrás ”,
UriKind.Relative), BackBackgroundImage = new Uri(“fondoTrasera.jpg",
UriKind.Relative) URI de la Tile
BackContent = “Texto de la parte trasera”
}; creada,
}; Se actualiza el Tile de la (incluyendo
TileToFind.Update(NewTileData); aplicación con el que tiene los ShellTile.Create(new
parámetros) e
datos actualizados Uri("/MiTileSecundaria.xaml?DefaultTitle=miTile",
información inicial
UriKind.Relative), NewTileData);
Utilización de Live Tiles Utilización de Live Tiles
Eliminar un Tile secundario Actualizar un Tile de forma programada Se crea el Tile
ShellTile TileToFind = Una sóla vez
ShellTile.ActiveTiles.FirstOrDefault(x => Se actualiza
x.NavigationUri.ToString().Contains("DefaultTitle=miTile ShellTileSchedule SampleTileSchedule = new
una sola vez
")); ShellTileSchedule();
if (TileToFind != null) SampleTileSchedule.Recurrence = UpdateRecurrence.Onetime;
{ SampleTileSchedule.StartTime = DateTime.Now;
TileToFind.Delete();
Se busca el Tile a SampleTileSchedule.RemoteImageUri = new
eliminar Uri(@"http://www.weather.gov/forecasts/graphical/images/
}
conus/MaxT1_conus.png");
SampleTileSchedule.Start();
Momento en el que
Se elimina el Tile se empieza la
actualización
4
5. 19/09/2011
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/
5