이 문서는 메시지 템플릿을 소개합니다.
이 기능을 사용하려면 카카오디벨로퍼스(Kakao Developers) 앱(애플리케이션) 설정에 플랫폼 및 도메인 등 정보를 등록해야 합니다. 자세한 내용은 애플리케이션 등록을 참고합니다.
메시지 템플릿은 카카오톡 공유와 카카오톡 메시지로 발송하는 메시지의 형식입니다. 서비스는 사용자가 발송할 메시지의 형식을 템플릿 종류 중 선택해 정하고, 세부 사항을 메시지 템플릿별 구성 요소를 설정해 조정할 수 있습니다.
카카오에서 제공하는 메시지 템플릿의 종류에 대해 안내합니다. 아래 이미지와 설명을 참고합니다.
템플릿 | 설명 |
---|---|
피드(Feed) | 이미지와 글로 구성된 기본 메시지 형식입니다. 이미지와 텍스트로 구성된 피드 A형과 이미지 아이템 또는 텍스트 아이템 리스트을 지원하는 피드 B형을 제공합니다. 스크랩 메시지는 피드 템플릿 구조를 기반으로 요청한 웹 페이지 URL에서 오픈 그래프 프로토콜(Open Graph Protocol)을 기반으로 웹 페이지 정보를 읽어와 구성한 메시지 형식입니다. 권장 용도: 단일 내용 전달 또는 웹 페이지 공유 |
리스트(List) | 한 개 이상의 콘텐츠를 세로 목록으로 표시하는 메시지 형식입니다. 각 목록은 이미지와 글로 구성할 수 있습니다. 권장 용도: 메시지 하나로 여러 개의 내용 전달 |
위치(Location) | 위치 정보를 포함한 메시지 형식입니다. 메시지에 포함된 위치 정보 버튼을 선택해 카카오맵으로 자세한 장소 정보를 확인할 수 있습니다. 권장 용도: 위치 정보를 포함한 내용 전달 |
커머스(Commerce) | 상품 가격을 포함해 상품 정보를 자세히 보여주는 메시지 형식입니다. 권장 용도: 상품의 가격 정보(정상 가격, 할인 가격, 할인율)를 포함한 내용 전달 |
텍스트(Text) | 글로만 구성된 메시지 형식입니다. 권장 용도: 텍스트로만 구성된 내용 전달 |
캘린더(Calendar) | 톡캘린더의 공개 일정 또는 구독 캘린더 정보를 포함한 메시지 형식입니다. 서비스 앱과 연결된 카카오톡 채널 정보만 포함할 수 있습니다. 권장 용도: 서비스의 일정 정보가 포함된 내용 전달 |
메시지 템플릿은 아래 두 가지 방법으로 사용할 수 있습니다.
JSON
또는 객체로 포함하는 방법입니다. 메시지의 구성 요소를 직접 지정할 수 있습니다.항목 | 사용자 정의 템플릿 |
---|---|
피드 | 사용 가능 |
리스트 | 사용 가능 |
위치 | 사용 불가 |
커머스 | 사용 가능 |
텍스트 | 사용 가능, 피드 템플릿을 편집해 등록 가능 |
캘린더 | 사용 불가 |
스크랩 | 사용 가능, 각 컴포넌트에 스크랩 기본 키 지원(참고: 스크랩 메시지) |
* 기본 템플릿은 모든 템플릿에서 사용 가능
메시지 템플릿 도구를 활용한 사용자 정의 템플릿 사용 시, 메시지의 구성 요소 중 일부 정보를 메시지 발송 시점에 실제 값으로 채워 넣을 수 있도록 변수 처리하는 기능입니다. 아래 사용 방법을 참고합니다.
${KEY}
형식으로 키를 입력합니다._
)만 사용 가능${KEY}
에 대입할 사용자 인자 값을 전달합니다.(예: {"${KEY}":"${VALUE}"}
)메시지 템플릿의 구성 요소를 설정해 원하는 형태의 메시지를 보낼 수 있습니다.
모든 메시지 템플릿은 하단에 앱 실행 링크를 포함하며, 필요에 따라 웹 페이지나 앱의 실행 경로를 담은 버튼을 추가할 수 있습니다. 이 외의 구성 요소는 메시지 종류에 따라 정해진 구성 요소의 조합으로 설정해야 합니다.
카카오톡 공유와 카카오톡 메시지 API로 이미지를 포함한 메시지를 보내려면 요청 시 각 이미지 파일의 경로(URL)를 전달해야 합니다. 사용자 기기의 이미지 저장 경로를 메시지 발송 요청에 사용할 수 없습니다. 이미지 파일의 용량은 5MB 이하여야 합니다. 이미지 파일의 경로는 카카오에서 제공하는 이미지 업로드 API를 사용해 추가할 수도 있습니다. 플랫폼별 이미지 업로드 API 사용 방법은 각 개발 가이드를 참고합니다. 카카오 서버는 업로드된 이미지를 100일간 보관한 뒤 삭제합니다.
아래는 메시지 템플릿 구성 요소의 상세 정보입니다. 클래스와 필드 이름은 REST API 기준으로 표기되어 있으며, 별도 표시된 Kakao SDK에서의 이름을 함께 참고합니다.
기본 템플릿으로 제공하는 피드 템플릿은 하나의 콘텐츠와 하나의 기본 버튼을 가집니다. 아이템, 소셜 정보, 버튼을 추가할 수 있습니다. 구성 요소는 feed Object
에서 확인할 수 있습니다.
콘텐츠의 구성에 따라 피드 A형과 피드 B형으로 나뉩니다.
🅐 이미지: 기본 1장, 사용자 정의 템플릿을 사용하는 경우 최대 3장, 최소 400x400 픽셀 이상, 최대 5MB 🅑 제목/설명: 최대 4줄 표시 (제목, 설명 각각 2줄) 🅒 소셜: 최대 3개 표시 (순서: 좋아요 > 댓글 > 공유 > 조회 > 구독) 🅓 버튼: 최대 2개 표시, 버튼명 8자 이하 권장
이미지 아이템이나 텍스트 아이템을 추가한 피드 메시지 입니다. 영수증, 메뉴, 제품 설명을 포함한 메시지를 위해 사용할 수 있습니다. 🅐부터 🅓 영역은 피드 A형과 동일합니다.
🅔 헤더 또는 프로필: 상단 문구 형식의 헤더, 또는 닉네임과 프로필 사진으로 구성된 프로필, 헤더와 프로필 중 한 가지만 사용 가능 🅕 이미지 아이템: 제목, 카테고리, 이미지로 구성된 하나의 아이템 정보 🅖 텍스트 아이템: 텍스트로 구성된 아이템 목록, 최대 5개 아이템 지원 🅗 요약 정보: 텍스트 아이템의 종합 및 요약 정보, 제목과 설명으로 구성
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
object_type SDK: objectType |
String |
템플릿 종류, feed 고정 값 |
- | O |
content | Content JavaScript: ContentObject |
메시지의 메인 콘텐츠 정보 | 🅐, 🅑 | O |
item_content | ItemContent JavaScript: ItemContentObject |
아이템 영역에 포함할 콘텐츠, 아래 ItemContent 참고 |
🅔,🅕,🅖,🅗 | X |
social | Social JavaScript: SocialObject |
콘텐츠에 대한 소셜 정보 | 🅒 | X |
button_title SDK: buttonTitle |
String |
기본 버튼 타이틀("자세히 보기")을 변경하고 싶을 때 설정 | 🅓 | X |
buttons | Buttons[] JavaScript: Array.<ButtonObject> Android, Flutter: List<Button> iOS: [Button] |
버튼 목록, 최대 2개 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용 |
🅓 | X |
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
profile_text SDK: profileText |
String |
헤더 또는 프로필 영역에 출력될 텍스트profile_image_url 값이 없을 경우, 볼드(Bold)체로 된 제목만 담은 헤더 형태로 출력됨최대 16자까지 출력 |
🅔 | X |
profile_image_url SDK: profileImageUrl |
String iOS: URL Flutter: Uri |
프로필 영역에 출력될 이미지 작은 원형의 프로필 사진 형태로 출력됨 |
🅔 | X |
title_image_text SDK: titleImageText |
String |
이미지 아이템의 제목 최대 2줄, 최대 24자까지 출력 |
🅕 | X |
title_image_url SDK: titleImageUrl |
String iOS: URL Flutter: Uri |
이미지 아이템의 이미지 iOS 108*108 , Android 98*98 크기1:1 비율이 아닌 이미지는 센터 크롭(Center crop) 방식으로 재조정됨 |
🅕 | X |
title_image_category SDK: titleImageCategory |
String |
이미지 아이템의 제목 아래에 회색 글씨로 출력되는 카테고리 정보 최대 한 줄, 최대 14자까지 출력 |
🅕 | X |
items | ItemInfo[] JavaScript: Array.<ItemObject> Android, Flutter: List<ItemInfo> iOS: [ItemInfo] |
각 텍스트 아이템 정보 아이템 이름과 가격에 해당하는 item , item_op 를 포함한 JSON 배열, 최대 5개의 아이템 지원아래 items: 텍스트 아이템 정보 참고 (예: [{"item": "item1 name", "item_op": "item1_description"}, {"item": "item2 name", "item_op": "item2_description"}] ) |
🅖 | X |
sum | String |
주문금액, 결제금액 등 아이템 영역의 요약 정보 제목 텍스트 아이템 영역 아래에 최대 6자까지 출력 중요: 🅖 영역에 하나 이상의 아이템이 있고, sum 과 sum_op 값을 모두 전달해야 🅗 영역이 출력됨참고: 🅗 영역 사용 시 🅖, 🅗 영역의 item_op , sum_op 는 오른쪽 정렬되고, 미사용 시에는 왼쪽 정렬됨 |
🅗 | X |
sum_op SDK: sumOp |
String |
아이템 영역의 가격 합산 정보 텍스트 아이템 영역 아래에 볼드체로 최대 11자까지 출력 중요: 🅖 영역에 하나 이상의 아이템이 있고, sum 과 sum_op 값을 모두 전달해야 🅗 영역이 출력됨참고: 🅗 영역 사용 시 🅖, 🅗 영역의 item_op , sum_op 는 오른쪽 정렬되고, 미사용 시에는 왼쪽 정렬됨 |
🅗 | X |
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
item | String |
아이템 이름 최대 6자까지 출력 |
🅖 | O |
item_op SDK: itemOp |
String |
아이템 가격 사용 가능한 문자: 숫자, 통화기호, 쉼표(,), 마침표(.), 띄어쓰기 소수 단위 금액을 포함한 경우, 소수점 아래 2자리까지만 사용 권장 최대 2줄, 1줄인 경우 최대 14자, 2줄인 경우 최대 25자까지 출력 |
🅖 | O |
리스트 템플릿은 메시지 상단에 노출되는 헤더 타이틀과, 콘텐츠 목록, 버튼으로 구성됩니다. 헤더와 콘텐츠 각각의 링크를 설정할 수 있습니다. 피드 템플릿과 마찬가지로 하나의 기본 버튼을 가지며 버튼을 추가할 수 있습니다. 구성 요소는 list Object
에서 확인할 수 있습니다.
🅐 헤더 🅑 아이템 리스트: 기본 템플릿의 경우 최대 3개, 사용자 정의 템플릿의 경우 최대 5개 목록 표시 🅒 제목/설명: 최대 3줄 표시 (제목 2줄, 설명 1줄) 🅓 이미지: 목록별 하나의 이미지 표시, 최소 200x200 픽셀 이상, 5MB이하 🅔 버튼: 최대 2개 표시, 버튼명 8자 이하 권장
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
object_type SDK: objectType |
String |
템플릿 종류, list 고정 값 |
- | O |
header_title SDK: headerTitle |
String |
리스트 상단에 노출되는 메인 타이틀, 최대 200자 | 🅐 | O |
header_link SDK: headerLink |
Link JavaScript: LinkObject |
헤더 타이틀 내용에 해당하는 링크 정보 | 🅐 | O |
contents | Content[] JavaScript: Array.<ContentObject> Android, Flutter: List<Content> iOS: [Content] |
리스트에 노출되는 콘텐츠 목록, 2개 이상 필수, 최대 3개 | 🅑 | O |
button_title SDK: buttonTitle |
String |
기본 버튼 타이틀("자세히 보기")을 변경하고 싶을 때 설정 | 🅔 | X |
buttons | Buttons[] JavaScript: Array.<ButtonObject> Android, Flutter: List<Button> iOS: [Button] |
버튼 목록, 최대 2개 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용 |
🅔 | X |
* Kakao SDK for JavaScript로 카카오톡 메시지 요청 시, 필드명에 REST API와 동일하게 스네이크 케이스(Snake case) 적용
* header_image_url, header_image_width, header_image_height: Deprecated, 헤더 영역 배경 이미지, 공지 참고
기본 템플릿으로만 제공하는 위치 템플릿은 지도 표시에 사용되는 주소 정보와 해당 위치를 설명하는 콘텐츠로 구성됩니다. 왼쪽 하단에 기본 버튼, 오른쪽 하단에 지도를 보여주기 위한 [위치 보기] 버튼이 추가됩니다. [위치 보기] 버튼을 클릭하면 카카오톡 채팅방 내에서 바로 지도 화면으로 전환하여 해당 주소의 위치를 확인할 수 있습니다. 구성 요소는 location Object
에서 확인할 수 있습니다.
🅐 이미지: 최대 1장 표시, 800x800 픽셀 이상 권장 🅑 제목/설명: 최대 4줄 표시 (제목, 설명 각각 2줄) 🅒 소셜: 최대 3개 표시 (순서: 좋아요 > 댓글 > 공유 > 조회 > 구독) 🅓 버튼: 최대 2개 표시, 버튼명 8자 이하 권장
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
object_type SDK: objectType |
String |
템플릿 종류, location 고정 값 |
- | O |
address | String |
공유할 위치의 주소 (예: 경기 성남시 분당구 판교역로 235) |
- | O |
address_title SDK: addressTitle |
String |
카카오톡 내의 지도 뷰에서 사용되는 타이틀 (예: 카카오판교오피스) |
- | X |
content | Content JavaScript: ContentObject |
위치에 대해 설명하는 콘텐츠 정보 | 🅐, 🅑 | O |
social | Social JavaScript: SocialObject |
부가적인 소셜 정보 | 🅒 | X |
button_title SDK: buttonTitle |
String |
기본 버튼 타이틀("자세히 보기")을 변경하고 싶을 때 설정 | 🅓 | X |
buttons | Buttons[] JavaScript: Array.<ButtonObject> Android, Flutter: List<Button> iOS: [Button] |
버튼 목록, 최대 2개 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용 |
🅓 | X |
커머스 메시지는 이미지, 상품 정보, 콘텐츠, 버튼의 조합으로 구성됩니다. 기본 템플릿으로 제공하는 커머스 템플릿은 하나의 상품 정보를 버튼 하나와 같이 담을 수 있으며, 여러 개의 상품 정보를 보여주고 싶다면 사용자 정의 템플릿으로 구성해야 합니다. 상품 정보를 위한 구성 요소는 commerce Object
에서 확인할 수 있습니다.
🅐 이미지: 최대 1장 표시, 800x800 픽셀 이상 권장 🅑 상품명: 상품 이름, 최대 2줄 출력 🅒 상품 정보: 할인 가격(통화 단위와 위치 변경 가능), 정상 가격, 할인율 🅓 콘텐츠: 제품 설명, 최대 2줄 표시 🅔 버튼: 최대 2개 표시, 버튼명 8자 이하 권장
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
object_type SDK: objectType |
String |
템플릿 종류, commerce 고정 값 |
- | O |
content | Content JavaScript: ContentObject |
메시지의 콘텐츠 정보 | 🅐, 🅓 | O |
commerce | Commerce JavaScript: CommerceObject |
상품 이름 및 가격 정보, 하위 Commerce 참고 | 🅒 | O |
button_title SDK: buttonTitle |
String |
기본 버튼 타이틀("자세히 보기")을 변경하고 싶을 때 설정 | 🅔 | X |
buttons | Buttons[] JavaScript: Array.<ButtonObject> Android, Flutter: List<Button> iOS: [Button] |
버튼 목록, 최대 2개 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용 |
🅔 | X |
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
product_name SDK: productName |
String |
상품 이름 및 제목, 최대 2줄 출력 상품 가격보다 위에 검은 글씨로 출력 |
🅑 | X |
regular_price SDK: regularPrice |
Int |
정상 가격 | 🅒 | O |
discount_price SDK: discountPrice |
Int |
할인된 가격 | 🅒 | X |
discount_rate SDK: discountRate |
Int iOS: NSNumber |
할인률 | 🅒 | X |
SDK: fixedDiscountPrice | Int |
정액 할인 가격, 할인율과 동시 사용 불가 | 🅒 | X |
currency_unit SDK: currencyUnit |
String |
통화 단위 또는 기호 (예: 원, USD, ₩, $ 등) (기본값: 원) |
🅒 | X |
currency_unit_position SDK: currencyUnitPosition |
Int |
통화 단위 표시 위치 0 : 가격 뒤에 표시1 : 가격 앞에 표시 (기본값: 0 ) |
- | X |
기본 템플릿으로 제공하는 텍스트 템플릿은 텍스트 영역과 하나의 기본 버튼을 가지며, 버튼을 추가할 수 있습니다. 구성 요소는 text Object
에서 확인할 수 있습니다.
🅐 텍스트: 최대 200자 표시 🅑 버튼: 최대 2개 표시, 버튼명 8자 이하 권장
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
object_type SDK: objectType |
String |
템플릿 종류, text 고정 값 |
- | O |
text | String |
텍스트 정보, 최대 200자 | 🅐 | O |
link | Link |
콘텐츠 클릭 시 이동할 링크 정보 | 🅐 | O |
button_title SDK: buttonTitle |
String |
기본 버튼 타이틀("자세히 보기")을 변경하고 싶을 때 설정 | 🅑 | X |
buttons | Buttons[] JavaScript: Array.<ButtonObject> Android, Flutter: List<Button> iOS: [Button] |
버튼 목록, 최대 2개 버튼 타이틀과 링크를 변경하고 싶을 때, 버튼 두 개를 넣고 싶을 때 사용 |
🅑 | X |
스크랩 메시지는 오픈 그래프 프로토콜(Open Graph Protocol) 기반의 웹 페이지 스크랩 정보를 담은 이미지, 제목, 설명, 링크의 조합으로 구성됩니다.
🅐 이미지: 스크랩한 웹 페이지 대표 이미지 표시 🅑 제목/설명: 최대 4줄 표시 (제목, 설명 각각 2줄 표시) 🅒 버튼: 버튼명은 "${SCRAP_HOST}에서 확인" 형식으로 스크랩한 웹 페이지에서 지정한 이름 표시, 버튼 클릭 시 스크랩한 웹 페이지로 이동
아래 기본 키는 웹 페이지 스크랩 정보를 위해 이미 할당되어 있으므로 다른 사용자 인자 키로 사용할 수 없습니다. 요청한 웹 페이지가 오픈 그래프 메타 태그값을 포함한 경우, 각 키 값에 아래와 같이 적용됩니다.
키 | 설명 | 영역 |
---|---|---|
ⓐ ${SCRAP_IMAGE} ${SCRAP_IMAGE_WIDTH} ${SCRAP_IMAGE_HEIGHT} |
og:image 으로 지정된 웹 페이지의 대표 이미지 |
🅐 |
ⓑ ${SCRAP_IMAGE_DURATION} |
og:music:duration , og:vedio:duration 으로 지정된 비디오나 음악의 재생 시간 |
🅐 |
ⓒ ${SCRAP_TITLE} |
og:title 로 지정된 웹 페이지의 제목 |
🅑 |
ⓒ ${SCRAP_DESCRIPTION} |
og:description 으로 지정된 웹 페이지에 대한 설명 |
🅑 |
ⓓ ${SCRAP_HOST} |
og:site_name 으로 지정된 웹 페이지의 이름지정하지 않을 경우, 요청한 웹 페이지의 사이트 도메인 표시 |
🅒 |
ⓓ ${SCRAP_REQUESTED_URL} |
스크랩 요청한 주소의 URL 스크랩 메시지의 구성 요소(🅐이미지, 🅑제목/설명, 🅒버튼) 클릭 시 해당 URL로 이동 |
- |
내 애플리케이션 설정에 등록된 도메인만 스크랩 및 전송 가능합니다. 도메인은 카카오디벨로퍼스의 [내 애플리케이션] > [플랫폼] > [Web] 메뉴에서 등록할 수 있습니다.
캘린더 메시지는 톡캘린더의 구독 캘린더 또는 공개 일정 정보, 이미지, 버튼으로 구성됩니다. 구성 요소는 calendar Object
에서 확인할 수 있습니다.
🅐 이미지: 최대 1장 🅑 제목/설명: 최대 4줄 표시 (제목, 설명 각각 2줄) 🅒 버튼: 최대 2개 표시, 기본 버튼 1개와 사용자 정의 버튼 1개로 구성
이름 | 타입 | 설명 | 영역 | 필수 |
---|---|---|---|---|
object_type | String |
템플릿 종류, calendar 고정 값 |
- | O |
id_type | String iOS: IdType |
id 의 타입, event (공개 일정) 또는 calendar (구독 캘린더) 중 하나중요: id_type 에 따라 🅒의 기본 버튼이 아래의 지정된 문구로 출력됨공개 일정 ID: [일정 등록 하기] 구독 캘린더 ID: [캘린더 구독하기] |
- | O |
id | String |
공개 일정 또는 구독 캘린더 ID | - | O |
content | Content JavaScript: ContentObject |
일정 제목과 설명 | 🅐, 🅑 | O |
buttons | Buttons[] JavaScript: Array.<ButtonObject> Android, Flutter: List<Button> iOS: [Button] |
사용자 정의 버튼 정보, 최대 1개의 버튼 정보만 사용됨 캘린더 메시지는 기본적으로 공개 일정 추가 또는 구독 캘린더 구독을 위한 기본 버튼을 제공하고, 1개의 사용자 정의 버튼을 선택적으로 추가 가능 |
🅒 | X |
아래는 여러 종류의 메시지 템플릿에 공통적으로 사용되는 객체의 구성 정보입니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
title | String |
콘텐츠의 타이틀 | O* |
image_url SDK: imageURL |
String iOS: URL |
콘텐츠의 이미지 URL | O* |
image_width SDK: imageWidth |
Int JavaScript: Number |
콘텐츠의 이미지 너비, 픽셀 단위 | X |
image_height SDK: imageHeight |
Int JavaScript: Number |
콘텐츠의 이미지 높이, 픽셀 단위 | X |
description | String |
콘텐츠의 상세 설명, title과 합쳐 최대 4줄 표시 | O* |
link | Link JavaScript: LinkObject |
콘텐츠 클릭 시 이동할 링크 정보 | O |
* title, image_url, description 중 하나 필수
콘텐츠의 내용을 담고 있는 오브젝트입니다. 이미지는 URL로 전달해야 하며, 아래와 같은 조건을 만족해야 합니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
like_count SDK: likeCount |
Int JavaScript: Number |
콘텐츠의 좋아요 수 | X |
comment_count SDK: commentCount |
Int JavaScript: Number |
콘텐츠의 댓글 수 | X |
shared_count SDK: sharedCount |
Int JavaScript: Number |
콘텐츠의 공유 수 | X |
view_count SDK: viewCount |
Int JavaScript: Number |
콘텐츠의 조회 수 | X |
subscriber_count SDK: subscriberCount |
Int JavaScript: Number |
콘텐츠의 구독 수 | X |
좋아요 수, 댓글 수 등의 소셜 정보를 표현하기 위해 사용되는 오브젝트입니다. 5개의 속성 중 최대 3개까지만 표시해 줍니다. 우선 순위는 Like > Comment > Shared > View > Subscriber
순서입니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
title | String |
버튼의 타이틀 | O |
link | Link JavaScript: LinkObject |
버튼 클릭 시 이동할 링크 정보(하나는 필수로 존재해야 함) | O |
메시지 구성 시 buttonTitle
, buttons
모두 주어졌다면 buttons
를 우선 사용합니다. 둘 다 주어지지 않았을 때에는 기본 타이틀과 content
에 있는 link
정보로 버튼 하나가 구성됩니다.
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
web_url SDK: webURL |
String iOS: URL Flutter: Uri |
PC버전 카카오톡에서 사용하는 웹 링크 URL 도메인 부분은 [내 애플리케이션] > [플랫폼] > [Web]에서 등록한 사이트 도메인과 일치해야 함 |
O* |
mobile_web_url SDK: mobileWebURL |
String iOS: URL Flutter: Uri |
모바일 카카오톡에서 사용하는 웹 링크 URL 도메인 부분은 [내 애플리케이션] > [플랫폼] > [Web]에서 등록한 사이트 도메인과 일치해야 함 |
O* |
android_execution_params SDK: androidExecutionParams |
String Android, Flutter: Map<String,String> |
안드로이드 카카오톡에서 사용하는 앱 링크 URL에 사용될 파라미터 해당 값이 없을 경우 mobile_web_url 이용 |
O* |
ios_execution_params SDK: iosExecutionParams |
String Android, Flutter: Map<String,String> |
iOS 카카오톡에서 사용하는 앱 링크 URL에 사용될 파라미터 해당 값이 없을 경우 mobile_web_url 이용 |
O* |
* web_url, mobile_web_url, android_execution_params, ios_execution_params 중 하나 필수
메시지에서 콘텐츠 영역이나 버튼 클릭 시에 이동되는 링크 정보를 담은 오브젝트입니다. 플랫폼별로 각각 링크를 설정할 수 있으며, 사용자의 카카오톡 실행 환경에 따라 적합한 링크가 동작합니다. Web 링크는 PC/Mac, Android, iOS 모두 지원됩니다. Android와 iOS 링크는 해당 플랫폼에서만 버튼에 적용됩니다.
메시지에 링크를 적용하려면 link
의 필드 중 최소 하나 이상 설정 필수이며, 링크 설정이 없거나 사용자의 카카오톡 실행 환경에서 사용할 수 있는 링크 설정이 없다면 메시지 콘텐츠 영역에 링크가 적용되지 않거나 버튼이 나타나지 않습니다.
아래는 플랫폼 별 링크가 동작하는 조건입니다.
메시지에 [내 애플리케이션] > [플랫폼]에 설정되어 있지 않은 플랫폼의 링크는 사용할 수 없습니다. 앱에 설정된 플랫폼의 경우에도 해당 플랫폼의 링크를 등록하지 않으면 버튼에 적용되지 않습니다.
콘텐츠 영역과 버튼의 링크는 요청 파라미터와 앱 설정, 사용자 환경에 따라 아래 우선순위로 동작합니다.
특정 링크가 설정 되어 있지 않을 경우, 메시지 콘텐츠 영역에 링크가 적용되지 않거나 버튼이 나타나지 않습니다.
플랫폼 및 파라미터 설정 | 실제 메시지 버튼의 링크 |
---|---|
앱의 플랫폼(공통 링크): Web, Android 메시지의 링크 파라미터(버튼 링크): Android( android_execution_params ) |
버튼 출력: PC/Mac, Android, iOS 기기 모두 출력 버튼에 적용되는 링크: Android 기기에서는 Android 링크 PC/Mac, iOS 기기에서는 Web 링크(공통 링크) |
플랫폼 및 파라미터 설정 | 실제 메시지 버튼의 링크 |
---|---|
앱의 플랫폼(공통 링크): Android, iOS 메시지의 링크 파라미터(버튼 링크): Android( android_execution_params ),iOS( ios_execution_params ) |
버튼 출력: Android, iOS 기기에서만 출력 적용되는 링크: Android 기기에서는 Android 링크 iOS 기기에서는 iOS 링크 |
플랫폼 및 파라미터 설정 | 실제 메시지 버튼의 링크 |
---|---|
앱의 플랫폼(공통 링크): Web 메시지의 링크 파라미터(버튼 링크): Web( web_url , mobile_web_url ) |
버튼 출력: PC/Mac, Android, iOS 기기 모두 출력 적용되는 링크: Web 링크 |
플랫폼 및 파라미터 설정 | 실제 메시지 버튼의 링크 |
---|---|
앱의 플랫폼(공통 링크): iOS 메시지의 링크 파라미터(버튼 링크): Web( web_url , mobile_web_url ) |
버튼 출력: PC/Mac, iOS, Android 기기 모두 출력 적용되는 링크: Web 링크 |