Compartir a través de


API de icono principal

Nota:

Los iconos dinámicos son una característica de Windows 10 que no se admite en versiones posteriores de Windows. En el caso de las nuevas aplicaciones, se recomienda seguir las instrucciones actuales para los iconos de la aplicación.

Las API de icono principal permiten comprobar si la aplicación está anclada actualmente a Inicio y solicitar anclar el icono principal de la aplicación.

Importante

Requiere Creators Update: debe tener como destino el SDK 15063 y ejecutar la compilación 15063 de Windows 10 o posterior para usar las API de icono principales.

API importantes: Clase StartScreenManager, ContainsAppListEntryAsync, RequestAddAppListEntryAsync

Cuándo usar las API de mosaico principal

Has puesto mucho esfuerzo en diseñar una gran experiencia para el icono principal de la aplicación y ahora tienes la oportunidad de pedir al usuario que anclelo a Inicio. Pero antes de profundizar en el código, estas son algunas cosas que debe tener en cuenta a medida que diseña su experiencia:

  • Crea una experiencia de usuario no disruptiva y descartable fácilmente en tu aplicación con una llamada clara a la acción "Pin Live Tile".
  • Explique claramente el valor del icono dinámico de la aplicación antes de pedir al usuario que lo ancle.
  • No pidas a un usuario que ancle el icono de la aplicación si el icono ya está anclado o el dispositivo no lo admite (más información a continuación).
  • No pidas repetidamente al usuario que ancle el icono de la aplicación (probablemente se molestará).
  • No llamar a la API de anclaje sin interacción explícita del usuario o cuando la aplicación esté minimizada o no abierta.

Comprobación de si existe la API

Si la aplicación admite versiones anteriores de Windows 10, debes comprobar si estas API de iconos principales están disponibles. Para ello, use ApiInformation. Si las API de icono principal no están disponibles, evite ejecutar ninguna llamada a las API.

if (ApiInformation.IsTypePresent("Windows.UI.StartScreen.StartScreenManager"))
{
    // Primary tile API's supported!
}
else
{
    // Older version of Windows, no primary tile API's
}

Compruebe si Start admite la aplicación.

Según el menú Inicio actual y el tipo de aplicación, es posible que no se admita la asignación de la aplicación a la pantalla inicio actual. Por ejemplo, los dispositivos IoT o Xbox no admiten el anclaje a Inicio. Por lo tanto, antes de mostrar cualquier interfaz de usuario de anclaje o ejecutar cualquier código de patilla, primero debes comprobar si la aplicación es compatible incluso con la pantalla inicio actual. Si no se admite, no pida al usuario que ancle el icono.

// Get your own app list entry
// (which is always the first app list entry assuming you are not a multi-app package)
AppListEntry entry = (await Package.Current.GetAppListEntriesAsync())[0];

// Check if Start supports your app
bool isSupported = StartScreenManager.GetDefault().SupportsAppListEntry(entry);

Compruebe si está anclado actualmente

Para averiguar si el icono principal está anclado actualmente a Inicio, use el método ContainsAppListEntryAsync .

// Get your own app list entry
AppListEntry entry = (await Package.Current.GetAppListEntriesAsync())[0];

// Check if your app is currently pinned
bool isPinned = await StartScreenManager.GetDefault().ContainsAppListEntryAsync(entry);

Anclar el icono principal

Si el icono principal no está anclado actualmente y el icono es compatible con Start, es posible que quiera mostrar una sugerencia a los usuarios que pueden anclar el icono principal.

Nota:

Debes llamar a esta API desde un subproceso de interfaz de usuario mientras la aplicación está en primer plano y solo debes llamar a esta API después de que el usuario haya solicitado intencionadamente que se ancle el icono principal (por ejemplo, después de que el usuario haga clic en Sí a tu sugerencia sobre anclar el icono).

Si el usuario hace clic en el botón para anclar el icono principal, llama al método RequestAddAppListEntryAsync para solicitar que el icono se ancle a Inicio. Se mostrará un cuadro de diálogo que pide al usuario que confirme que desea que el icono esté anclado a Inicio.

Esto devolverá un valor booleano que representa si el icono está anclado ahora a Inicio. Si el icono ya estaba anclado, se devolverá true inmediatamente sin mostrar el cuadro de diálogo al usuario. Si el usuario hace clic en "No" en el cuadro de diálogo o no se admite anclar el icono a Inicio, devolverá false. De lo contrario, el usuario hizo clic en "Sí" y el icono se ancló y la API devolverá true.

// Get your own app list entry
AppListEntry entry = (await Package.Current.GetAppListEntriesAsync())[0];

// And pin it to Start
bool isPinned = await StartScreenManager.GetDefault().RequestAddAppListEntryAsync(entry);

Recursos