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

Canvas SDK のパブリッシャーイベント

パブリッシャーでキャンバスアプリケーションを公開する場合、適切に定義されたイベントを使用して、キャンバスアプリケーションとパブリッシャー間のコミュニケーションを可能にすることができます。

キャンバスアプリケーションでこれらのイベントを登録および公開して、パブリッシャーフレームワークとさらに密接に統���することができます。たとえば、Chatter フィード項目を投稿するために、標準の Chatter [共有] ボタンを有効化することができます。また、ユーザがパブリッシャーの [今何をしていますか?] 項目に入力する投稿テキストにアクセスし、それをアプリケーションのコンテンツに結合することもできます。

項目 説明
publisher.clearPanelState キャンバスアプリケーションが無効化されるか非表示になったときに、パブリッシャーによって起動されます。これは、ユーザがパブリッシャーで異なるアプリケーションを選択するか、[共有] ボタンがクリックされたときに発生します。Visualforce ページも、このイベントをリスンできます。
publisher.failure 無効なデータが送信されるなど、エラー条件が発生したときに、パブリッシャーによって起動されます。次に例を示します。
  • フィードのテキストが長すぎる
  • フィードに公開しようとしているキャンバスアプリケーションが存在しない
  • キャンバスアプリケーション URL が無効

キャンバスアプリケーションは、このイベントをリスンして、エラーが発生し投稿が作成されなかったことをユーザに通知する必要があります。

publisher.getPayload [共有] ボタンがクリックされたときに、パブリッシャーによって起動されます。ペイロードには、[今何をしていますか?] 項目に入力されたテキストや、フィード項目を共有するユーザなどの情報が含まれます。
publisher.setupPanel Chatter フィードページの初期読み込み時に、パブリッシャーによって起動されます。
publisher.setPayload パブリッシャーに送信中のコンテンツをフィード項目で共有する必要があることをパブリッシャーに示すために、キャンバスアプリケーションによって起動されます。このイベントは publisher.getPayload に応答するものであり、作成しようとしているフィード項目に関する情報が含まれます。次の 3 つのフィード項目種別を作成できます。
  • TextPost
  • LinkPost
  • CanvasPost
publisher.setValidForSubmit キャンバスアプリケーションでペイロードを送信する準備が整ったことをパブリッシャーに示すために、キャンバスアプリケーションによって起動されます。このイベントが起動すると、[共有] ボタンが有効になります。
次のコードスニペットは、[共有] ボタンを有効にします。
publisher.showPanel ユーザがパブリッシャーでキャンバスアプリケーションを選択すると、パブリッシャーによって起動されます。このイベントは、キャンバスアプリケーションが表示されていることを示します。Visualforce ページも、このイベントをリスンできます。
publisher.success [共有] ボタンがクリックされ、データが正常に送信されると、パブリッシャーによって起動されます。

パブリッシャーイベントの順序

キャンバスアプリケーションから見たパブリッシャーイベントの順序は、次のとおりです。
  1. キャンバスアプリケーションが publisher.setupPanel をリスンします。
  2. キャンバスアプリケーションが publisher.showPanel をリスンします。
  3. ユーザが、ボタンのクリックやテキストの入力といったキャンバスアプリケーションの操作を行います。キャンバスアプリケーションは、必要な検証を行ってから、publisher.setValidForSubmit を起動します。その結果、パブリッシャーで [共有] ボタンが有効になります。
  4. キャンバスアプリケーションが publisher.getPayload をリスンします。
  5. キャンバスアプリケーションは publisher.setPayload を起動します。
  6. キャンバスアプリケーションが publisher.success をリスンします。
  7. キャンバスアプリケーションが publisher.failure をリスンします。
  8. キャンバスアプリケーションが publisher.clearPanelState をリスンします。