Share via


API del riquadro principale

Le API del riquadro principale ti consentono di controllare se l'app è attualmente aggiunta a Start e di richiedere l'aggiunta dell'app a Start.

Importante

Richiede Creators Update: è necessario usare l'SDK 15063 di destinazione ed eseguire la build 15063 o successiva per usare le API del riquadro principale.

API importanti: classe StartScreenManager, ContainsAppListEntryAsync, RequestAddAppListEntryAsync

Quando usare le API dei riquadri primari

Hai fatto molta fatica a progettare un'esperienza ottimale per il riquadro principale dell'app e ora hai la possibilità di chiedere all'utente di aggiungerlo a Start. Ma prima di approfondire il codice, ecco alcuni aspetti da tenere presente durante la progettazione dell'esperienza:

  • Crea un'esperienza utente senza interruzioni e facilmente disabolibili nell'app con una chiara chiamata "Aggiungi riquadro animato" all'azione.
  • Spiega chiaramente il valore del riquadro animato dell'app prima di chiedere all'utente di aggiungerlo.
  • Non chiedere a un utente di aggiungere il riquadro dell'app se il riquadro è già stato aggiunto o il dispositivo non lo supporta (altre informazioni seguono).
  • Non chiedere ripetutamente all'utente di aggiungere il riquadro dell'app (probabilmente si infastidirà).
  • Non chiamare l'API pin senza l'interazione esplicita dell'utente o quando l'app è ridotta a icona o non aperta.

Verifica dell'esistenza dell'API

Se l'app supporta versioni precedenti di Windows 10, devi verificare se queste API del riquadro principale sono disponibili. Puoi farlo usando ApiInformation. Se le API del riquadro primario non sono disponibili, evita di eseguire chiamate alle API.

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

Controlla se Start supporta l'app

A seconda del menu Start corrente e del tipo di app, l'aggiunta dell'app alla schermata Start corrente potrebbe non essere supportata. Solo desktop e dispositivi mobili supportano l'aggiunta del riquadro primario a Start. Pertanto, prima di visualizzare l'interfaccia utente del pin o l'esecuzione di qualsiasi codice pin, devi prima verificare se la tua app è anche supportata per la schermata Start corrente. Se non è supportato, non chiedere all'utente di aggiungere il riquadro.

// 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);

Controlla se è attualmente stato aggiunto

Per scoprire se il riquadro primario è attualmente aggiunto a Start, usa il metodo 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);

Aggiungere il riquadro principale

Se il riquadro primario non è attualmente aggiunto e il riquadro è supportato da Start, è possibile visualizzare un suggerimento per gli utenti che possono aggiungere il riquadro principale.

Nota

Devi chiamare questa API da un thread dell'interfaccia utente mentre l'app è in primo piano ed è necessario chiamare questa API solo dopo che l'utente ha richiesto intenzionalmente di aggiungere il riquadro primario (ad esempio, dopo che l'utente ha fatto clic su sì per il suggerimento relativo all'aggiunta del riquadro).

Se l'utente fa clic sul pulsante per aggiungere il riquadro primario, chiama il metodo RequestAddAppListEntryAsync per richiedere che il riquadro venga aggiunto a Start. Verrà visualizzata una finestra di dialogo che chiede all'utente di confermare che il riquadro è stato aggiunto a Start.

Verrà restituito un valore booleano che indica se il riquadro è stato aggiunto a Start. Se il riquadro è già stato aggiunto, verrà restituito immediatamente true senza visualizzare la finestra di dialogo all'utente. Se l'utente fa clic su no nella finestra di dialogo o se il riquadro viene aggiunto a Start non è supportato, verrà restituito false. In caso contrario, l'utente ha fatto clic su Sì e il riquadro è stato aggiunto e l'API restituirà 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);

Risorse