インタラクティブなカードの作成

ほとんどのアドオンでは、データを表示するだけでなく、ユーザーが入力する必要がある 情報です。カードベースのアドオンを作成する場合は、 インタラクティブなウィジェット(ボタン、 ツールバーのメニュー アイテム、アドオンで取得されたデータの入力をユーザーに求めるチェックボックス その他のインタラクション コントロールを提供する場合などです。

ウィジェットにアクションを追加する

ほとんどの場合、ウィジェットを 特定のアクションと、必要な動作をコールバックで実装する 使用します。詳しくは、アドオン アクションをご覧ください。

ほとんどの場合、この一般的な手順に従って、 選択または更新されたときに特定のアクションを取る:

  1. Action オブジェクトを作成します。 実行するコールバック関数と、 必須パラメータ。
  2. 適切なメソッドを呼び出して、ウィジェットを Action にリンクします。 ウィジェット ハンドラ関数
  3. コールバック関数を実装する 必要な動作を実践します。

次の例では、ユーザー通知を表示するボタンを設定しています クリックした後などですクリックにより 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 を定義します。このオブジェクトを使用して 開始と終了の動作を指定するには、 OpenAsOnClose 列挙型。

  • 複数のウィジェットで同じ Action オブジェクト。 ただし、使用する複数の Pod を Action オブジェクト(必要な場合) コールバック関数の各種パラメータを指定します。

  • コールバック関数はシンプルに記述します。アドオンの応答性を維持するため、 カードサービスは、コールバック関数を最大 30 秒まで制限します。 実行時間が長くなります。それより長くかかると、アドオン UI に レスポンスでカードの表示が正しく更新されない Action

  • ユーザーによりサードパーティのバックエンドでデータ ステータスが変更された場合 アドオン UI を操作するには、アドオン セットを使用することをおすすめします。 「状態の変化」既存のクライアント側キャッシュが復元されるように、ビットを true に設定します。 消去しました。詳しくは、 ActionResponseBuilder.setStateChanged() メソッドの説明をご覧ください。