メッセージチャネルの購読および購読取り消し
次の例は、「メッセージングチャネルでの公開」の例の続きを示しており、それぞれのボタンをクリックしたときにメッセージチャネルの購読および購読取り消しを行うことができます。この JavaScript には、subscribeMC() メソッドと unsubscribeMC() メソッド、および textarea にメッセージ出力を設定する onMCPublished() があります。
カスタムメッセージチャネル $MessageChannel.SampleMessageChannel__c を変数 SAMPLEMC に読み込みます。$MessageChannel グローバル変数では、関連するメッセージチャネルの一意のトークンが作成されます。SAMPLEMC の下では、sforce.one.subscribe() メソッドから返された購読オブジェクトを保持する変数 subscriptionToMC が宣言されています。
subscribeMC() メソッドでは、購読オブジェクトが空であるかどうかがチェックされます。購読オブジェクトが空の場合は、sforce.one.subscribe() メソッドがコールされます。sforce.one.subscribe() には、購読メッセージチャネルと、メッセージ出力を処理する onMCPublished() メソッド、および {scope: "APPLICATION"} の 3 つのパラメータがあります。文字列 "APPLICATION" を設定すると、登録コンポーネントはアプリケーションの任意の場所からメッセージチャネルでメッセージを受信できます。
unsubscribeMC() メソッドでは、購読オブジェクトの有無がチェックされます。購読オブジェクトが存在する場合は、sforce.one.unsubscribe() がコールされ、subscriptionToMC オブジェクトに渡されます。次に、subscriptionToMC オブジェクトがクリアされます。
onMCPublished() メソッドでは、JSON オブジェクトのメッセージペイロードが文字列に変換されます。次に、ID が MCMessageTextArea の textarea にメッセージが表示されます。