API del riquadro principale
Nota
I riquadri vive sono una funzionalità di Windows 10 non supportata nelle versioni successive di Windows. Per le nuove app, è consigliabile seguire le indicazioni correnti per le icone dell'app.
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: devi avere come destinazione SDK 15063 ed eseguire Windows 10 build 15063 o versione 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.
- Spiegare 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. Ad esempio, i dispositivi IoT o Xbox non supportano l'aggiunta 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 true
immediatamente 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);