Registerkarten für Unterhaltungen erstellen

Konversationsunterentitäten bieten eine Möglichkeit, Benutzern zu ermöglichen, Unterhaltungen über untergeordnete Entitäten auf Ihrer Registerkarte zu führen. Wie z. B. bestimmte Aufgabe, Patient und Verkaufschance, anstatt die gesamte Registerkarte zu diskutieren, auch als Entität bezeichnet. Ein herkömmlicher Kanal oder eine konfigurierbare Registerkarte ermöglicht es dem Benutzer, eine Unterhaltung über eine Registerkarte zu führen, aber der Benutzer benötigt eine fokussiertere Unterhaltung. Die Anforderung einer fokussierteren Unterhaltung kann entweder auftreten, wenn zu viel Inhalt vorhanden ist, um eine zentralisierte Diskussion zu führen, oder weil sich der Inhalt im Laufe der Zeit geändert hat, wodurch die Unterhaltung für den angezeigten Inhalt irrelevant wird. Untergeordnete Konversationen bieten eine viel fokussiertere Konversationserfahrung für dynamische Registerkarten.

Untergeordnete Konversationen werden nur in Kanälen unterstützt. Sie können auf einer persönlichen oder statischen Registerkarte verwendet werden, um Unterhaltungen in Registerkarten zu erstellen oder fortzusetzen, die bereits an einen Kanal angeheftet sind. Die statische Registerkarte ist nützlich, wenn Sie einen Speicherort für einen Benutzer zum Anzeigen und Zugreifen auf Unterhaltungen bereitstellen möchten, die über mehrere Kanäle hinweg stattfinden.

Voraussetzungen

Um untergeordnete Konversationen zu unterstützen, muss Ihre Tab-Webanwendung in der Lage sein, eine Zuordnung zwischen untergeordneten Konversationen ↔ in einer Back-End-Datenbank zu speichern. Wird conversationId bereitgestellt, aber Sie müssen diese conversationId speichern und an Teams zurückgeben, damit Benutzer die Unterhaltung fortsetzen können.

Starten einer neuen Unterhaltung

Verwenden Sie die openConversation() -Funktion, um eine neue Unterhaltung zu starten. Das Starten und Fortsetzen einer Konversation wird von dieser Methode verarbeitet. Die Eingaben für die Funktion ändern sich je nachdem, welche Aktion Sie ausführen möchten. Aus Sicht des Benutzers wird der Unterhaltungsbereich rechts vom Bildschirm geöffnet, um entweder eine Unterhaltung zu initiieren oder eine Unterhaltung fortzusetzen.

microsoftTeams.conversations.openConversation(openConversationRequest);

openConversation verwendet die folgenden Eingaben, um eine Unterhaltung in einem Kanal zu starten:

  • subEntityId: Die ID Ihrer spezifischen untergeordneten Eigenschaft. Beispiel: Task-123.
  • entityId: Die ID der Registerkarte instance, als sie erstellt wurde. Die ID ist wichtig, um auf die gleiche Registerkarte instance.
  • channelId: Der Kanal, in dem sich die Registerkarte instance befindet.

    Hinweis

    Die channelId ist für Kanalregisterkarten optional. Es wird jedoch empfohlen, wenn Sie Ihre Implementierung kanalübergreifend und statische Registerkarten unverändert lassen möchten.

  • title: Der Titel, der dem Benutzer im Chatbereich angezeigt wird.

Die meisten dieser Werte können auch aus der app.getContext() API abgerufen werden (microsoftTeams.getContext() in TeamsJS v1). Weitere Informationen finden Sie unter PageInfo-Schnittstelle.

microsoftTeams.conversations.openConversation({“subEntityId”:”task-1”, “entityId”: “tabInstanceId-1”, “channelId”: ”19:baa6e71f65b948d189bf5c892baa8e5a@thread.skype”, “title”: "Task Title”});

Die folgende Abbildung zeigt den Unterhaltungsbereich:

Unterhaltungen starten

Wenn der Benutzer eine Unterhaltung startet, ist es wichtig, auf den Rückruf dieses Ereignisses zu lauschen, um die conversationId abzurufen und zu speichern:

⁠microsoftTeams.conversations.openConversation({
    ...,
    onStartConversation: (conversationResponse) => {
        ⁠// console.log(conversationResponse)
    },
});

Das conversationResponse -Objekt enthält Informationen im Zusammenhang mit der konversation, die gestartet wurde. Es wird empfohlen, alle Eigenschaften dieses Antwortobjekts zur späteren Verwendung zu speichern.

Fortsetzen einer Unterhaltung

Nachdem eine Unterhaltung gestartet wurde, müssen Nachfolgende Aufrufe erfordern openConversation() , dass Sie auch die gleichen Eingaben wie beim Starten einer neuen Unterhaltung bereitstellen, aber auch die conversationId einschließen. Der Unterhaltungsbereich wird für die Benutzer mit der entsprechenden Unterhaltung geöffnet. Benutzer können neue oder eingehende Nachrichten in Echtzeit anzeigen.

Die folgende Abbildung zeigt den Unterhaltungsbereich mit der entsprechenden Unterhaltung:

Unterhaltungen fortsetzen

Verbessern einer Unterhaltung

Es ist wichtig, dass Ihre Registerkarte Deep-Links zu Ihrer untergeordneten Instanz enthält. Ein Benutzer, der beispielsweise den Deep-Link "Chiclet" aus der Kanalunterhaltung auswählt. Das erwartete Verhalten besteht darin, den Deep-Link zu erhalten, diese untergeordnete Entität zu öffnen und dann den Konversationsbereich für diese Untergeordneten zu öffnen.

Um konversationsunterstützte Entitäten von Ihrer persönlichen oder statischen Registerkarte zu unterstützen, müssen Sie nichts an Ihrer Implementierung ändern. Wir unterstützen nur das Starten oder Fortsetzen von Unterhaltungen von Kanalregisterkarten, die bereits angeheftet sind. Durch die Unterstützung statischer Registerkarten können Sie einen einzelnen Speicherort für Ihre Benutzer für die Interaktion mit allen untergeordneten Entitäten bereitstellen. Es ist wichtig, dass Sie , subEntityIdentityIdund channelId speichern, wenn Ihre Registerkarte ursprünglich in einem Kanal erstellt wurde, um die richtigen Eigenschaften beim Öffnen der Unterhaltungsansicht auf einer statischen Registerkarte zu erhalten.

Schließen einer Unterhaltung

Sie können die Unterhaltungsansicht manuell schließen, indem Sie die closeConversation() -Funktion aufrufen.

microsoftTeams.conversations.closeConversation();

Sie können auch auf ein Ereignis lauschen, wenn die Benutzer in der Unterhaltungsansicht Schließen (X) auswählen.

⁠microsoftTeams.conversations.openConversation({
    ...,
    onCloseConversation: (conversationResponse) => {
        ⁠// console.log(conversationResponse)
    },
});

Codebeispiel

Beispielname Beschreibung .NET Node.js Manifest
Registerkarte "Unterhaltung erstellen" Microsoft Teams-Registerkarten-Beispiel-App zur Veranschaulichung der Registerkarte "Unterhaltung erstellen". View View View

Nächster Schritt

Siehe auch