MSDN España

Noticias, avisos, reflexiones... del equipo que hay detrás de MSDN en España... también tendremos alguna que otra firma invitada :)

Windows Phone Tips&Tricks. Cómo mostrar notificaciones en la pantalla de bloqueo

Windows Phone Tips & Tricks. Cómo mostrar notificaciones en la pantalla de bloqueo

[Nota: Este artículo pertenece a nuestra serie de Windows Phone Tips & Tricks]

Una de las novedades de Windows Phone 8 es la posibilidad de que el usuario incluya tu aplicación entre las 5 que quiere que le muestren notificaciones en la pantalla de bloqueo. Estas notificaciones pueden consistir en un icono y un contador en la parte inferior (estado rápido) de la pantalla o un texto con detalles (estado detallado).

La información de estas notificaciones se obtendrá de la información que muestre el Live Tile de la app, por lo que debes seguir este otro Tip&Trick para establecer la información a mostrar en las notificaciones. Las notificaciones de la pantalla de bloqueo, a pesar de obtener su información del Tile de la aplicación, se mostrarán aunque este no
esté anclado a la pantalla de inicio.

Para mostrar estas notificaciones, sólo tenemos que hacer un par de declaraciones en el WPAppManifest.xml(botón derecho -> ver código). En el apartado Extensions (si ya existe lo encontrarás detrás del apartado Tokens, si no, créalo allí) debes definir las extensiones LockScreen_Notification_IconCount (para el estado rápido) y/o LockScreen_Notification_TextField (para el estado detallado):

<Tokens>
   [...] 
</Tokens>

<Extensions>
   <Extension ExtensionName="LockScreen_Notification_IconCount" 
              ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" 
              TaskID="_default" />
   <Extension ExtensionName="LockScreen_Notification_TextField" 
              ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" 
              TaskID="_default" />
</Extensions>

Para el estado rápido también debes definir el icono que se mostrará al lado del contador. Para ello, crea una imagen de 38x38 px que solo contenga píxeles blancos o transparentes. Añádela a tu proyecto y define su ruta en el WMAppManifest.xml, en el elemento llamado DeviceLockImageURI que encontrarás dentro de PrimaryToken (dentro de Tokens):

<DeviceLockImageURI IsRelative="true" IsResource="false">Assets\MyLockIcon.png</DeviceLockImageURI>

Para probarlo, actualiza el Live Tile de tu app utilizando el servicio de este Tip&Trick, teniendo en cuenta que las propiedades con la información relevante para las notificaciones en la pantalla de bloqueo son Count (contador del estado rápido) y WideBackContent (para el texto del estado detallado). Por ejemplo, aquí lo hacemos en el code-behind de la MainPage de nuestra app:

private LiveTileService liveTileService = new LiveTileService(); 

// Constructor
public MainPage()
{
   InitializeComponent();
   this.UpdateLiveTile();
}

private void UpdateLiveTile()
{
   // Contador del estado rápido
   liveTileService.Count = 8;
   // Texto del estado detallado
   liveTileService.WideBackContent = "Texto de la notificación";
   // Enviamos la información al Tile
   liveTileService.UpdateTile();
}

Si activamos en la configuración de nuestro teléfono que nuestra aplicación muestre ambas notificaciones, se verá algo como esto:

        

 

Un saludo,

Gorka Madariaga (@Gk_8)

Blog: formulario de comentarios de publicación (CAPTCHA)