ほとんどのアドオンでは、データを表示するだけでなく、ユーザーが入力する必要がある 情報です。カードベースのアドオンを作成する場合は、 インタラクティブなウィジェット(ボタン、 ツールバーのメニュー アイテム、アドオンで取得されたデータの入力をユーザーに求めるチェックボックス その他のインタラクション コントロールを提供する場合などです。
ウィジェットにアクションを追加する
ほとんどの場合、ウィジェットを 特定のアクションと、必要な動作をコールバックで実装する 使用します。詳しくは、アドオン アクションをご覧ください。
ほとんどの場合、この一般的な手順に従って、 選択または更新されたときに特定のアクションを取る:
Action
オブジェクトを作成します。 実行するコールバック関数と、 必須パラメータ。- 適切なメソッドを呼び出して、ウィジェットを
Action
にリンクします。 ウィジェット ハンドラ関数。 - コールバック関数を実装する 必要な動作を実践します。
例
次の例では、ユーザー通知を表示するボタンを設定しています
クリックした後などですクリックにより notifyUser()
コールバック関数がトリガーされる
引数で通知のテキストを指定します。ビルドされた
ActionResponse
通知が表示されます。
/**
* Build a simple card with a button that sends a notification.
* @return {Card}
*/
function buildSimpleCard() {
var buttonAction = CardService.newAction()
.setFunctionName('notifyUser')
.setParameters({'notifyText': 'Button clicked!'});
var button = CardService.newTextButton()
.setText('Notify')
.setOnClickAction(buttonAction);
// ...continue creating widgets, then create a Card object
// to add them to. Return the built Card object.
}
/**
* Callback function for a button action. Constructs a
* notification action response and returns it.
* @param {Object} e the action event object
* @return {ActionResponse}
*/
function notifyUser(e) {
var parameters = e.parameters;
var notificationText = parameters['notifyText'];
return CardService.newActionResponseBuilder()
.setNotification(CardService.newNotification()
.setText(notificationText))
.build(); // Don't forget to build the response!
}
効果的なインタラクションを設計する
インタラクティブなカードをデザインする際は、次の点に注意してください。
通常、インタラクティブなウィジェットには、ウィジェットとそのウィジェットを 確認します。
setOpenLink()
ウィジェットを使用する その URL をタブで開く場合に、ハンドラ関数を使用します。 これにより、サービス アカウント キーを定義するAction
オブジェクトとコールバック 使用します。最初に URL を作成する必要がある場合、または URL を開く前に行う手順、Action
を使用し、setOnClickOpenLinkAction()
してください。setOpenLink()
を使用する場合 またはsetOnClickOpenLinkAction()
作成するには、API 呼び出しにOpenLink
オブジェクトを使用して、開く URL を定義します。このオブジェクトを使用して 開始と終了の動作を指定するには、OpenAs
、OnClose
列挙型。複数のウィジェットで同じ
Action
オブジェクト。 ただし、使用する複数の Pod をAction
オブジェクト(必要な場合) コールバック関数の各種パラメータを指定します。コールバック関数はシンプルに記述します。アドオンの応答性を維持するため、 カードサービスは、コールバック関数を最大 30 秒まで制限します。 示されますそれより長くかかってしまうと、アドオン UI に レスポンスでカードの表示が正しく更新されない
Action
。ユーザーによりサードパーティのバックエンドでデータ ステータスが変更された場合 アドオン UI を操作するには、アドオン セットを使用することをおすすめします。 「状態の変化」既存のクライアント側キャッシュが復元されるように、ビットを
true
に設定します。 消去しました。詳しくは、ActionResponseBuilder.setStateChanged()
メソッドの説明をご覧ください。