SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
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
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
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
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
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

Más contenido relacionado

Más de Eduardo

Modulo9 Background Agents
Modulo9 Background AgentsModulo9 Background Agents
Modulo9 Background AgentsEduardo
 
Modulo8 Servicio De Notificaciones
Modulo8 Servicio De NotificacionesModulo8 Servicio De Notificaciones
Modulo8 Servicio De NotificacionesEduardo
 
Modulo7 Bases de Datos
Modulo7 Bases de DatosModulo7 Bases de Datos
Modulo7 Bases de DatosEduardo
 
Modulo5 Trucos Web Browser
Modulo5 Trucos Web BrowserModulo5 Trucos Web Browser
Modulo5 Trucos Web BrowserEduardo
 
Modulo4 Indicadores De Progreso
Modulo4 Indicadores De ProgresoModulo4 Indicadores De Progreso
Modulo4 Indicadores De ProgresoEduardo
 
Modulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;ChoosersModulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;ChoosersEduardo
 
Modulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionModulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionEduardo
 
Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1Eduardo
 

Más de Eduardo (8)

Modulo9 Background Agents
Modulo9 Background AgentsModulo9 Background Agents
Modulo9 Background Agents
 
Modulo8 Servicio De Notificaciones
Modulo8 Servicio De NotificacionesModulo8 Servicio De Notificaciones
Modulo8 Servicio De Notificaciones
 
Modulo7 Bases de Datos
Modulo7 Bases de DatosModulo7 Bases de Datos
Modulo7 Bases de Datos
 
Modulo5 Trucos Web Browser
Modulo5 Trucos Web BrowserModulo5 Trucos Web Browser
Modulo5 Trucos Web Browser
 
Modulo4 Indicadores De Progreso
Modulo4 Indicadores De ProgresoModulo4 Indicadores De Progreso
Modulo4 Indicadores De Progreso
 
Modulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;ChoosersModulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;Choosers
 
Modulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionModulo 2 Modelo Ejecucion
Modulo 2 Modelo Ejecucion
 
Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1
 

Modulo14 Notificaciones

  • 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