Personas que lo han encontrado útil: 1 de 1 - Valorar este tema

Directrices y lista de comprobación para notificaciones del sistema (aplicaciones de la Tienda Windows)

En este tema se describen los procedimientos recomendados para la creación y envío de notificaciones del sistema y se muestran los requerimientos que la aplicación debe cumplir para que se acepte en la Tienda Windows.

Uso apropiado de las notificaciones del sistema

  • Notifica al usuario sobre algo personalmente relevante y sujeto a limitación temporal. Algunos ejemplos son:
    • una llamada VOIP entrante
    • un nuevo mensaje instantáneo
    • un nuevo mensaje de texto
    • una cita de calendario u otro aviso
    • notificaciones que el usuario haya elegido recibir explícitamente
  • Navega a un destino apropiado de la aplicación cuando el usuario pulse una notificación del sistema. Considera que las notificaciones son una invitación para cambiar el contexto, no una actualización estrictamente informativa.
  • Considera que es posible que el usuario no vea una notificación del sistema en particular. Proporciona formas alternativas para el usuario para obtener la misma información si es importante. Puedes conservar información relacionada en tu icono o dentro de las vistas de la aplicación.
  • Una aplicación en ejecución puede ocultar una notificación del sistema si ya no es válida, como una llamada entrante donde la otra parte ha colgado o si el usuario ya ha contestado en otro dispositivo.
  • Combina varias actualizaciones relacionadas que se produzcan en un período corto de tiempo en una sola notificación del sistema. Por ejemplo, si tienes tres actualizaciones nuevas que llegan al mismo tiempo, la aplicación o el servidor de aplicaciones deben generar una sola notificación que indique que hay tres actualizaciones nuevas, en lugar de tres notificaciones separadas.
  • Presenta información de la forma más simple posible. Si el contenido no requiere un encabezado, omítelo. Un mensaje como "La descarga se ha completado." es completo y no necesita otra presentación.
  • Usa imágenes cuando agregan un valor claro al mensaje, como por ejemplo una foto del remitente del mensaje.

Uso inapropiado de las notificaciones del sistema

  • No uses notificaciones del sistema para notificarle al usuario algo que deba ver, como por ejemplo una alerta crítica. Para asegurarte de que el usuario haya visto el mensaje, notifícale en el contexto de la aplicación con un control flotante, diálogo, barra de la aplicación u otro elemento incorporado.
  • No incluyas texto que le diga al usuario "haz clic aquí para..." Se asume que todas las notificaciones del sistema tienen una acción para hacer clic o pulsar con un resultado que resulta claro por el contexto de la notificación.
  • No uses notificaciones del sistema para notificarle al usuario sobre fallas transitorias o eventos de red, como por ejemplo una interrupción en la conexión.
  • No le notifiques al usuario sobre algo que este no haya solicitado que se le notifique. Por ejemplo, no asumas que todos los usuarios quieren recibir notificaciones cada vez que un contacto aparece en línea.
  • No uses notificaciones del sistema para algo que tenga un gran volumen de notificaciones, como por ejemplo información sobre el precio de acciones.
  • No uses notificaciones del sistema para notificarle al usuario acerca de eventos de mantenimiento rutinarios, como por ejemplo sobre la finalización de un análisis de antivirus.
  • No generes una notificación del sistema cuando la aplicación se encuentre en primer plano y haya disponible una superficie más contextual, como un elemento en línea, un control flotante, un cuadro de diálogo o una barra de la aplicación. Por ejemplo, cuando se reciben mensajes instantáneos adicionales relacionados con una conversación actual que se muestra en la vista, la conversación debe actualizarse en línea en lugar de seguir generando notificaciones del sistema con cada mensaje nuevo. Escucha el evento PushNotificationReceived para interceptar notificaciones de inserción cuando la aplicación se esté ejecutando.
  • No agregues imágenes genéricas como iconos o el logotipo de la aplicación en el campo de imagen de la notificación.
  • No coloques el nombre de la aplicación en el texto de la notificación. Los usuarios identificarán la aplicación por el logotipo de esta, que se incluye automáticamente en la notificación del sistema.
  • No uses la aplicación para solicitarles a los usuarios que habiliten notificaciones del sistema si han optado por deshabilitarlas. Se espera que la aplicación funcione sin notificaciones del sistema.
  • No migres automáticamente los escenarios de notificación en globo a notificaciones del sistema—considera que puede ser más apropiado notificar al usuario cuando este no se encuentra inmerso en una vista de pantalla completa (únicamente aplicaciones de estilo de escritorio).
  • No uses notificaciones del sistema para información que no sea en tiempo real, como por ejemplo una imagen del día.
  • No ocultes notificaciones del sistema a menos que sea absolutamente necesario.

Solución de problemas

En esta sección, se tratan algunos errores comunes que se te podrían presentar al trabajar con notificaciones del sistema y plantillas de notificaciones del sistema. En gran medida, la mayoría de los pasos para la solución de problemas usados por las notificaciones del sistema son los mismos usados con las notificaciones de iconos. Salvo especificación en contrario, cada solución se aplica a todos los tipos de entrega de notificaciones: local, programado o notificaciones de inserción.

Es posible que también haya pasos específicos a seguir para la solución de problemas para el método de entrega de notificaciones. Para obtener más información, consulta estos temas:

No se muestra la notificación del sistema local

El problema más común en esta situación es que el XML usado para definir la notificación es incorrecto. Sin embargo, hay otras causas posibles, que se especifican en estos pasos:

Comprueba la configuración del usuario

Posible causa: el usuario o el administrador han deshabilitado las notificaciones a través de la configuración. Comprueba el interruptor de inicio y apagado de las notificaciones globales y los interruptores de inicio y apagado por aplicación en la página configuración del equipo-> Notificaciones. En cuanto al administrador, hay varias directivas de grupo que pueden deshabilitar las notificaciones. Consulta con el administrador para asegurarte de que las notificaciones estén habilitadas.

Corrección: habilita las notificaciones a través de la configuración o haz que un administrador las habilite a través de una directiva de grupo.

Si quieres obtener más información, consulta el tema sobre cómo comprobar la configuración de las notificaciones del sistema.

Comprueba las entradas del manifiesto de aplicaciones

Posible causa: el manifiesto de la aplicación no tenía configurada la información apropiada para habilitar la entrega de notificaciones del sistema. Asegúrate de que la configuración "Compatibilidad con notificaciones del sistema" en el manifiesto de la aplicación, esté definido en "Sí". Si se recupera algún contenido de notificación, como por ejemplo una imagen, de Internet, asegúrate de que la funcionalidad "Internet (cliente)" esté declarada en el manifiesto de la aplicación.

Corrección: habilita las entradas específicas de las notificaciones en el manifiesto de la aplicación.

Para más información, consulta el tema de inicio rápido: crear un icono predeterminado mediante el editor de manifiestos de Microsoft Visual Studio.

Comprueba los tamaños de las imágenes

Posible causa: la resolución de las imágenes para todas las notificaciones debe ser inferior a 1024 x 1024 píxeles y tener un tamaño menor a 200 KB. Si alguna de las imágenes de las notificaciones supera alguna de estas dimensiones, se descartará la notificación.

Corrección: reduce el tamaño de las imágenes.

Para más información, consulta el tema sobre los tamaños de las imágenes de iconos y notificaciones del sistema.

Comprueba las direcciones URL

Posible causa: errores de sintaxis en las direcciones URL.

En las notificaciones, las imágenes se proporcionan como una referencia a un recurso o una ruta de acceso literal. Si se utiliza una ruta de acceso, se debe proporcionar mediante uno de estos tres protocolos:

PrefijoUsaNotas
http:// y https://Imágenes almacenadas en línea

Estas imágenes podrían almacenarse en caché localmente por lo que quizás tu servidor de imágenes no reciba una solicitud para dicha imagen. A estas direcciones URL se anexan cadenas de consulta. Si eliges ignorar la cadena de consulta, asegúrate de que el servidor web devuelve la imagen original en lugar de un 404. Un ejemplo de cadena de consulta: ?scale=100&contrast=blk&lang=en-US

Ten en cuenta que para recuperar el contenido de una notificación de Internet, tu aplicación debe declarar la funcionalidad "Internet (cliente)" en su manifiesto de la aplicación.

ms-appx:///Las imágenes se incluyen en el paquete de la aplicaciónEl identificador uniforme de recursos (URI) acepta la barra diagonal (/) o la barra diagonal inversa (\) para separar las carpetas de una ruta de acceso, pero la mayoría de los lenguajes de programación requieren que uses un carácter de escape cuando especifiques una barra diagonal inversa (\\). Ten en cuenta que esta referencia necesita una triple barra diagonal después de los dos puntos.
ms-appdata:///local/Imágenes guardadas localmente por tu aplicaciónEsta ubicación corresponde a la carpeta devuelta por Windows.Storage.ApplicationData.current.localFolder. En la ruta de acceso, los separadores de carpetas deben usar caracteres de escape (\\). Ten en cuenta que esta referencia necesita una triple barra diagonal después de los dos puntos.

 

Nota  El carácter '/' funciona como separador en todos los tipos de especificación. Te recomendamos usar '/' en lugar de '\' en todos los casos para evitar una confusión inadvertida con los caracteres de escape.

Ejemplos de casos bien formados:

URL
http://www.contoso.com/icon.jpg
ms-appx:///images/icon.png
ms-appdata:///local/myDrawing.jpg

 

Ejemplos de casos mal formados:

URLNotas
http://www.contoso.com\fail.pngLas rutas HTTP deben usar el carácter /. No uses el carácter \.
http:www.contoso.comLas rutas HTTP requieren una doble barra diagonal (//) después de los dos puntos.
"ms-appdata:///local/c:\\images\\Drawing.jpg"Una aplicación no puede hacer referencia a imágenes fuera de su almacenamiento local.
"ms-appx://images/triangle.png"Con "ms-appx:", usa una triple barra diagonal en lugar de una doble.

 

Examina los formatos de las imágenes

Posible causa: las imágenes se encuentran en un formato no admitido.

Las notificaciones solo pueden usar imágenes en los formatos .png, .jpg/.jpeg o .gif. El formato de la imagen también debe coincidir con la extensión. Si simplemente cambias el nombre de un tipo de archivo no compatible por una extensión compatible, no funcionará.

La causa más común de los errores de formato de imagen es la serialización de mapas de bits en el almacenamiento en Windows.Storage.ApplicationData.current.localFolder. Asegúrate de invocar el formato preferido, de lo contrario la imagen se almacenará como mapa de bits de Windows y en el encabezado se incluirá "BMP".

Para comprobar: una forma de comprobar el formato de la imagen consiste en cargar la imagen en un programa de procesamiento de imágenes y guardarla como un archivo .jpg. Si haces referencia a este nuevo archivo .jpg en la notificación y el error no vuelve a producirse, probablemente se trató de un error de formato. También puedes abrir el archivo en el editor binario de Visual Studio y examinar su encabezado.

Corrección: cambia o corrige los formatos de la imagen.

Comprueba el contenido y la sintaxis del XML

Posible causa: errores de validación o sintaxis del XML.

Además de la sintaxis básica, asegúrate de que el XML está completo y es correcto. Los siguientes son algunos puntos de error habituales en el contenido XML:

  • Distinción de mayúsculas y minúsculas. Los nombres de etiquetas, los nombres de atributos y los valores de atributo distinguen mayúsculas de minúsculas. Asegúrate de que, en tu XML, las mayúsculas y minúsculas son correctas.
  • Las cadenas de texto no deben contener caracteres XML reservados. Por ejemplo, no puedes dar formato de cursiva a las cadenas del icono con las etiquetas <i> e </i>. Si tu intención es mostrar los caracteres literales "<i>", estos deben incluir los caracteres de escape correctos. Para obtener más información sobre los caracteres de escape en XML, consulta el tema sobre entidades de caracteres XML y XAML.
  • Los valores proporcionados para los atributos lang deben cumplir con la especificación ITEF BCP 47.
  • Las cadenas XML creadas localmente (para notificaciones locales o programadas) deben usar la codificación UTF-8. Cuando se envían mediante notificaciones de inserción o se sondean desde una dirección URL, las cadenas deben usar la codificación UTF-16.
  • Si incluyes un elemento image en tu carga XML con un atributo src no vacío, asegúrate de incluir una referencia a una imagen válida o, de lo contrario, se producirá un error en la notificación.

Puedes usar el registro de eventos para comprobar si hay errores cuando no se muestra la notificación del sistema. Busca eventos que suponen la notificación del sistema en el visor de eventos en Registros de aplicaciones y servicios > Microsoft > Windows > Immersive-Shell > Microsoft-Windows-TWinUI > Operational.

Para comprobar: usa un corrector sintáctico de XML, como el editor de Visual Studio, para buscar errores de sintaxis básicos. Mira la referencia de plantilla apropiada (ToastTemplateType) para asegurarte de asignar correctamente los elementos.

Corrección: cambia el XML o usa una plantilla diferente que coincida con el contenido.

Asegúrate de que la notificación no haya expirado

Posible causa: el valor del tiempo de expiración establecido es demasiado pequeño.

Si configuras el tiempo de expiración de la notificación a través del método ExpirationTime (para una notificación local) o el campo de encabezado X-WNS-TTL (en una notificación de inserción), ten en cuenta que los valores representan milisegundos. Por ejemplo, si quieres que una notificación del sistema dure exactamente una hora, el valor deberá ser 60 * 60 * 1000 = 3600000.

Corrección: usa un valor más grande.

Lista de comprobación

Si quieres obtener información sobre los requisitos generales de la Tienda Windows, consulta el tema sobre los requisitos de certificación para las aplicaciones de Windows.

Temas relacionados

Introducción a las notificaciones del sistema
Ejemplo de notificaciones del sistema
Ejemplo de envío de notificaciones del sistema de aplicaciones de escritorio
Inicio rápido: envío de una notificación del sistema
Inicio rápido: envío de una notificación de inserción
Inicio rápido: envío de una notificación del sistema desde el escritorio
Cómo optar por recibir notificaciones del sistema
Cómo programar una notificación del sistema
Cómo habilitar notificaciones del sistema de escritorio a través de AppUserModelID
El catálogo de plantillas de notificaciones del sistema
Elección de un método de entrega de notificaciones
Esquema XML de una notificación del sistema

 

 

© 2013 Microsoft. Reservados todos los derechos.