Open CTI で Lightning Message Service を使用するためのサンプルコード
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() メソッドがコールされます。
- channelName
- メッセージチャネルの名前。
- listener
- メッセージがメッセージチャネルで送信されたときに呼び出されるリスナ関数。
- callback
- subscription オブジェクトを受信する関数。この値は、SAMPLEMC_SUBSCRIPTION などの変数に割り当てます。
subscribeToSampleMC() メソッドでは、HTML 内の <span> タグが true に設定されます。
- subscription
- 登録解除元である subscription オブジェクト。
- callback
- 成功またはエラーの出力を処理する関数。
publishSampleMC() メソッドには、公開するメッセージコンテンツが渡されます。メッセージは、逐次化された JSON オブジェクトです。文字列、数字、オブジェクト、ブール値などのデータを渡すことができます。関数や記号をメッセージに含めることはできません。
- 送信者の名前、「LightningMessageService_OpenCTI_TestPage」
- メッセージの種別、「SampleMC」
- メッセージ送信時刻
- channelName
- 公開先のメッセージチャネルの名前。
- message
- 逐次化された JSON オブジェクトとして公開するメッセージ。
- callback
- 成功またはエラーの出力を処理する関数。
HTML マークアップによって、メッセージチャネルの名前が表示され、チャネルが登録されているかどうかが示され、チャネル上で登録、登録解除、公開を行うためのボタンが表示されます。これらのボタンをクリックすると、それぞれ subscribeToSampleMC()、unsubscribeToSampleMC()、publishSampleMC() の各関数がコールされます。メッセージテキストが表示されるのは、id が opencti_testMessageTextArea に設定されているテキストエリアです。
例
組織内で作成されたメッセージチャネルの使用
ここで、カスタム Lightning メッセージチャネルは、その名前 SAMPLEMC__c で参照されます。この構文では、LightningMessageChannel メタデータ型のカスタムインスタンスが参照されます。__c サフィックスは、カスタムであることを示しますが、カスタムオブジェクトではないことに注意してください。詳細は、「メッセージチャネルの作成」を参照してください。
自分の組織に名前空間がある場合は、その名前空間をメッセージチャネル名に含めないでください。たとえば、自分の組織の名前空間が MyNamespace であっても、メッセージチャネル名は SAMPLEMC__c のままです。
組織外で作成されたメッセージチャネルの使用
組織外の開発者が作成したパッケージからの Lightning メッセージチャネルを使用するには、構文 Namespace_name__c を使用して、それらのチャネルを参照します。たとえば、SAMPLEMC が自分の組織に対してローカルではなく、名前空間 SamplePackageNamespace を持つパッケージに由来している場合、構文は SamplePackageNamespace_SAMPLEMC_c になります。