Canvas SDK のパブリッシャーイベント
パブリッシャーでキャンバスアプリケーションを公開する場合、適切に定義されたイベントを使用して、キャンバスアプリケーションとパブリッシャー間のコミュニケーションを可能にすることができます。
キャンバスアプリケーションでこれらのイベントを登録および公開して、パブリッシャーフレームワークとさらに密接に統��することができます。たとえば、Chatter フィード項目を投稿するために、標準の Chatter [共有] ボタンを有効化することができます。また、ユーザがパブリッシャーの [今何をしていますか?] 項目に入力する投稿テキストにアクセスし、それをアプリケーションのコンテンツに結合することもできます。
| 項目 | 説明 |
|---|---|
| publisher.clearPanelState | キャンバスアプリケーションが無効化されるか非表示になったときに、パブリッシャーによって起動されます。これは、ユーザがパブリッシャーで異なるアプリケーションを選択するか、[共有] ボタンがクリックされたときに発生します。Visualforce ページも、このイベントをリスンできます。 |
| publisher.failure | 無効なデータが送信されるなど、エラー条件が発生したときに、パブリッシャーによって起動されます。次に例を示します。
キャンバスアプリケーションは、このイベントをリスンして、エラーが発生し投稿が作成されなかったことをユーザに通知する必要があります。 |
| publisher.getPayload | [共有] ボタンがクリックされたときに、パブリッシャーによって起動されます。ペイロードには、[今何をしていますか?] 項目に入力されたテキストや、フィード項目を共有するユーザなどの情報が含まれます。 |
| publisher.setupPanel | Chatter フィードページの初期読み込み時に、パブリッシャーによって起動されます。 |
| publisher.setPayload | パブリッシャーに送信中のコンテンツをフィード項目で共有する必要があることをパブリッシャーに示すために、キャンバスアプリケーションによって起動されます。このイベントは publisher.getPayload に応答するものであり、作成しようとしているフィード項目に関する情報が含まれます。次の 3 つのフィード項目種別を作成できます。
|
| publisher.setValidForSubmit | キャンバスアプリケーションでペイロードを送信する準備が整ったことをパブリッシャーに示すために、キャンバスアプリケーションによって起動されます。このイベントが起動すると、[共有] ボタンが有効になります。 次のコードスニペットは、[共有] ボタンを有効にします。
|
| publisher.showPanel | ユーザがパブリッシャーでキャンバスアプリケーションを選択すると、パブリッシャーによって起動されます。このイベントは、キャンバスアプリケーションが表示されていることを示します。Visualforce ページも、このイベントをリスンできます。 |
| publisher.success | [共有] ボタンがクリックされ、データが正常に送信されると、パブリッシャーによって起動されます。 |
パブリッシャーイベントの順序
キャンバスアプリケーションから見たパブリッシャーイベントの順序は、次のとおりです。
- キャンバスアプリケーションが publisher.setupPanel をリスンします。
- キャンバスアプリケーションが publisher.showPanel をリスンします。
- ユーザが、ボタンのクリックやテキストの入力といったキャンバスアプリケーションの操作を行います。キャンバスアプリケーションは、必要な検証を行ってから、publisher.setValidForSubmit を起動します。その結果、パブリッシャーで [共有] ボタンが有効になります。
- キャンバスアプリケーションが publisher.getPayload をリスンします。
- キャンバスアプリケーションは publisher.setPayload を起動します。
- キャンバスアプリケーションが publisher.success をリスンします。
- キャンバスアプリケーションが publisher.failure をリスンします。
- キャンバスアプリケーションが publisher.clearPanelState をリスンします。