Den benutzerdefinierten Kanal festlegen
Anwendbare Kanäle: SMS, benutzerdefiniert
Nachdem Sie nun die Teile Ihres benutzerdefinierten Kanals festgelegt haben, ist es an der Zeit, den Kanal zu definieren. In diesem Schritt verbinden Sie alle vorherigen Teile in einer Metadatendatei, die ein Datensatz der Entität Kanaldefinition (msdyn_channeldefinition
) ist.
Wichtig
Wenn Sie Metadatensätze direkt in der Anpassungsdatei konfigurieren, achten Sie darauf, dass die GUIDs in Kleinbuchstaben geschrieben sind.
Kanaldefinitionsvertrag
Der logische Name: msdyn_channeldefinition
Entitätssatzname: msdyn_channeldefinition
Attributname der primären ID: msdyn_channeldefinitionid
- msdyn‑displayname: Zeichenfolge - Optional. Der Anzeigename des Kanals.
- msdyn‑Beschreibung Zeichenfolge - Optional. Beschreibung des Kanals.
- msdyn_channeltype: Zeichenfolge - Erforderlich. Unterstützte Werte: Benutzredefiniert, SMS.
- msdyn_outboundendpointurltemplate: Zeichenfolge - Erforderlich. Name der benutzerdefinierten API für den ausgehenden Flow.
- msdyn_hasinbound:: Teil - Erforderlich. Boolescher Wert, der angibt, ob der Kanal eingehende Nachrichten unterstützt.
- msdyn_hasdeliveryreceipt:: Teil - Erforderlich. Boolescher Wert, der angibt, ob der Kanal eingehende Lieferungsnachrichten unterstützt.
- msdyn_supportsaccount:: Teil - Erforderlich. Boolescher Wert, der angibt, ob der Kanal Kontoebenenkonfiguration unterstützt. Für SMS muss er „wahr“ sein, andernfalls „falsch“.
- msdyn_channeldefinitionexternalentity:: Zeichenfolge - Erforderlich. Name der CDS-Entität, die eine erweiterte Konfiguration der Kanalinstanz darstellt.
- msdyn_channeldefinitionexternalformid:. GUID - Erforderlich: ID des Formulars, das gerendert werden soll, um die Konfiguration der erweiterten Kanalinstanztabelle anzuzeigen.
- msdyn_channeldefinitionaccountexternalentity:: Zeichenfolge - Optional. Name der CDS-Entität, die eine erweiterte Konfiguration des Kanalinstanzkontos darstellt.
- msdyn_channeldefinitionaccountexternalformid:: Zeichenfolge - Optional. ID des Formulars, das gerendert werden soll, um die Konfiguration der erweiterten Kanalinstanzkontotabelle anzuzeigen.
- msdyn_messageformid:: GUID - Optional. Definiert ein Formular, das den Nachrichteneditor für den Kanal darstellt.
Kanäle werden in der customizations.xml als Lösungskomponenten festgelegt. Platzieren Sie alle msdyn_channeldefinition unter ImportExportXml>msdyn_channeldefinitions Elementen. Jedes Nachrichtenteilelement msdyn_channeldefinition
muss eine eigene eindeutige ID in Form einer GUID als das XML-Attribut msdyn_channeldefinitionid enthalten sein. Wenn Ihre Lösung importiert wurde, wird eine neue Zeile in der Tabelle msdyn_channeldefinition erstellt.
Beachten Sie im nachstehenden Beispiel Folgendes:
- msdyn_channeldefinitionexternalentity und msdyn_channeldefinitionexternalformid enthalten den Namen und die Format-ID der Entität, die Sie erstellt haben, als Sie die Kanalinstanz festgelegt haben.
- msdyn_channeldefinitionaccountexternalentity und msdyn_channeldefinitionaccountexternalformid enthalten den Namen und die Format-ID der Entität, die Sie erstellt haben, als Sie das Kanalinstanzkonto festgelegt haben.
- msdyn_messageformid enthält die Formular-ID, die Sie erstellt haben, falls Sie einen benutzerdefinierten Nachrichteneditor festgelegt haben.
- msdyn_outboundendpointurltemplate enthält die benutzerdefinierte API, die Sie in erstellt haben, als Sie benutzerdefinierte APIs erstellt haben.
Beispiel für customizations.xml einschließlich Kanaldefinition:
<ImportExportXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<msdyn_channeldefinitions>
<msdyn_channeldefinition msdyn_channeldefinitionid="af0c2a3c-85a5-43b3-84be-2a4a171249f3">
<msdyn_channeldefinitionaccountexternalentity>cr65f_samplechannelinstanceaccount</msdyn_channeldefinitionaccountexternalentity>
<msdyn_channeldefinitionaccountexternalformid>3071133f-1208-4dc1-8eba-4d4724961029</msdyn_channeldefinitionaccountexternalformid>
<msdyn_channeldefinitionexternalentity>cr65f_samplechannelinstance</msdyn_channeldefinitionexternalentity>
<msdyn_channeldefinitionexternalformid>7d2b885a-80eb-479d-b0c3-600bc41e9789</msdyn_channeldefinitionexternalformid>
<msdyn_channeltype>Custom</msdyn_channeltype>
<msdyn_description>Metadata definition for sample custom channel</msdyn_description>
<msdyn_displayname>Sample custom channel</msdyn_displayname>
<msdyn_hasdeliveryreceipt>0</msdyn_hasdeliveryreceipt>
<msdyn_hasinbound>0</msdyn_hasinbound>
<msdyn_messageformid>69723cfe-3835-4126-ab9a-a82a5b88c21d</msdyn_messageformid>
<msdyn_outboundendpointurltemplate>/cr65f_OutboundCustomApi</msdyn_outboundendpointurltemplate>
<msdyn_specialconsentrequired>0</msdyn_specialconsentrequired>
<msdyn_supportsaccount>0</msdyn_supportsaccount>
<msdyn_supportsattachment>0</msdyn_supportsattachment>
<msdyn_supportsbinary>0</msdyn_supportsbinary>
<statecode>0</statecode>
<statuscode>1</statuscode>
</msdyn_channeldefinition>
</msdyn_channeldefinitions>
</ImportExportXml>
Beispiellösungen
Die folgenden Beispiele enthalten unverpackte Lösungen für Dataverse und Plugin-Projekte. Um diese Lösungen zu packen und zu importieren, erstellen Sie zuerst das Plugin-Projekt. Das Projekt kopiert dann die Assembly in das Lösungsprojekt. Dann verpacken Sie die Lösung mit dem Lösungspaket-Tool.
So wird das Plugin-Projekt erstellt und die Lösung verpackt
Erstellen Sie das Plug-In-Projekt mit MSBuild oder Visual Studio.
Beim Erstellen des Projekts entsteht eine DLL im Ordner „PluginAssemblies“ innerhalb des Dataverse-Lösungsordners.
Packen Sie den nicht verwalteten Ordner mit dem Solution Packager mit einer der folgenden Methoden:
- PAC CLI (bevorzugt)
- Lösungspacker
pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both