양방향 카드 빌드

대부분의 부가기능은 데이터를 표시하는 것 외에도 확인할 수 있습니다 카드 기반 부가기능을 만들 때 다음을 사용할 수 있습니다. 대화형 위젯(예: 버튼, 툴바 메뉴 항목 또는 부가기능에 표시되는 데이터를 사용자에게 묻는 체크박스 기타 상호작용 제어 기능을 제공할 수 있습니다

위젯에 작업 추가

대부분의 경우 위젯을 특정 작업 및 콜백에서 필요한 동작 구현 함수를 사용하세요. 자세한 내용은 부가기능 작업을 참고하세요.

대부분의 경우 다음과 같은 일반적인 절차에 따라 선택하거나 업데이트했을 때 특정 작업을 실행합니다.

  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() 위젯 사용 핸들러 함수를 사용합니다. 이렇게 하면 Action 객체 및 콜백 함수를 사용하세요. 먼저 URL을 만들거나 다른 추가 URL이 필요한 경우 하려면 URL을 열기 전에 Action을 사용하고 다음을 사용합니다. setOnClickOpenLinkAction() 하세요.

  • setOpenLink()를 사용하는 경우 또는 setOnClickOpenLinkAction() 핸들러 함수를 사용하기 위해 OpenLink 객체를 사용하여 열 URL을 정의합니다. 또한 이 객체를 사용하여 를 사용하여 열기 및 닫기 동작을 지정할 수 있습니다. OpenAsOnClose enum

  • 둘 이상의 위젯에서 동일한 Action 객체 하지만 각 포드에 대해 서로 다른 필요한 경우 Action 객체 콜백 함수에 다양한 매개변수를 제공합니다.

  • 콜백 함수는 단순하게 유지합니다. 애드온의 응답성을 유지하려면 카드 서비스는 콜백 함수를 실행할 수 있습니다 이보다 오래 걸리는 경우 부가기능 UI가 응답에서 카드 디스플레이를 제대로 업데이트하지 않으면 Action

  • 사용자 행위로 인해 서드 파티 백엔드의 데이터 상태가 변경되는 경우 상호작용을 원하지 않는 경우 부가기능 세트가 '상태 변경됨' 비트를 true로 설정하여 기존 클라이언트 측 캐시가 삭제되었습니다. 자세한 내용은 ActionResponseBuilder.setStateChanged() 메서드 설명을 참조하세요.