메뉴 (Persistent Menu / Rich Menu)

봇과의 메시지방에서 화면 아래에 표시하는 메뉴 기능이다.

  • 고정 메뉴(persistent menu): 메뉴 항목이 버튼으로 나열된 메뉴
  • 리치 메뉴(rich menu): 메뉴 항목을 임의로 설정할 수 있는 메뉴

다음과 같은 제한 사항이 있다.

  • 리치 메뉴를 등록하면 등록된 고정 메뉴가 삭제된다.
  • 리치 메뉴가 등록된 봇에서는 고정 메뉴를 등록할 수 없다. 고정 메뉴를 등록하려면 리치 메뉴를 모두 삭제해야 한다.
  • 두 개 이상의 봇이 포함된 메시지방에서는 지원하지 않는다.

고정 메뉴 {#persistent-menu}

고정 메뉴는 메시지방 화면 아래에 버튼 목록을 표시하는 간단한 메뉴다. 동작이 설정된 버튼 목록을 표시한다.

구조 {#persistentmenu-structure}

고정 메뉴에 등록된 각 항목이 버튼으로 표시된다. structure_persistentmenu

다음과 같은 제한 사항이 있다.

  • 버튼은 4개까지 등록할 수 있다.
  • PC에서 고정 메뉴는 드롭다운 목록으로 표시된다.

API를 사용하여 설정 {#persistentmenu-setting-by-api}

고정 메뉴는 봇 API를 사용하여 설정한다.

  • Persitent Menu 등록으로 고정 메뉴를 설정할 수 있다.
  • 고정 메뉴를 등록하면 모든 구성원에게 공통으로 설정된다.

그 외 고정 메뉴 API에 대한 내용은 봇 API 개요를 참고한다.


리치 메뉴 {#richmenu}

리치 메뉴는 이미지 영역에 액션을 설정할 수 있는 메뉴다. 봇 하나당 최대 1,000개의 리치 메뉴를 등록할 수 있다.

구조 {#richmenu-structure}

리치 메뉴는 이미지를 여러 영역으로 나누어 액션을 지정한다. structure_richmenu

리치 메뉴의 이미지는 모바일 환경에서만 표시되며, PC에서는 label에 입력한 텍스트 정보만 표시된다.

이미지 준비 {#richmenu-prepare-image}

리치 메뉴에서 사용할 이미지를 준비한다.

리치 메뉴의 이미지의 조건은 다음과 같다.

  • 이미지 형식: JPEG 또는 PNG
  • 이미지 크기: 2500 x 1686 또는 2500 x 843 픽셀 고정
  • 최대 파일 크기: 1MB

다음은 리치 메뉴의 이미지 샘플이다.

  • 크기: 2500 × 1686 richmenu_template_full
  • 크기: 2500 × 843 richmenu_template_half

API를 사용한 설정 {#richmenu-setting-by-api}

리치 메뉴는 봇 API를 사용하여 설정한다.

리치 메뉴의 설정 순서는 다음과 같다.

1. 이미지 업로드 {#richmenu-image-upload}

  • 봇 콘텐츠 업로드로 리치 메뉴에서 사용할 이미지를 업로드한다.
  • 업로드하여 생성한 uploadUrl 혹은 fileId는 리치 메뉴 이미지 설정 시 사용한다.

2. 리치 메뉴 생성 {#create-richmenu}

  • 리치 메뉴의 각 액션이나 영역을 결정하고 Rich Menu 생성으로 리치 메뉴를 봇에 등록한다.
  • 리치 메뉴를 등록하고 얻은 richmenuId를 사용해 리치 메뉴를 관리하거나 적용할 수 있다.

3. 리치 메뉴 이미지 설정 {#set-richmenu-image}

Rich Menu 이미지 설정으로, 2. 리치 메뉴 생성에서 등록한 리치 메뉴에 1. 이미지 업로드에서 업로드한 이미지의 fileId를 연결한다.

4. 리치 메뉴 적용 {#apply-richmenu}

리치 메뉴를 적용하는 방법에는 사용자별 적용과 기본 리치 메뉴 전체 적용, 두 가지 유형이 있다.

  • 사용자별 적용: 사용자 정의 Rich Menu 설정으로 지정된 사용자에게 적용한다.
  • 기본 리치 메뉴 전체 적용: 기본 Rich Menu 설정을 사용하여 봇의 기본 리치 메뉴로 적용하거나, 봇 수정 또는 봇 부분 수정으로 defaultRichmenuId에 richmenuId를 지정한다.

사용자별 리치 메뉴가 기본 리치 메뉴보다 우선 적용된다.

그 외 리치 메뉴와 관련된 API는 봇 API 개요를 참고한다.