この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Open CTI で Lightning Message Service を使用するためのサンプルコード

Open CTI ソフトフォンと通信するには、Lightning Message Service API を使用します。この例では、メッセージチャネル servicedev1_SampleMC__c を登録、公開、削除する 3 つのボタンが表示されます。

Open CTI を使用するには、ソフトフォンアダプタページで opencti.js または opencti_min.js バージョン 47.0 を参照する必要があります。これらのファイルがない場合は、Salesforce 担当者にお問い合わせのうえ入手してください。

HTML ファイルの <head> には、opencti_min.js のファイルパスを指定します。

最初に、コードの JavaScript セクションで、メッセージチャネル名の変数を定義します。ここでは、メッセージチャネルの文字列 SAMPLEMC_c を変数 SAMPLEMC に割り当てます。

次に、subscription オブジェクトを保持する変数 SAMPLEMC_SUBSCRIPTION を作成して、null 値を割り当てます。

subscribeToSampleMC() メソッドは、最初に subscription 変数が空であるかどうかをチェックします。このメソッドが空の場合は、sforce.opencti.subscribe() メソッドがコールされます。

sforce.opencti.subscribe() メソッドには、次の 3 つのパラメータがあります。
channelName
メッセージチャネルの名前。
listener
メッセージがメッセージチャネルで送信されたときに呼び出されるリスナ関数。
callback
subscription オブジェクトを受信する関数。この値は、SAMPLEMC_SUBSCRIPTION などの変数に割り当てます。

subscribeToSampleMC() メソッドでは、HTML 内の <span> タグが true に設定されます。

同様に、unsubscribeToSampleMC() メソッドでは、subscription オブジェクトの有無がチェックされます。オブジェクトがある場合は、sforce.opencti.unsubscribe() がコールされます。メソッド sforce.opencti.unsubscribe() には、次の 2 つのパラメータがあります。
subscription
登録解除元である subscription オブジェクト。
callback
成功またはエラーの出力を処理する関数。
unsubscribeToSampleMC() メソッドでは、HTML 内の <span> タグが false に設定されます。

publishSampleMC() メソッドには、公開するメッセージコンテンツが渡されます。メッセージは、逐次化された JSON オブジェクトです。文字列、数字、オブジェクト、ブール値などのデータを渡すことができます。関数や記号をメッセージに含めることはできません。

この例では、メッセージに次の 3 つの文字列が含まれています。
  • 送信者の名前、「LightningMessageService_OpenCTI_TestPage」
  • メッセージの種別、「SampleMC」
  • メッセージ送信時刻
publishSampleMC() メソッドは、sforce.opencti.publish() メソッドをコールします。このメソッドには、次の 3 つのパラメータがあります。
channelName
公開先のメッセージチャネルの名前。
message
逐次化された JSON オブジェクトとして公開するメッセージ。
callback
成功またはエラーの出力を処理する関数。

HTML マークアップによって、メッセージチャネルの名前が表示され、チャネルが登録されているかどうかが示され、チャネル上で登録、登録解除、公開を行うためのボタンが表示されます。これらのボタンをクリックすると、それぞれ subscribeToSampleMC()unsubscribeToSampleMC()publishSampleMC() の各関数がコールされます。メッセージテキストが表示されるのは、idopencti_testMessageTextArea に設定されているテキストエリアです。

組織内で作成されたメッセージチャネルの使用

次の例は、組織内で開発された Lightning メッセージチャネルの使用法を示しています。

ここで、カスタム Lightning メッセージチャネルは、その名前 SAMPLEMC__c で参照されます。この構文では、LightningMessageChannel メタデータ型のカスタムインスタンスが参照されます。__c サフィックスは、カスタムであることを示しますが、カスタムオブジェクトではないことに注意してください。詳細は、「メッセージチャネルの作成」を参照してください。

自分の組織に名前空間がある場合は、その名前空間をメッセージチャネル名に含めないでください。たとえば、自分の組織の名前空間が MyNamespace であっても、メッセージチャネル名は SAMPLEMC__c のままです。

組織外で作成されたメッセージチャネルの使用

組織外の開発者が作成したパッケージからの Lightning メッセージチャネルを使用するには、構文 Namespace_name__c を使用して、それらのチャネルを参照します。たとえば、SAMPLEMC が自分の組織に対してローカルではなく、名前空間 SamplePackageNamespace を持つパッケージに由来している場合、構文は SamplePackageNamespace_SAMPLEMC_c になります。