Freigeben über


Primäre Kachel-APIs

Hinweis

Live-Kacheln sind ein Windows 10-Feature, das in späteren Versionen von Windows nicht unterstützt wird. Für neue Apps wird empfohlen, die aktuellen Anleitungen für App-Symbole zu befolgen.

Mit primären Kachel-APIs können Sie überprüfen, ob Ihre App derzeit an "Start" angeheftet ist, und fordern Sie an, die primäre Kachel Ihrer App anzuheften.

Wichtig

Erfordert Creators Update: Sie müssen sdk 15063 als Ziel verwenden und Windows 10 Build 15063 oder höher ausführen, um die primären Kachel-APIs zu verwenden.

Wichtige APIs: StartScreenManager-Klasse, ContainsAppListEntryAsync, RequestAddAppListEntryAsync

Gründe für die Verwendung von primären Kachel-APIs

Sie haben viel Aufwand in das Entwerfen einer großartigen Erfahrung für die primäre Kachel Ihrer App gelegt, und jetzt haben Sie die Möglichkeit, den Benutzer aufzufordern, sie an "Start" anzuheften. Bevor wir uns jedoch mit dem Code beschäftigen, sollten Sie beim Entwerfen Ihrer Erfahrung einige Punkte beachten:

  • Erstellen Sie eine nicht störende und leicht verworfene UX in Ihrer App mit einem klaren Aufruf von "Live-Kachel anheften".
  • Erläutern Sie den Wert der Live-Kachel Ihrer App deutlich, bevor Sie den Benutzer auffordern, sie anzuheften.
  • Bitten Sie einen Benutzer nicht , die Kachel Ihrer App anzuheften, wenn die Kachel bereits angeheftet ist oder das Gerät sie nicht unterstützt (weitere Informationen folgen).
  • Bitten Sie den Benutzer nicht wiederholt, die Kachel Ihrer App anzuheften (sie werden wahrscheinlich ärgerlich).
  • Rufen Sie die Pin-API nicht ohne explizite Benutzerinteraktion und auch dann nicht auf, wenn Ihre App minimiert/nicht geöffnet ist.

Überprüfen, ob die API vorhanden ist

Wenn Ihre App ältere Versionen von Windows 10 unterstützt, müssen Sie überprüfen, ob diese primären Kachel-APIs verfügbar sind. Dazu verwenden Sie ApiInformation. Wenn die primären Kachel-APIs nicht verfügbar sind, vermeiden Sie das Ausführen von Aufrufen der APIs.

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

Überprüfen, ob Start Ihre App unterstützt

Je nach dem aktuellen Menü und ihrem App-Typ wird das Anheften der App an den aktuellen Startbildschirm möglicherweise nicht unterstützt. Beispielsweise unterstützen IoT- oder Xbox-Geräte das Anheften an "Start" nicht. Daher müssen Sie vor dem Anzeigen einer Pin-UI oder ausführen eines Pincodes zuerst überprüfen, ob Ihre App sogar für den aktuellen Startbildschirm unterstützt wird. Wenn dies nicht unterstützt wird, fordern Sie den Benutzer nicht auf, die Kachel anzuheften.

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

Überprüfen, ob Sie zurzeit angeheftet sind

Um herauszufinden, ob die primäre Kachel derzeit an "Start" angeheftet ist, verwenden Sie die ContainsAppListEntryAsync-Methode .

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

Anheften der primären Kachel

Wenn Ihre primäre Kachel derzeit nicht angeheftet ist und Ihre Kachel von "Start" unterstützt wird, sollten Sie Benutzern einen Tipp anzeigen, dass sie Ihre primäre Kachel anheften können.

Hinweis

Sie müssen diese API aus einem UI-Thread aufrufen, während sich Ihre App im Vordergrund befindet, und Sie sollten diese API nur aufrufen, nachdem der Benutzer absichtlich die primäre Kachel angeheftet hat (z. B. nachdem der Benutzer auf "Ja" geklickt hat, um die Kachel anzuheften).

Wenn der Benutzer auf die Schaltfläche klickt, um die primäre Kachel anzuheften, rufen Sie die RequestAddAppListEntryAsync-Methode auf, um anzufordern, dass die Kachel an "Start" angeheftet wird. Dadurch wird ein Dialogfeld angezeigt, in dem der Benutzer aufgefordert wird, zu bestätigen, dass die Kachel an "Start" angeheftet werden soll.

Dadurch wird ein boolescher Wert zurückgegeben, der angibt, ob die Kachel jetzt an "Start" angeheftet ist. Wenn die Kachel bereits angeheftet wurde, wird dies sofort zurückgegeben true , ohne dem Benutzer das Dialogfeld anzuzeigen. Wenn der Benutzer im Dialogfeld auf "Nein" klickt oder die Kachel an "Start" angeheftet wird, wird dies nicht falseunterstützt. Andernfalls hat der Benutzer auf "Ja" geklickt, und die Kachel wurde angeheftet, und die API wird zurückgegeben 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);

Ressourcen