Deep-Link zu einer Anwendung
Deep-Links in Microsoft Teams sind leistungsstarke Tools, mit denen Benutzer direkt zu bestimmten Inhalten oder Aktionen innerhalb einer App navigieren können. Deep Links werden so konfiguriert, dass verschiedene Aktionen wie das Öffnen einer Registerkarte, das Initiieren eines App-Installationsdialogfelds oder das Durchsuchen innerhalb der App ausgeführt werden.
Hinweis
Dieses Thema enthält Version 2.0.x der Microsoft Teams JavaScript-Clientbibliothek (TeamsJS). Wenn Sie eine frühere Version verwenden, finden Sie in der Übersicht über die TeamsJS-Bibliothek Anleitungen zu den Unterschieden zwischen den neuesten Versionen von TeamsJS und früheren Versionen.
Deep Link-Szenarien
Im Folgenden finden Sie einige Szenarien, in denen Sie einen Deep Link verwenden können:
- App-Installation: Sie können Deep-Links verwenden, mit denen Benutzer mehr über eine App erfahren und sie in verschiedenen Bereichen installieren können.
- Bots und Connectors: Sie können Deep-Links in Bots und Connectors-Nachrichten verwenden, um Benutzer über Änderungen an Ihrer Registerkarte oder ihren Elementen zu informieren.
- Navigieren zu einer bestimmten Seite: Sie können Deep-Links erstellen, mit denen Benutzer zu bestimmten Seiten in Ihrer App navigieren können.
- Benutzerdefinierte App: Sie können Deep-Links für eine benutzerdefinierte App generieren. Wenn eine App im Microsoft Teams Store jedoch dieselbe App-ID wie die benutzerdefinierte App-ID verwendet, öffnet der Deep-Link die App aus dem Teams Store anstelle der benutzerdefinierten App.
- Für Mobilgeräte: Sie können auch einen Deep-Link zu einer App für Mobilgeräte erstellen, nachdem Ihre App für den mobilen Teams-Client genehmigt wurde. Damit der Deep-Link unter Teams iOS funktioniert, benötigen Sie die Apple App Store Connect Team-ID. Weitere Informationen finden Sie unter Aktualisieren der Team-ID von Apple App Store Connect.
Deep-Link zum Öffnen eines App-Installationsdialogfelds
Deep-Links ermöglichen es App-Benutzern, ein Dialogfeld für die App-Installation zu öffnen, um Informationen zur App zu erhalten oder sie in verschiedenen Kontexten zu installieren. Sie können einen Deep-Link zu einer App auf folgende Weise erstellen:
- Manuelles Konfigurieren von Deep Link mithilfe der App-ID
- Konfigurieren von Deep Link mithilfe von TeamsJS
Manuelles Konfigurieren von Deep Link mithilfe der App-ID
Mit Deep Link können Sie ein App-Installationsdialogfeld direkt über Ihren Teams-Client öffnen, indem Sie die App-ID verwenden.
https://teams.microsoft.com/l/app/<your-app-id>?tenantId=<tenantId>
<your-app-id>
ist Ihre Anwendungs-ID (fxxxxxxx-0xxx-4xxx-8xxx-cxxxxxxxxxxx).
App-ID für verschiedene Arten von Apps
In der folgenden Tabelle sind die verschiedenen Typen von App-IDs aufgeführt, die für verschiedene Typen von Apps für Deep-Links verwendet werden:
App-Typ | Typ der App-ID |
---|---|
In Teams hochgeladene benutzerdefinierte App | Manifest-ID |
An den Organisationskatalog übermittelte Apps | Organisationskatalog-ID |
An den Teams Store übermittelte Apps | Store-ID |
Weitere Informationen finden Sie unter Ermitteln der ID basierend auf der App-Manifest-ID.
Konfigurieren von Deep Link mithilfe von TeamsJS
Apps können die Microsoft Teams JavaScript-Clientbibliothek (TeamsJS) verwenden, um das App-Installationsdialogfeld zu initiieren, sodass keine manuelle Deep Link-Generierung erforderlich ist. Hier sehen Sie ein Beispiel für das Auslösen des App-Installationsdialogfelds mithilfe von TeamsJS in Ihrer App:
// Open an app install dialog from your tab
if(appInstallDialog.isSupported()) {
const dialogPromise = appInstallDialog.openAppInstallDialog({ appId: "<appId>" });
dialogPromise.
then((result) => {/*Successful operation*/}).
catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }
Weitere Informationen finden Sie unter appInstallDialog
.
Deep-Link zum Durchsuchen in Ihrer App
App-Benutzer können Inhalte in Teams über Ihre Registerkarte mithilfe von TeamsJS durchsuchen. Sie können einen Deep-Link verwenden, um in Ihrer App zu navigieren, wenn Ihre Registerkarte Benutzer mit anderen Inhalten in Teams verbinden muss, z. B. mit einem Kanal, einer Nachricht, einer anderen Registerkarte oder zum Öffnen eines Planungsdialogfelds. In einigen Fällen kann die Navigation auch mithilfe von TeamsJS erfolgen, und es wird empfohlen, die typisierten Funktionen von TeamsJS nach Möglichkeit zu verwenden.
Sie können DeepLinks für die Navigation in Ihrer App auf folgende Weise konfigurieren:
- Konfigurieren von Deep Link zum manuellen Durchsuchen in Ihrer App
- Konfigurieren eines Deep-Links zu einer Registerkarte mithilfe von TeamsJS
- Konfigurieren von Deep Link für die Navigation zwischen Registerkarten
Konfigurieren von Deep Link zum manuellen Durchsuchen in Ihrer App
Persönliche Registerkarten haben einen personal
Bereich, während Kanal- und Gruppenregisterkarten team
oder group
Bereiche nutzen. Die syntax der beiden Registerkartentypen unterscheidet sich leicht, da nur der konfigurierbaren Registerkarte eine channel
-Eigenschaft zugeordnet ist. Weitere Informationen zu Registerkartenbereichen finden Sie unter App-Manifest.
Verwenden Sie zum Erstellen eines Deep-Links in einem Bot, Connector oder einer Nachrichtenerweiterung Karte das folgende Format:
https://teams.microsoft.com/l/entity/<appId>/<entityId>?tenantId=<tenantId>&webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>&openInMeeting=false
Wenn der Bot eine Nachricht
TextBlock
mit einem Deeplink sendet, wird eine neue Browserregisterkarte geöffnet, wenn der Benutzer den Link auswählt. Dies geschieht in Chrome und in der Teams-Desktop-App, wenn sie unter Linux ausgeführt werden.Wenn der Bot dieselbe Deep Link-URL an ein
Action.OpenUrl
sendet, wird die Registerkarte Teams auf der aktuellen Browserregisterkarte geöffnet, wenn der Benutzer den Link auswählt.
Abfrageparameter
Parametername | Beschreibung |
---|---|
appId |
Die ID aus dem Microsoft Teams Admin Center. Beispiel: fe4a8eba-2a31-4737-8e33-e5fae6fee194 |
entityId |
Die ID der Registerkarte, die Sie beim Konfigurieren der Registerkarte angegeben haben. Verwenden Sie beim Generieren einer URL für Deep Linking weiterhin die Entitäts-ID als Parameternamen in der URL. Beim Konfigurieren der Registerkarte verweist das Kontextobjekt auf den entityId als page.id . Beispiel: Aufgabenliste 123 |
entityWebUrl oder subEntityWebUrl |
Ein optionales Feld mit einer Fallback-URL, das verwendet werden soll, wenn der Client das Rendern der Registerkarte nicht unterstützt. Beispiel: https://tasklist.example.com/123 oder https://tasklist.example.com/list123/task456 |
entityLabel oder subEntityLabel |
Eine Bezeichnung für das Element auf Der Registerkarte, die beim Anzeigen des Deep-Links verwendet werden soll. Beispiel: Aufgabenliste 123 oder Vorgang 456 |
context.subEntityId |
Eine ID für das Element auf der Registerkarte. Verwenden Sie subEntityId beim Generieren einer URL für Deep Linking weiterhin als Parameternamen in der URL. Beim Konfigurieren der Registerkarte verweist das Kontextobjekt auf den subEntityId als page.subPageId . Beispiel: Aufgabe 456 |
context.channelId |
Microsoft Teams-Kanal-ID, die auf der Registerkarte Kontextverfügbar ist. Diese Eigenschaft ist nur in konfigurierbaren Registerkarten mit einem Bereich von Team verfügbar. Sie ist nicht in statischen Registerkarten verfügbar, die über einen persönlichen Bereich verfügen. Beispiel: 19:cbe3683f25094106b826c9cada3afbe0@thread.skype |
context.chatId |
Chat-ID, die im Registerkartenkontext für Gruppen- und Besprechungschats verfügbar ist. Beispiel: 17:b42de192376346a7906a7dd5cb84b673@thread.v2 |
context.contextType |
Chat wird nur für Besprechungen unterstützt contextType . Beispiel: Chat |
openInMeeting |
Verwenden Sie openInMeeting , um die Benutzererfahrung zu steuern, wenn die Zielregisterkarte einer Besprechung zugeordnet ist. Wenn der Benutzer mit dem Deep-Link in einer laufenden Besprechungsumgebung interagiert, öffnet Teams die App im Seitenbereich der Besprechung. Legen Sie diesen Wert auf festfalse , um die App immer auf der Registerkarte "Besprechungschat" und nicht im Seitenbereich zu öffnen, unabhängig vom status der Besprechung. Teams ignoriert alle anderen Werte als false . Beispiel: false |
Wichtig
Stellen Sie sicher, dass alle Abfrageparameter und Leerzeichen ordnungsgemäß URI-codiert sind. Es folgt ein Beispiel für URI-codierte Abfrageparameter:
var encodedWebUrl = encodeURIComponent('https://tasklist.example.com/123/456&label=Task 456'); var encodedContext = encodeURIComponent(JSON.stringify({"subEntityId": "task456"})); var taskItemUrl = 'https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=' + encodedWebUrl + '&context=' + encodedContext;
DeepLinks zu einer Teams-App mit codiertem URI werden in Outlook nicht unterstützt.
Konfigurieren eines Deep-Links zu einer Registerkarte mithilfe von TeamsJS
Sie können Deep-Links in Ihrer App über TeamsJS konfigurieren, damit Benutzer verschiedene Seiten in Ihrer App durchsuchen können. Das Navigationsverhalten einer Teams-App, die über Microsoft 365 Office erweitert wird, hängt von zwei Faktoren ab:
- Das Ziel, auf das der Deep-Link verweist.
- Der Host, auf dem die Teams-App ausgeführt wird.
Wenn die Teams-App auf dem Host ausgeführt wird, auf den der Deep Link ausgerichtet ist, wird Ihre App direkt auf dem Host geöffnet. Wenn die Teams-App jedoch auf einem anderen Host als auf dem Deep Link ausgeführt wird, wird die App zuerst im Browser geöffnet.
Unterstützung für Deep Links in TeamsJS
TeamsJS ermöglicht Teams-Apps, die über Outlook und Microsoft 365 erweitert wurden, um zu überprüfen, ob der Host die Funktion unterstützt, die Sie verwenden möchten. Um die Unterstützung einer Funktion durch einen Host zu überprüfen, können Sie die isSupported()
-Funktion verwenden, die dem Namespace der API zugeordnet ist. TeamsJS organisiert APIs in Funktionen über Namespaces. Bevor Sie beispielsweise eine API im pages
Namespace verwenden, können Sie den zurückgegebenen booleschen Wert von pages.isSupported()
überprüfen und die entsprechende Aktion im Kontext Ihrer App und der Benutzeroberfläche Ihrer App ausführen. Weitere Informationen finden Sie unter Erstellen von Registerkarten und anderen gehosteten Umgebungen mit der TeamsJS-Bibliothek.
Der folgende Code veranschaulicht, wie Sie in Ihrer Teams-App zu einer bestimmten Entität navigieren:
Sie können die Navigation von Ihrer Registerkarte aus mithilfe der pages.navigateToApp()-Funktion auslösen, wie im folgenden Code dargestellt:
if (pages.isSupported()) {
const navPromise = pages.navigateToApp({ appId: <appId>, pageId: <pageId>, webUrl: <webUrl>, subPageId: <subPageId>, channelId:<channelId>});
navPromise.
then((result) => {/*Successful navigation*/}).
catch((error) => {/*Failed navigation*/});
}
else { /* handle case where capability isn't supported */ }
- Weitere Informationen finden Sie unter Navigieren innerhalb einer Registerkarten-App.
- Weitere Informationen zur Seitenfunktion finden Sie unter pages.navigateToApp() und im Pages-Namespace für andere Navigationsoptionen.
- Informationen zum direkten Öffnen eines Deep-Links mit app.openLink() finden Sie unter app.openLink() -Funktion.
Konfigurieren von Deep Link für die Navigation zwischen Registerkarten
Die Seitenfunktion der TeamsJS-Bibliothek bietet Unterstützung für die Navigation zwischen Registerkarten innerhalb einer App. Insbesondere bietet der pages.currentApp
-Namespace eine Funktion navigateTo(NavigateWithinAppParams)
, die die Navigation zu einer bestimmten Registerkarte innerhalb der aktuellen App ermöglicht, und eine Funktion navigateToDefaultPage()
, um zur ersten Registerkarte zu navigieren, die im Manifest der App definiert ist. Der folgende Code veranschaulicht, wie Sie zu einer bestimmten Und Standardregisterkarte navigieren:
Der folgende Code veranschaulicht, wie Sie zu einer bestimmten Registerkarte navigieren:
if (pages.currentApp.isSupported()) {
const navPromise = pages.currentApp.navigateTo({pageId: <pageId>, subPageId: <subPageId>});
navPromise.
then((result) => {/*Successful navigation*/}).
catch((error) => {/*Failed navigation*/});
}
else {/*Handle situation where capability isn't supported*/
const navPromise = pages.navigateToApp({appId: <appId>, pageId: <pageId>});
navPromise.
then((result) => {/*Successful navigation*/}).
catch((error) => {/*Failed navigation*/});
}
Hinweis
Die Registerkarten-App-Navigation wird nur im neuen Teams-Client unterstützt.
Konfigurieren der Navigation auf der Schaltfläche "Zurück"
Wenn eine App über mehrere Registerkarten verfügt, kann ein Benutzer die Schaltfläche "Zurück" der Microsoft 365-Host-App verwenden, um den Navigationsverlauf rückwärts zu durchlaufen. Der Verlauf enthält jedoch nicht die Aktionen, die ein Benutzer auf einer Registerkarte ausführt. Wenn Sie die Schaltfläche "Zurück" verbessern möchten, können Sie Ihren eigenen internen Navigationsstapel verwalten und einen benutzerdefinierten Handler für die Auswahl der Zurück-Schaltfläche konfigurieren. Dies kann über die registerBackButtonHandler()
-Funktion im pages.backStack
-Namespace erreicht werden.
Nachdem Sie den Handler registriert haben, hilft es Ihnen, die Navigationsanforderung zu behandeln, bevor das System eine Aktion ausführt. Wenn der Handler in der Lage ist, die Anforderung zu verwalten, sollte er zurückgeben true
, damit das System weiß, dass keine weitere Aktion erforderlich ist. Wenn der interne Stapel leer ist, sollte er zurückgegeben false
werden, damit das System stattdessen die navigateBack()
Funktion aufrufen und die entsprechende Aktion ausführen kann.
Zurückgeben des Fokus auf die Host-App
Nachdem der Benutzer mit der Verwendung von Elementen auf einer Registerkarte begonnen hat, bleibt der Fokus standardmäßig bei den Elementen Ihres iFrames, bis der Benutzer außerhalb des Elements auswählt. Wenn der iFrame teil des Benutzers ist, der mit Tastenkombinationen (TAB-TASTE oder F6-Taste) navigiert, können Sie sich auf die Host-App konzentrieren. Sie können sich mit der -Funktion auf die pages.returnFocus()
Host-App konzentrieren. Die returnFocus()
-Funktion akzeptiert einen Booleschen Wert, der die Richtung angibt, in der der Host-App false
true
den Fokus vor und rückwärts verschoben werden soll. Im Allgemeinen hebt Vorwärts die Suchleiste hervor, und rückwärts hebt die App-Leiste hervor.
Deep-Link zu einem Chat mit der Anwendung
Sie können App-Benutzern erlauben, zu einem persönlichen Chat mit der Anwendung zu navigieren, indem Sie den Deep Link manuell konfigurieren.
https://teams.microsoft.com/l/entity/<appId>/conversations?tenantId=<tenantId>
appId
ist Ihre Anwendungs-ID. Weitere Informationen finden Sie unter App-ID für verschiedene Arten von Apps.
Freigeben eines Deep-Links für eine Registerkarte
Sie können Deep-Links zu Entitäten in Teams-Apps freigeben, um zu den Inhalten und Informationen in Ihrer Registerkarten-App zu navigieren. Wenn Ihre Registerkarten-App beispielsweise eine Aufgabenliste enthält, können Teammitglieder Links zu einzelnen Aufgaben erstellen und freigeben. Wenn der App-Benutzer den Link auswählt, navigiert er zu Ihrer Registerkarte, die sich auf das jeweilige Element konzentriert.
Fügen Sie jedem Element eine Aktion zum Kopieren eines Links hinzu, ganz gleich, wie es für Ihre Benutzeroberfläche am besten geeignet ist. Wenn der Benutzer diese Aktion ausführt, rufen Sie auf pages.shareDeepLink()
, um ein Dialogfeld anzuzeigen, das einen Link enthält, den der Benutzer in die Zwischenablage kopieren kann. Wenn Sie diesen Aufruf ausführen, übergeben Sie eine ID für Ihr Element. Sie erhalten sie wieder im Kontext , wenn dem Link gefolgt wird und Ihre Registerkarte erneut geladen wird.
pages.shareDeepLink({ subPageId: <subPageId>, subPageLabel: <subPageLabel>, subPageWebUrl: <subPageWebUrl> })
Sie müssen die folgenden Parameter durch die entsprechenden Informationen ersetzen:
Parametername | Beschreibung |
---|---|
subPageId |
Ein eindeutiger Bezeichner für das Element auf Ihrer Seite, mit dem Sie Deep Linking erstellen. |
subPageLabel |
Eine Bezeichnung für das Element, das zum Anzeigen des Deep-Links verwendet werden soll. |
subPageWebUrl |
Eine Fallback-URL, die verwendet werden soll, wenn der Client die Seite nicht rendern kann. |
Weitere Informationen finden Sie unter pages.shareDeepLink().For more information, see pages.shareDeepLink().
Hinweis
- Dieser Deep Link unterscheidet sich von den Links, die vom Menüelement Link auf Registerkarte kopieren bereitgestellt werden, das nur einen Deep-Link generiert, der auf diese Registerkarte verweist.
-
shareDeepLink
funktioniert nicht auf mobilen Teams-Plattformen.
Deep-Link für SharePoint-Framework Registerkarten
Deeplinks für SharePoint-Framework (SPFx)-Registerkarten ermöglichen Es Benutzern, direkt zu bestimmten Registerkarten innerhalb einer SharePoint-Website oder Teams-App zu navigieren. Dadurch wird die Benutzerfreundlichkeit verbessert, indem schneller Zugriff auf relevante Inhalte und Funktionen bereitgestellt wird.
Sie können das folgende Deep Link-Format in einem Bot, Connector oder einer Nachrichtenerweiterung Karte verwenden:
https://teams.microsoft.com/l/entity/<appId>/<EntityId>?webUrl=<entityWebUrl>/<EntityName>
.
Hinweis
- Wenn ein Bot eine
TextBlock
Nachricht mit einem Deep-Link sendet, wird eine neue Browserregisterkarte geöffnet, wenn Benutzer den Link auswählen. Dies erfolgt in der Chrome und Microsoft Teams Desktop-App, die unter Linux ausgeführt wird. - Wenn der Bot dieselbe Deep Link-URL in einem
Action.OpenUrl
sendet, wird die Registerkarte Teams im aktuellen Browser geöffnet, wenn der Benutzer den Link auswählt. Es wird keine neue Browserregisterkarte geöffnet.
Abfrageparameter
Wert | Beschreibung |
---|---|
APP_ID |
Ihre Manifest-ID. Beispiel: fxxxxxxx-0xxx-4xxx-8xxx-cxxxxxxxxxxx |
entityID |
Die Element-ID, die Sie beim Konfigurieren der Registerkarte angegeben haben. Beispiel: tasklist123 |
entityWebUrl |
Eine Fallback-URL, die verwendet werden soll, wenn der Client das Rendern der Registerkarte nicht unterstützt. Beispiel: https://tasklist.example.com/123 oder https://tasklist.example.com/list123/task456 |
entityName |
Eine Bezeichnung für das Element auf Der Registerkarte, die beim Anzeigen des Deep-Links verwendet werden soll. Beispiel: Task List 123 oder Task 456 |
Deep-Link zum Öffnen eines Dialogfelds
Ein Deep Link für Dialoge ist eine Serialisierung des TaskInfo
-Objekts mit zwei weiteren Details, und APP_ID
optional .BOT_APP_ID
https://teams.microsoft.com/l/task/APP_ID?url=<TaskInfo.url>&height=<TaskInfo.height>&width=<TaskInfo.width>&title=<TaskInfo.title>&completionBotId=BOT_APP_ID
https://teams.microsoft.com/l/task/APP_ID?card=<TaskInfo.card>&height=<TaskInfo.height>&width=<TaskInfo.width>&title=<TaskInfo.title>&completionBotId=BOT_APP_ID
Die Datentypen und zulässigen Werte für <TaskInfo.url>
, , <TaskInfo.card>
<TaskInfo.height>
, <TaskInfo.width>
und <TaskInfo.title>
finden Sie unter TaskInfo-Objekt.
Tipp
Codieren Sie die Deep Link-URL, wenn Sie den card
Parameter verwenden, z. B. die JavaScript-FunktionencodeURI()
.
Die folgende Tabelle enthält Informationen zu APP_ID
und BOT_APP_ID
:
Wert | Typ | Erforderlich | Beschreibung |
---|---|---|---|
APP_ID |
string | Ja | – Verwenden Sie für Apps von Drittanbietern die App id aus dem Manifest oder aus dem APP_ID Teams Admin Center, da sie identisch sind. – Verwenden Sie für benutzerdefinierte Apps oder benutzerdefinierte Apps, die für Ihre Organisation (BRANCHEN-Apps) erstellt wurden, das aus dem APP_ID Teams Admin Center oder die Graph-API. – Das validDomains-Array im Manifest für APP_ID muss die Domäne für url enthalten, wenn url in der Deep-Link-URL vorhanden ist. Die App-ID ist bereits bekannt, wenn ein Dialogfeld von einer Registerkarte oder einem Bot aufgerufen wird, weshalb es nicht in TaskInfo enthalten ist. |
BOT_APP_ID |
string | Nein | Wenn ein Wert für completionBotId angegeben wird, wird das result Objekt mithilfe einer task/submit invoke Nachricht an den angegebenen Bot gesendet. Geben Sie BOT_APP_ID im Manifest der App als Bot an, den Sie nicht an einen Bot senden können. |
Hinweis
APP_ID
und BOT_APP_ID
können in vielen Fällen identisch sein, wenn eine App über einen empfohlenen Bot verfügt, der als APP-ID verwendet werden soll, und wenn es einen gibt.
Deep-Link zum Freigeben von Inhalten in der Besprechungsphase
Sie können auch einen Deep-Link generieren, um die App zu teilen, um eine Besprechung zu starten oder zu starten.
Deep-Links zum Freigeben von Inhalten für die Staging finden Sie unter Deep-Link zum Freigeben von Inhalten für die Bühne in Besprechungen.
Hinweis
- Das Generieren eines Deep-Links zum Freigeben von Inhalten für besprechungsbezogene Besprechungen ist nur in der öffentlichen Entwicklervorschau verfügbar.
- Deep-Link zum Freigeben von Inhalten für die Besprechung wird nur im Teams-Desktopclient unterstützt.
Deep-Link zum Besprechungsseitenbereich
Sie können einen Deep-Link zum Besprechungsseitenbereich in einer Besprechung generieren.
Verwenden Sie das folgende Format für einen Deep-Link zum Seitenbereich der Besprechung:
https://teams.microsoft.com/l/entity/<appId>/<entityId>?webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>
.
Standardmäßig wird ein Deep-Link in einem Besprechungsseitenbereich geöffnet. Um einen Deep-Link direkt in einer App anstelle des Besprechungsseitenbereichs zu öffnen, fügen Sie wie openInMeeting=false
im folgenden Deep-Link-Format gezeigt hinzu:
https://teams.microsoft.com/l/entity/<appId>/<entityId>?webUrl=<entityWebUrl>&label=<entityLabel>&context=<context>&openInMeeting=false
Weitere Informationen finden Sie unter Deep-Link zu einer Registerkarte.
In den folgenden Szenarien wird kein Deep-Link im Besprechungsseitenbereich geöffnet:
- Es gibt keine aktive Besprechung.
- Für die App ist im App-Manifest kein
sidePanel
Kontext deklariert. -
openInMeeting
wird im Deep-Link auffalse
festgelegt. - Der Deep-Link wird außerhalb des Besprechungsfensters oder der Komponente ausgewählt.
- Der Deep-Link stimmt nicht mit der aktuellen Besprechung überein, z. B. wenn der Deep Link aus einer anderen Besprechung erstellt wird.
Deep-Link zum Aufrufen von Stageview
Sie können Stageview über einen Deep-Link von Ihrer Registerkarte aufrufen, indem Sie die Deep Link-URL in der app.openLink(url)
API umschließen. Der Deep-Link kann auch durch eine OpenURL
-Aktion auf der Karte übergeben werden. Die openMode
in der API definierte Eigenschaft bestimmt die Stageview-Antwort. Weitere Informationen finden Sie unter Aufrufen von Stageview über deep link.
Bewährte Methoden
- DeepLinks funktionieren nur ordnungsgemäß, wenn die Registerkarte mit der Bibliothek v0.4 oder höher konfiguriert wurde, da sie über eine Entitäts-ID verfügt. Deep-Links zu Registerkarten ohne Entitäts-IDs wechseln weiterhin zur Registerkarte, können aber nicht den Sub'EntityId für die Registerkarte angeben.
- In Microsoft Windows kann Teams aufgrund des Grenzwerts in der Windows ShellExecuteEx-API keine Deep-Links verarbeiten, die
INTERNET_MAX_URL_LENGTH
2048 Zeichen überschreiten. - Stellen Sie beim Erstellen eines Deep-Links sicher, dass der Pfad zum Teams-Client und andere Metadaten innerhalb dieses Grenzwerts passen.
- Wenn Ihr Deep Link große Daten enthält, fügen Sie einen eindeutigen Bezeichner in den Link ein, den Ihre App zum Abrufen der erforderlichen Daten aus Ihrem Back-End-Dienst verwenden kann.
Codebeispiel
Beispielname | Beschreibung | .NET | Node.js |
---|---|---|---|
Deep Link-Nutzung subEntityId |
In diesem Beispiel wird gezeigt, wie Sie einen Deep-Link aus einem Botchat zu einer Registerkarte verwenden, die verwendet subEntityId . Außerdem werden Deep-Links für Folgendes angezeigt:– Navigieren zu einer App – Navigieren zu einem Chat – Dialogfeld "Profil öffnen" – Öffnen eines Planungsdialogfelds |
View | View |
Registerkarten-App-Navigation | In diesem Beispiel wird gezeigt, wie Sie innerhalb der App zwischen Registerkarten navigieren. | – | View |