modulo14 notificaciones

5

Click here to load reader

Upload: eduardo

Post on 03-Jul-2015

1.928 views

Category:

Documents


2 download

DESCRIPTION

Todo acerca de notificaciones Toast, Tile y Raw, así como el uso de Live Tiles

TRANSCRIPT

Page 1: Modulo14 Notificaciones

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

Page 2: Modulo14 Notificaciones

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

Page 3: Modulo14 Notificaciones

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

Page 4: Modulo14 Notificaciones

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

Page 5: Modulo14 Notificaciones

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/