홈페이지

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

홈페이지는 하나 이상의 맥락이 아닌 카드를 정의할 수 있는 새로운 Google Workspace 부가기능 기능입니다. 컨텍스트가 아닌 카드는 사용자가 Gmail 받은편지함을 보고 있지만 메시지나 초안을 열지 않은 경우와 같이 특정 컨텍스트 외부에 있는 경우 사용자 인터페이스를 표시하는 데 사용됩니다.

홈페이지를 통해 빠른 액세스 측면 패널(Keep, Calendar, Tasks)의 Google 앱과 마찬가지로 컨텍스트가 아닌 콘텐츠를 표시할 수 있습니다. 또한 홈페이지는 사용자가 부가기능을 처음 여는 시점에 활용할 수 있고, 신규 사용자에게 부가기능과 상호작용하는 방법을 교육하는 데도 유용합니다.

프로젝트 매니페스트에 부가기능을 지정하고 homepageTrigger 함수를 하나 이상 구현하여 부가기능의 홈페이지를 정의할 수 있습니다 (홈페이지 구성 참고).

부가기능이 확장되는 각 호스트 애플리케이션에 하나씩 여러 개의 홈페이지가 있을 수 있습니다. 또한 맞춤 홈페이지를 지정하지 않은 호스트에서 사용되는 단일 기본 홈페이지를 정의할 수도 있습니다.

다음 조건 중 하나가 충족되면 부가기능 홈페이지가 표시됩니다.

  • 부가기능이 호스트에서 처음 열릴 때 (승인 후)
  • 부가기능이 열려 있을 때 사용자가 컨텍스트 컨텍스트에서 컨텍스트가 아닌 컨텍스트로 전환할 때 예를 들어 Calendar 일정 수정에서 기본 Calendar로 변경 등이 있습니다.
  • 사용자가 내부 스택에서 다른 모든 카드를 꺼낼 수 있도록 충분히 뒤로 버튼을 클릭합니다.
  • 컨텍스트가 아닌 카드의 UI 상호작용으로 인해 Navigation.popToRoot() 호출이 발생하는 경우

홈페이지 디자인은 필수는 아니지만 적극 권장됩니다. 반드시 정의되지 않으면 사용자가 홈페이지로 이동할 때마다 부가기능 이름이 포함된 일반 카드가 사용됩니다.

홈페이지 구성

Google Workspace 부가기능은 addOns.common.homepageTrigger 필드를 사용하여 부가기능 매니페스트에 있는 모든 호스트 애플리케이션의 기본 홈페이지 (컨텍스트 외) 부가기능 콘텐츠를 구성합니다.

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: 홈페이지 부가기능 카드를 렌더링하기 위해 Google Workspace 부가기능 프레임워크에서 호출하는 Apps Script 함수의 이름입니다. 이 함수는 홈페이지 트리거 함수입니다. 이 함수는 홈페이지 UI를 구성하는 Card 객체의 배열을 빌드하고 반환해야 합니다. 카드가 두 개 이상 반환되면 호스트 애플리케이션이 사용자가 선택할 수 있는 목록에 카드 헤더를 표시합니다 (여러 카드 반환 참고).

  • enabled: 이 범위의 홈페이지 카드를 사용 설정해야 하는지 여부입니다. 이 필드는 선택사항이며 기본값은 true입니다. false로 설정하면 모든 호스트에서 홈페이지 카드가 사용 중지됩니다 (호스트에서 재정의하지 않는 한 아래 참조).

일반 구성 외에도 각 호스트 애플리케이션 구성(addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger 등)에서 동일하게 구조화된 호스트별 재정의를 사용할 수 있습니다.

    {
      ...
      "addOns": {
        ...
        "common": {
          // By default, call 'buildHomePage' to render homepage content
          // in all hosts. Since calendar.homepageTrigger below overrides
          // this in Calendar and Drive and the homepageTrigger is disabled
          // for Gmail, this homepage function never executes.
          "homepageTrigger": { "runFunction": "buildHomePage" }
        },
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "buildDriveHomepage" }
        }
        "gmail": {
          // Disable homepage add-on content in Gmail.
          "homepageTrigger": { "enabled": false }
        },
        ...
      }
    }

이는 다음 매니페스트 발췌문과 같습니다.

    {
      ...
      "addOns": {
        ...
        "common": { /* ... */ }, // Omitted a default homepageTrigger specification.
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "myCalendarFunction" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "myDriveFunction" }
        }
        "gmail": { /* ... */ },
        ...
      }
    }

homepageTrigger 섹션은 모두 필수가 아닙니다. 그러나 특정 호스트 제품의 부가기능에 표시되는 UI는 상응하는 매니페스트 필드가 있는지, 연결된 homepageTrigger이 있는지에 따라 다릅니다. 다음 예는 다양한 매니페스트 구성을 위한 홈페이지 UI를 만들기 위해 실행되는 부가기능 트리거 함수 (있는 경우)를 보여줍니다.

홈페이지 흐름

홈페이지 이벤트 객체

호출하면 위에 설명된 홈페이지 트리거 함수 (runFunction)가 호출 컨텍스트의 데이터를 포함하는 이벤트 객체로 전달됩니다.

홈페이지 이벤트 객체에는 위젯이나 상황 정보가 포함되지 않습니다. 전달된 정보는 다음과 같은 일반 이벤트 객체 필드로 제한됩니다.

자세한 내용은 이벤트 객체를 참고하세요.

문맥이 아닌 기타 카드

부가기능 UI에는 홈페이지가 아닌 맥락이 아닌 추가 카드가 포함될 수 있습니다. 예를 들어 홈페이지에 사용자가 부가기능 설정을 조정할 수 있는 '설정' 카드를 열 수 있는 버튼이 있을 수 있습니다. 이러한 설정은 대부분의 경우 컨텍스트와 별개이므로 문맥이 아닙니다.

컨텍스트가 아닌 카드는 다른 카드처럼 빌드됩니다. 유일한 차이점은 작업이나 이벤트에서 카드를 생성하고 표시하는 것입니다. 카드 간 전환을 만드는 방법에 관한 자세한 내용은 탐색 방법을 참고하세요.