Chatter パブリッシャーへのカスタムアプリケーションの統合
lightning:sendChatterExtensionPayload イベントと共に、lightning:availableForChatterExtensionComposer および lightning:availableForChatterExtensionRenderer インターフェースを使用して、カスタムアプリケーションを Chatter パブリッシャーに統合し、アプリケーションのペイロードを Chatter フィードに表示します。
Chatter パブリッシャーと統合されたカスタムアプリケーションの例
次の例では、3 つのカスタムアプリケーションインテグレーションがある Chatter パブリッシャーを示します。ビデオミーティングアプリケーション (1)、絵文字アプリケーション (2)、毎日の引用句を選択するアプリケーション (3) のアイコンがあります。
Chatter フィード投稿のカスタムアプリケーションペイロードの例
次の例では、Chatter フィードに含まれるカスタムアプリケーションのペイロードを示します。
次のセクションでは、カスタム引用句アプリケーションが Chatter パブリッシャーにどのように統合されたのかを示します。
1.コンポーザコンポーネントの設定
コンポーザコンポーネントでは、コンポーネントファイル、コントローラファイル、ヘルパーファイル、スタイルファイルが作成されています。
次に、quotesCompose.cmp のコンポーネントマークアップを示します。このファイルでは、lightning:availableForChatterExtensionComposer インターフェースが実装されます。
1<aura:component implements="lightning:availableForChatterExtensionComposer">
2 <aura:handler name="init" value="{!this}" action="{!c.init}"/>
3
4 <div class="container">
5 <span class="quote" aura:id="quote"></span>
6 <span class="author" aura:id="author"></span>
7 <ui:button label="Get next Quote" press="{!c.getQuote}"/>
8 </div>
9
10</aura:component>コントローラとヘルパーを使用して、コンポーザコンポーネントを初期化し、ソースから引用句を取得します。引用句を取得したら、プラットフォームでアプリケーションのペイロードを、パブリッシャーで作成されるフィード項目に関連付けることができるようにイベント sendChatterExtensionPayload を起動します。
1getQuote: function(cmp, event, helper) {
2 // get quote from the source
3 var compEvent = cmp.getEvent("sendChatterExtensionPayload");
4 compEvent.setParams({
5 "payload" : "<payload object>",
6 "extensionTitle" : "<title to use when extension is rendered>",
7 "extensionDescription" : "<description to use when extension is rendered>"
8 });
9 compEvent.fire();
10}CSS リソースをコンポーネントバンドルに追加して、コンポジションコンポーネントのスタイルを設定します。
2.レンダラコンポーネントの設定
レンダラコンポーネントでは、コンポーネントファイル、コントローラファイル、スタイルファイルが作成されています。
次に、quotesRender.cmp のコンポーネントマークアップを示します。このファイルでは、lightning:availableForChatterExtensionRenderer インターフェースが実装されます。
1<aura:component implements="lightning:availableForChatterExtensionRenderer">
2 <aura:attribute name="_quote" type="String"/>
3 <aura:attribute name="_author" type="String"/>
4 <aura:handler name="init" value="{!this}" action="{!c.init}"/>
5
6 <div class="container">
7 <span class="quote" aura:id="quote">{!v._quote}</span>
8 <span class="author" aura:id="author">--- {!v._author} ---</span>
9 </div>
10</aura:component>コントローラを使用して、lightning:availableForChatterExtensionRenderer インターフェースによって提供されるペイロードを解析し、属性を設定します。CSS リソースをレンダラバンドルに追加して、レンダラコンポーネントのスタイルを設定します。
3.新しい ChatterExtension エンティティの設定
これらのコンポーネントの作成後、ワークベンチに移動して組織にログインします。ChatterExtension エンティティを作成します。
[Data (データ)] メニューから [Insert (挿入)] を選択します。
![ワークベンチの [Data (データ)] メニューの [Insert (挿入)]](https://developer.salesforce.com/docs/resources/img/ja-jp/210.0?doc_id=images%2Fcustom_app_workbench1.png&folder=lightning)
[Object Type (オブジェクト種別)] リストから ChatterExtension を選択します。
![ワークベンチの [Object Type (オブジェクト種別)] リスト](https://developer.salesforce.com/docs/resources/img/ja-jp/210.0?doc_id=images%2Fcustom_app_workbench2.png&folder=lightning)
[Value (値)] 列で、ChatterExtension 項目の値を指定します (値と説明については「ChatterExtension」を参照)。

4.アプリケーションのパッケージ化と App Exchange へのアップロード
『ISVforce ガイド』には、アプリケーションのパッケージ化と AppExchange へのアップロードに関する有益な情報が記載されています。
5.Chatter パブリッシャーに埋め込むアプリケーションの選択
堅牢なアプリケーションのカタログがある場合、管理者ページを使用して表示するアプリケーションを選択および配置できます。最大 5 個のアプリケーションを選択し、任意の順序で配置します。ここで設定する順序によって、パブリッシャーに表示されるアイコンの順序が決まります。
コミュニティで、コミュニティワークスペースに移動して、[管理] ワークスペースをクリックします。[リッチパブリッシャーアプリケーション] をクリックして、ページを開きます。
