Compatibilidad con íconos adaptables en AWP con íconos enmascarables

Íconos de apps que se adaptan a las plataformas

¿Qué son los íconos enmascarables?

Si instalaste una app web progresiva en un teléfono Android reciente, es posible que notes que el ícono aparece con un fondo blanco. Android Oreo introdujo los íconos adaptables, que muestran los íconos de las apps en una variedad de formas en los distintos modelos de dispositivos. Los íconos que no siguen este formato nuevo reciben fondos blancos.

Íconos de AWP en círculos blancos en Android
En Android, los íconos transparentes de AWP aparecen dentro de círculos blancos.

Los íconos enmascarables son un nuevo formato de ícono que te brinda más control y permite que tu app web progresiva use íconos adaptables. Si proporcionas un ícono enmascarable, este puede llenar toda la forma y se verá muy bien en todos los dispositivos Android. Recientemente, Firefox y Chrome agregaron compatibilidad con este formato nuevo, y puedes adoptarlo en tus apps.

Íconos de las AWP que cubren todo el círculo en Android
En cambio, los íconos enmascarables cubren todo el círculo.

¿Mis íconos actuales están listos?

Dado que los íconos enmascarables deben admitir varias formas, debes proporcionar una imagen opaca con un poco de padding que el navegador pueda recortar para alcanzar la forma y el tamaño requeridos. Es mejor no depender de ninguna forma en particular, ya que la forma definitiva varía según el navegador y la plataforma.

Diferentes formas específicas de la plataforma.

Afortunadamente, existe una "zona segura mínima" bien definida y estandarizada que todas las plataformas respetan. Las partes importantes del ícono, como el logotipo, deben estar dentro de un área circular en el centro, con un radio equivalente al 40% del ancho del ícono. El borde exterior 10% se puede recortar.

Puede verificar qué partes de los íconos están dentro de la zona segura con las Herramientas para desarrolladores de Chrome. Con la app web progresiva abierta, inicia Herramientas para desarrolladores y navega al panel Aplicación. En la sección Íconos, puedes elegir Mostrar solo el área segura mínima para los íconos enmascarables. Se cortarán los íconos para que solo se vea el área segura. Si tu logotipo es visible dentro de esta área segura, estás listo.

Panel de aplicaciones de Herramientas para desarrolladores que muestra íconos de AWP con bordes recortados
Panel Applications.

Para probar tu ícono enmascarable con la variedad de formas de Android, usa la herramienta Maskable.app que creó Tiger. Abre un ícono. Maskable.app te permitirá probar varias formas y tamaños. Podrás compartir la vista previa con otros miembros de tu equipo.

¿Cómo adopto íconos enmascarables?

Si quieres crear un ícono enmascarable basado en un ícono existente, puedes usar Maskable.app Editor. Carga el icono, ajusta el color y el tamaño, y exporta la imagen.

Captura de pantalla de Maskable.app Editor
Cómo crear íconos en Maskable.app Editor.

Una vez que hayas creado un ícono enmascarable y lo hayas probado en Herramientas para desarrolladores, deberás actualizar el manifiesto de la app web para que apunte al recurso nuevo. El manifiesto de la app web proporciona información sobre tu app web en un archivo JSON e incluye un array icons.

Para la inclusión de íconos enmascarables, el campo purpose le indica al navegador cómo debe usarse tu ícono. De forma predeterminada, los íconos tendrán el propósito "any". En Android, el tamaño de estos íconos cambiará sobre un fondo blanco.

{
  …
  "icons": [
    …
    {
      "src": "path/to/regular_icon.png",
      "sizes": "196x196",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "path/to/maskable_icon.png",
      "sizes": "196x196",
      "type": "image/png",
      "purpose": "maskable" // <-- New property value `"maskable"`
    },
    …
  ],
  …
}

Los íconos enmascarables deben usar un valor diferente para purpose: "maskable". Esto indica que una imagen está diseñada para usarse con máscaras de íconos, lo que te brinda más control sobre el resultado. De esta manera, tus íconos no tendrán un fondo blanco. También puedes especificar varios propósitos separados por espacios (por ejemplo, "any maskable") si deseas que el ícono enmascarable se use sin una máscara en otros dispositivos.

De esta manera, puedes crear tus propios íconos enmascarables y asegurarte de que tu app se vea bien de borde a borde (y en relación con el valor, de un círculo a un círculo o de óvalo a óvalo mostrar).

Agradecimientos

Joe Medley revisó este artículo.