• 서비스
  • 가격
  • 리소스
  • 기술지원

Retail E-commerce Solution and Live Integration Guide

솔루션 소개

라이브 커머스는 실시간 음성·영상 상호작용과 온라인 거래를 결합한 새로운 전자상거래 모델로, 방송 진행자가 라이브 방송을 통해 시청자에게 상품을 실시간으로 소개하고 설명하며, 댓글, 매장 고객센터 1:1 채팅 등을 통해 사용자와 상호작용함으로써 사용자 참여도와 구매 전환율을 높입니다. 소매 전자상거래 시나리오에서 라이브 시스템은 일반적으로 상품 전시, 사용자 상호작용, 주문 알림, 마케팅 활동 등 복잡한 요구사항을 충족하기 위해 낮은 지연의 음성·영상 기능, 높은 동시 접속 실시간 통신 기능, 풍부한 상호작용 및 비즈니스 메시지 동기화 기능을 동시에 갖추어야 합니다.
본 솔루션은 Tencent RTC 관련 제품(Live, Chat)을 기반으로 전자상거래 라이브 시스템 구축 과정에서 흔히 발생하는 요구 사항과 해결 방안을 체계화하여 개발자가 높은 수준의 커스터마이징 능력을 유지하면서도 신속하게 전자상거래 라이브 시스템을 구축할 수 있도록 지원합니다. 또한 Beauty AR 고급 뷰티 특수 효과 통합 가이드를 제공하여 뷰티 필터, 필터 및 애니메이션 스티커 등을 지원함으로써 리테일 전자상거래 라이브에서 요구되는 진행자 이미지와 상호작용 경험에 대한 높은 기준을 충족시킵니다. 이는 브랜드 자사 전자상거래, 프라이빗 도메인 라이브, 크로스보더 전자상거래 및 쇼핑몰 내장형 라이브 등 다양한 비즈니스 시나리오에 적용 가능합니다.


전체 아키텍처 설계

전자상거래 라이브 스트리밍 시스템은 단순히 "쇼핑 기능이 있는 라이브 방송실"이 아닌, 여러 독립적인 하위 시스템이 협력하여 구성된 복합형 비즈니스 플랫폼입니다. 이 장에서는 전역적 관점에서 출발하여 먼저 완전한 시스템 경계와 핵심 하위 시스템을 정리한 후, Live UI 없는 통합 솔루션 AtomicXCore SDK의 내부 아키텍처로 깊이 파고들어 개발자들이 코딩을 시작하기 전에 명확한 전반적 인식을 갖출 수 있도록 돕습니다.

시스템 전체 구조

완전한 전자상거래 라이브 스트리밍 시스템은 최소한 다섯 가지 주요 비즈니스 영역을 포함하며, 각 영역은 독립적인 기술 스택과 데이터 모델을 갖추고 있지만 라이브 스트리밍 시나리오에서는 긴밀한 협력이 필요합니다:
비즈니스 영역
핵심 책임
기술 기반
제공자
라이브 방송 도메인
오디오및 비디오 스트리밍 푸시/풀, 실시간 상호작용, 룸 관리
AtomicXCore SDK
Tencent Cloud
전자상거래 거래 도메인
상품 관리, 재고 통제, 주문 처리, 결제 정산, 애프터 서비스 프로세스
비즈니스 자체 구축(전자상거래 중앙 플랫폼, 결제 플랫폼)
고객 측
마케팅 도메인
활동 기획, 혜택 제공, 트래픽 운영
비즈니스 자체 구축(마케팅 플랫폼)
고객 측
고객 서비스 영역
사용자 상담, 지능형 라우팅, 다단계 응답
Tencent Cloud 스마트 고객 서비스(Desk)
Tencent Cloud
사용자 영역
계정 시스템, 팬 운영, 사적 커뮤니티
Live / Chat SDK
Tencent Cloud

클라이언트 계층화 아키텍처

클라이언트 관점에서, 전체 전자상거래 라이브 스트리밍 앱은 일반적으로 다음 다섯 가지 계층으로 구성됩니다.

각 계층의 책임 설명:
클라이언트 레이어: 선언형 프레임워크 기반 구축(예: Android는 Jetpack Compose, iOS는 SwiftUI 사용), 모든 페이지의 반응형 렌더링 담당. 라이브 방송 페이지는 가장 복잡한 UI 시나리오로, 비디오 스트림 위에 탄막, 상품 팝업, 선물 애니메이션, 연결 통화 플로팅 창 등 여러 상호작용 레이어를 오버레이해야 함.
ViewModel: MVVM 아키텍처를 따르며, 각 페이지는 독립적인 ViewModel에 대응됩니다. ViewModel의 핵심 작업은 다양한 데이터 소스의 상태를 조합하는 것입니다. 예를 들어 라이브 방송 ViewModel은 AtomicXCore Store의 라이브 상태(방 정보, 연결 상태, 댓글 목록 등)와 비즈니스 Repository의 전자상거래 데이터(현재 설명 중인 상품, 장바구니 수량 등)를 동시에 구독해야 합니다.
Core SDK: 라이브 방송 기능은 AtomicXCore SDK의 Store 시스템(LoginStore, DeviceStore, BarrageStore 등)에서 제공됩니다. 비즈니스 기능은 개발자가 자체 구축한 Repository 계층에서 제공되며, 각 Repository는 해당 서버 API의 네트워크 호출, 데이터 캐싱 및 오류 처리(예: ProductRepository는 상품 조회 인터페이스 캡슐화)를 캡슐화합니다.
Server Layer: 텐센트 클라우드의 기본 실시간 음성/영상(Tencent RTC), 인스턴트 메시징(Tencent Chat) 및 뷰티 필터(TEBeautyKit) 기능, 그리고 결제와 같은 타사 SDK를 통합합니다. 개발자는 일반적으로 이 계층을 직접 조작할 필요 없이 L3의 Store와 Repository를 통해 간접적으로 호출합니다.
Business: 모든 서버 비즈니스 로직을 담당하며, 클라이언트는 REST API 또는 WebSocket을 통해 통신합니다.

서버 아키텍처 개요

서버는 마이크로서비스 또는 모듈화 방식으로 구성하는 것을 권장하며, 핵심 서비스는 다음과 같이 분리됩니다.
서비스
핵심 책임
대외 인터페이스
의존하는 클라우드 기능
라이브 방송 서비스
방 관리, 방 멤버 관리, 마이크 연결 관리, 메시지 관리
REST API
Live 서버 API
인증 서비스
UserSig 생성 및 갱신, 인증서 관리
REST API
RTC/Chat 인증 서비스
상품 서비스
상품 CRUD, 재고 관리, 가격 전략
REST API
비즈니스 데이터베이스
주문 서비스
주문, 결제 콜백, 환불, 커미션 정산
REST API + 비동기 메시지
결제 플랫폼
마케팅 서비스
쿠폰, 초특가, 추첨, 활동 기획
REST API
비즈니스 데이터베이스
고객 서비스
세션 라우팅, 봇 응대, 지능형 응답
REST API + Webhook
스마트 고객 서비스 Desk
사용자 서비스
계정 시스템, 회원 등급, 팬 관계
REST API
라이브/채팅 공통 계정 시스템
푸시 서비스
방송 시작 알림, 마케팅 푸시(할인/초특가/이벤트 예고), 거래 알림, 오프라인 도달
REST API
TIMPush
데이터 서비스
라이브 데이터 통계, 전환 분석, 사용자 프로파일
비동기 메시지 + 배치 처리
데이터 웨어하우스

핵심 서브시스템 분해



라이브 서브시스템

라이브 서브시스템은 전체 전자상거래 라이브의 기술적 기반으로, AtomicXCore SDK가 핵심 기능을 제공합니다. SDK의 내부 설계를 이해하는 것은 라이브 기능 연동의 전제 조건입니다.
스토어 주도 아키텍처
AtomicXCore SDK는 Store-Driven 아키텍처를 채택하여 각 기능을 독립적인 Store 형태로 상태 및 작업 API를 제공하며, 반응형 데이터 스트림을 통해 비즈니스 상태를 외부에 노출하고 Listener를 통해 실시간 이벤트를 분배합니다. 개발자는 필요에 따라 해당 Store를 가져와 호출할 수 있습니다. 글로벌 Store는 애플리케이션 수준에서 공유되며, 룸 수준 Store는 liveID별로 생명주기를 관리하며, 룸을 나갈 때는 리스너와 리소스를 적극적으로 해제해야 합니다.
Store 모듈 분류
SDK의 Store 모듈은 생명주기에 따라 두 가지 유형으로 분류할 수 있습니다: 글로벌 싱글톤 Store와 룸 차원 Store. 글로벌 싱글톤 Store는 애플리케이션 생명주기 동안 공유되며, 크로스 룸 일반 기능 관리에 적합합니다. 룸 차원 Store는 create(liveID)를 통해 획득하며, 내부적으로 동일한 liveID에 대해 동일한 인스턴스를 반환하도록 구현되어 있습니다.
Store/Component
기능 설명
API 문서
LiveCoreView
라이브 비디오 스트림 표시 및 상호작용의 핵심 뷰 컴포넌트: 비디오 스트림 렌더링과 뷰 위젯 처리를 담당하며, 스트리머 라이브, 시청자 마이크 연결, 스트리머 간 연결 등의 시나리오를 지원합니다.
LiveListStore
라이브 방송 전체 생명주기 관리: 생성/참가/퇴장/방 파괴, 방 목록 조회, 라이브 정보 수정(이름, 공지 등), 라이브 상태 모니터링(강퇴, 종료 등).
DeviceStore
오디오 및 비디오 장치 제어: 마이크(켜기/끄기, 볼륨), 카메라(켜기/끄기, 전환, 화질), 화면 공유, 장치 상태 실시간 모니터링.
CoGuestStore
시청자 연결 관리: 연결 요청 / 초대 / 수락 / 거절, 연결 멤버 권한 제어(마이크 / 카메라), 상태 동기화.
CoHostStore
스트리머 크로스 룸 연결: 다중 레이아웃 템플릿 지원(동적 그리드 등), 연결 시작 / 수락 / 거절, 연결된 스트리머 상호작용 관리.
BattleStore
스트리머 PK 대전: PK 시작(시간/상대 설정), PK 상태 관리(시작/종료), 점수 동기화, 대전 결과 모니터링.
GiftStore
선물 상호작용: 선물 목록 가져오기, 선물 보내기/받기, 선물 이벤트(보낸 사람, 선물 상세 정보 포함) 감지
BarrageStore
댓글 기능: 텍스트/사용자 정의 댓글 보내기, 댓글 목록 유지, 실시간으로 댓글 상태 감지.
LikeStore
좋아요 상호작용: 좋아요 보내기, 좋아요 이벤트 감지, 총 좋아요 수 동기화.
LiveAudienceStore
시청자 관리: 실시간 시청자 목록(ID/이름/프로필 사진) 확인, 시청자 수 통계, 시청자 입장/퇴장 이벤트 감지.
AudioEffectStore
오디오 효과: 변성(어린이 목소리/남성 목소리), 리버브(KTV 등), 이어폰 모니터링 조절, 실시간 효과 전환.
BaseBeautyStore
기초 뷰티: 피부 매끄럽게 하기/화장품 효과/붉은기 조절(0-9단계), 뷰티 상태 초기화, 효과 파라미터 동기화.

전자상거래 거래 서브시스템

전자상거래 거래 서브시스템은 일반적으로 비즈니스 레이어에서 자체 구축하며, AtomicXCore SDK는 해당 전용 Store를 제공하지 않습니다. 그러나 여전히 AtomicXCore의 사용자 정의 메타데이터(MetaData) 기능을 재사용하여 방 내에서 비즈니스 관련 정보를 저장 및 동기화할 수 있으며, 사용자 정의 메시지(CustomMessage) 기능을 재사용하여 방 내에서 비즈니스 관련 메시지를 브로드캐스트할 수 있습니다.
기능 모듈
핵심 능력
라이브 방송과의 연동 방식
상품 관리
상품 CRUD, SKU, 분류, 검색
방 입장 시 상품 목록을 불러오고, 스트리머가 상품 설명을 전환할 때 커스텀 메시지로 방송합니다.
쇼핑 카트
추가 구매, 수량 수정, 가격 예상
라이브 방송 중 간편하게 추가 구매, 방송 이탈 없이 가능합니다.
주문 시스템
주문, 결제, 환불, 물류
주문은 전환 귀속을 위해 liveIdanchorId를 포함합니다.
재고 관리
실시간 차감, 사전 점유, 초과 판매 방지
초인종/타임딜 이벤트 시나리오는 라이브 방송 리듬과 동기화되어야 합니다.

마케팅 서브시스템

기능 모듈
핵심 능력
라이브 방송과의 연동 방식
쿠폰
쿠폰 발급, 쿠폰 수령, 쿠폰 사용, 유효기간 관리
라이브 방송에서 쿠폰 발급 알림을 커스텀 메시지로 방송하기
초단기 판매 이벤트
카운트다운, 재고 잠금, 급매 제어
상품 등록 팝업과 연동하여 카운트다운 및 재고 상태 동기화
추첨
참여 자격 검증, 추첨, 상품 지급
라이브 방송 내 추첨 입구 및 당첨 결과 표시

고객 서비스 서브시스템

기능 모듈
핵심 능력
라이브 방송과의 연동 방식
스마트 고객 서비스
생성형 AI 자동 응답, 의도 인식
라이브 방송 상품 카드에 내장된 "상담" 입구, 고객 서비스 세션으로 이동
인공 고객 서비스
세션 라우팅, 인공 상담원 할당
상품/주문 컨텍스트를 가지고 고객 서비스 세션에 진입
주문 카드
세션에서 구조화된 주문 정보를 표시
고객 서비스와 사용자 간의 반복적인 확인 비용 감소
서비스 평가
만족도 점수, 품질 검사 분석
대화 종료 후 폐쇄형 수집

사용자 및 커뮤니티 서브시스템

기능 모듈
핵심 능력
라이브 방송과의 연동 방식
계정 시스템
등록, 로그인, 실명 인증
라이브 시청 및 거래 행위를 위한 신원 기반 제공
회원 등급
포인트, 등급, 혜택
고객 서비스 우선 순위, 할인 혜택, 라이브 연결 자격에 영향을 미침
팬 커뮤니티
커뮤니티 그룹, 주제, 공지
라이브 예고, 혜택 제공, 사용자 유치

푸시 도달 서브시스템

기능 모듈
핵심 능력
라이브 방송과의 연동 방식
라이브 방송 예고
라이브 방송 예약, 방송 시작 알림
오프라인 푸시 서비스를 통해 팔로우 사용자에게 도달
마케팅 푸시
할인/초단기 판매/이벤트 예열
마케팅 캠페인 푸시를 통해 비활성 사용자를 깨워 전환율을 높입니다.
거래 알림
주문 알림, 물류 알림
실시간으로 사용자에게 라이브 방송에서 주문한 상품의 동향과 주문 메시지를 알립니다.
인터랙티브 메시지
개인 메시지, 상점 고객 서비스 메시지
실시간으로 사용자에게 개인 메시지, 상품 및 상점 고객 서비스 등 인터랙티브 메시지를 알립니다.

라이브 방송 기능 개발 가이드

이 장에서는 라이브 방송의 일반적인 기능에 대한 개발 가이드를 제공하여 해당 기능에 대한 설명 문서를 더 빠르게 찾을 수 있도록 도와줍니다.
기초 사용법: 방송 시작 및 시청하기
라이브 인터랙션: 댄무 메시지, 선물 보내기 및 좋아요, 단일 방송실에서 마이크 연결, 크로스 룸 연결 / PK.
멤버 관리: 사용자 등급/신분, 채금 및 차단/강퇴, 온라인 시청자 목록, 온라인 인원 수.
방송실 관리: 방송실 목록, 방송실 심사, 라이브 모니터링, 방송실 공지, 라이브 통계.
장면 안내: 전자상거래 장면, 라이브 방송 탄막 추첨, 홍백 초이스/복주머니.

사전 준비

시작하기 전에 서비스 개통, AtomicXCore 가져오기, 로그인 로직 구현 등의 사전 준비를 완료해야 합니다.
서비스 개통: Tencent RTC 콘솔에 로그인하여 인터랙티브 라이브 Live 애플리케이션을 생성하고 체험판을 받거나 정식 버전을 구매합니다.
AtomicXCore 가져오기: 현재 프로젝트에 AtomicXCore를 가져오고 AtomicXCore SDK 종속성을 추가합니다.
로그인 로직 구현: 프로젝트에서 LoginStore를 호출하여 로그인을 완료하세요. 이는 AtomicXCore의 모든 기능을 사용하기 위한 핵심 전제 조건입니다.
설명:
라이브 방송 기능 개발을 위한 사전 준비에 대해 더 자세한 안내는 사전 준비를 참조하세요.

스트리머 측 전체 구현

스트리머의 방송 시작 프로세스는 다음과 같으며, 아래 단계만 수행하면 빠르게 스트리머의 비디오 라이브 방송을 구현할 수 있습니다.

설명:
스트리머 측 구현에 대한 자세한 내용은 스트리머 방송 시작 구현을 참조하세요.

LiveCoreView 통합

LiveCoreView는 스트리머와 시청자가 공유하는 핵심 렌더링 컨테이너로, "라이브 방송 화면의 담체 계층"으로 이해할 수 있으며 페이지 내 계층 구조와 생명 주기를 명확히 하는 것이 중요합니다.
계층
작용
설명
기반
LiveCoreView
로컬 미리보기 또는 원격 비디오를 담당
중간 계층
방송자 정보, 상품 카드, 온라인 인원
상주 경량 상호작용 정보
상위 계층
댓글, 선물, 라이브 연결 팝업
고주파 동적 상호작용
최상위 계층
라이브 종료 확인, 이상 알림
차단식 조작과 안전망 알림

장치 관리

DeviceStore는 오디오 및 비디오 장치를 관리하기 위한 포괄적인 API 세트를 제공하여 스트리머가 방송 시작, 백그라운드 전환, 이상 복구 등의 시나리오에서도 일관된 장치 상태 관리를 유지할 수 있도록 합니다.
관리 항목
설명
마이크 관리
마이크 켜기/끄기, 수집 음량 및 출력 음량 설정
카메라 관리
카메라 켜기/끄기, 전후면 카메라 전환, 미러링 및 비디오 품질 설정
오디오 라우팅
스피커와 수화기 전환
화면 공유
화면 공유 기능 켜기 및 끄기
네트워크 상태
네트워크 품질 정보 실시간 모니터링

라이브 방송 생성

모드 1: 클라이언트에서 방 생성
방송인 클라이언트에서 LiveListStore.shared().createLive을 직접 호출하여 방을 생성하고 자동으로 방에 입장하여 스트리밍을 시작합니다.
이 모드는 경량 검증이나 운영 통제가 적은 시나리오에 적합하며, 접속이 빠르고 링크가 짧은 것이 특징이지만, 비즈니스 시스템이 방 메타데이터에 대한 통일된 제약이 약합니다.
모드 2: 서버에서 방 생성
서버에서 REST API create_room을 호출하여 빈 방을 생성하고, 방송인 클라이언트는 LiveListStore.shared().joinLive을 호출하여 방에 입장한 후 스트리밍을 시작해야 합니다.
이 모델의 핵심 가치는 "인터페이스를 한 번 더 우회하는 것"이 아니라 방 생명 주기, 상품 바인딩, 방송인 권한, 활동 상태를 서버 측에서 통합적으로 관리하는 데 있습니다.

라이브 방 종료

모드 1: 클라이언트에서 라이브 종료
방송인 클라이언트는 LiveListStore.shared().endLive을 직접 호출하여 라이브를 종료합니다.
이 모드는 일반적인 경량 라이브 방송 시나리오에 적합하며, 클라이언트만으로도 방송 종료 동작을 독립적으로 완료할 수 있어 서버 측의 참여가 필요하지 않습니다.
모드 2: 서버에서 방 파기
방송인 클라이언트가 종료 동작을 트리거하면 서버에서 REST API destroy_room을 호출하여 방을 해산합니다.
이 모드는 비교적 복잡한 라이브 방송 시나리오에 적합하며, 서버에서 라이브 방송실의 생명주기를 통합적으로 관리하고 방송 종료 시 관련 비즈니스를 정산할 수 있습니다.

시청자 측 완전 구현

시청자 시청 절차는 다음과 같으며, 간단한 몇 단계 조작으로 시청자가 라이브 방송을 시청할 수 있습니다.

설명:
시청자 측 구현에 대한 자세한 내용은 시청자 입장 및 시청 구현을 참조하세요.

라이브 방송 입장

시청자 클라이언트에서 LiveListStore.shared().joinLive을 호출하여 방에 입장하면 LiveCoreView가 현재 방의 비디오 스트림을 자동으로 재생합니다.
라이브 방송 입장 성공 후에도 댓글 영역, 상품 카드, 고객 서비스 진입점 등과 같은 비즈니스 데이터 동기화 완료 여부에 주의해야 합니다.

라이브 방송 퇴장

시청자 클라이언트에서 LiveListStore.shared().leaveLive을 호출하여 방을 퇴장하면 SDK가 자동으로 스트리밍을 중지하고 방을 나갑니다.
라이브 방송 퇴장 성공 후에도 방 관련 리스너 및 메시지 구독 중지, 방 레벨 Store 정리, 라이브 방송 목록 또는 추천 페이지로 복귀에 주의해야 합니다.

시청자 실시간 인터랙션 구현

실시간 연결(Co-Guest)은 전자상거래 라이브 방송에서 상호작용을 강화하는 중요한 기능으로, 시청자와 스트리머가 실시간 오디오/비디오 통화를 할 수 있게 합니다. AtomicXCore는 CoGuestStore 모듈을 제공하여 시청자 실시간 연결의 전체 비즈니스 프로세스를 관리합니다. CoGuestStore는 두 가지 주요 실시간 연결 시나리오를 지원합니다: 시청자가 마이크 연결을 신청하거나 스트리머가 시청자를 초대하는 방식입니다.

시청자가 마이크 연결을 신청합니다

시청자가 실시간 연결 요청을 직접 시작하면, 스트리머는 요청을 받은 후 수락하거나 거절할 수 있습니다.


스트리머가 시청자를 초대합니다

스트리머는 방송 중인 시청자 중 한 명에게 실시간 연결 초대를 할 수 있으며, 시청자는 초대를 받은 후 수락하거나 거절할 수 있습니다.

설명:
시청자 실시간 인터랙션 기능에 대한 자세한 구현 내용은 시청자 마이크 연결을 참조하세요.

스트리머 연결 PK 구현

AtomicXCore는 CoHostStoreBattleStore 두 가지 핵심 모듈을 제공하며, 각각 크로스 룸 연결과 PK 대전을 처리합니다.
"스트리머 연결 PK"의 전체 프로세스는 일반적으로 네 가지 핵심 단계로 구성되며, 그 전체 흐름은 다음과 같습니다.
1. 크로스 룸 연결: 두 스트리머가 연결되어 동일한 뷰에 화면이 나타납니다.
2. PK 시작: 연결이 성공하면 어느 한쪽이 PK 도전을 시작할 수 있습니다.
3. PK 대전: 양측이 PK 대전을 진행하며 실시간으로 PK 점수가 업데이트됩니다.
4. PK 연결 종료: 인터랙션이 끝난 후, 스트리머는 논리적 순서에 따라 먼저 PK 상태를 종료한 다음 크로스룸 연결을 끊어야 합니다.

설명:
스트리머 연결 PK에 대한 더 많은 구현 세부 사항은 스트리머 연결 및 PK를 참조하세요.

실시간 탄막 시스템 구현

탄막은 전자상거래 라이브 스트리밍에서 가장 중요한 상호작용 형태 중 하나로, 사용자의 즉각적인 피드백, 상품 문의 및 감정 표현을 담당합니다. AtomicXCore 프레임워크의 BarrageStore 모듈을 사용하면 기능이 풍부하고 성능이 뛰어난 탄막 시스템을 라이브 앱에 빠르게 통합할 수 있습니다.


메시지 계층화

클라이언트는 메시지 유형별로 분류할 것을 권장합니다: 텍스트 메시지, 사용자 정의 메시지, 로컬 알림 등.
유형
용도
표시 방식
일반 텍스트 메시지
상담, 상호작용, 감정 표현
탄막 목록 / 플로팅 스크린
자체 정의 메시지
선물, 상품 설명, 쿠폰 알림
카드 / 특수 효과 탄막
로컬 알림
방 입장, 마이크 연결 상태, 리스크 관리 알림
시스템 메시지

사용자 등급/신분 표시

사용자 등급과 신분 표시 기능은 라이브 방송 상호작용 시나리오에서 중요한 구성 요소로, 다양한 사용자 역할, 특권 등급 및 신분 상태를 구분하여 차별화된 인터페이스 표시, 상호작용 권한 및 기능 접근 제어를 구현합니다. LiveKit은 기본적으로 기본 신분 표시 프레임워크를 제공하지 않지만, 다음 방식을 참고하여 구현할 수 있습니다:
1. 귀하의 비즈니스 백엔드에서 필요한 사용자 등급/신분 관련 로직에 따라 각 사용자 UserID에 해당하는 등급/신분을 자체적으로 유지 및 저장합니다.
2. 메시지 전송 인터페이스 선택 BarrageStore.sendCustomMessage(), 여기서 data는 비즈니스 백엔드에서 획득한 표시할 등급/신분 등의 정보로 설정합니다. 메시지를 수신할 때 data를 등급/신분 정보로 파싱한 후 자체적으로 탄막 목록에 렌더링합니다. 다음은 사용자 등급/신분 표시 메시지 구조 예시입니다:
{
"businessID": "user_identity",
"content": "안녕하세요, 라이브 방송에 오신 것을 환영합니다!",
"userIdentity": {
"level": 32,
"levelName": "다이아몬드",
"levelIconUrl": "https://your-cdn.com/icons/level_diamond.png",
"badges": [
{
"type": "vip",
"name": "연간 VIP",
"iconUrl": "https://your-cdn.com/icons/badge_annual_vip.png",
"color": "#FFD700"
},
{
"type": "fan",
"name": "철팬",
"iconUrl": "https://your-cdn.com/icons/badge_fan.png",
"color": "#FF69B4"
}
],
"nameColor": "#FFD700",
"bubbleStyle": "golden_frame"
}
}

댓글 목록 UI 성능 최적화

댓글 목록의 성능 최적화는 고동시성 라이브 스트리밍 시나리오에서 핵심 과제입니다. 다음 전략을 채택할 것을 권장합니다:
최적화 전략
구현 방식
효과
리스트 길이 제한
최근 500개의 메시지를 보관하고, 초과분은 앞부분부터 제거됩니다.
메모리 사용량 제어
일괄 렌더링
300ms마다 UI를 일괄 업데이트하며, 개별적으로 새로고침하지 않습니다.
UI 다시 그리기 횟수 감소
뷰 재사용
RecyclerView/UITableView의 재사용 메커니즘을 사용합니다
객체 생성 오버헤드 감소
비동기 로딩
그래픽, 사용자 정의 글꼴 또는 복잡한 레이아웃의 뷰 비동기 그리기
메인 스레드 차단 방지
설명:
실시간 탄막 인터랙션에 대한 더 많은 구현 세부 사항 및 자주 묻는 질문은 탄막 인터랙션 기능을 참조하세요.

선물 증정 시스템 구현

선물 시스템은 인터랙티브 라이브 스트리밍 수익화의 중요한 채널이며, 라이브 방송 분위기를 활성화하는 효과적인 수단입니다. GiftStoreAtomicXCore에서 라이브 방송 선물 기능을 전담하는 모듈입니다. 이를 통해 라이브 스트리밍 애플리케이션을 위한 완벽한 선물 시스템을 구축하고 풍부한 수익 및 인터랙션 시나리오를 구현할 수 있습니다.


선물 소재 구성

라이브 방송에서 사용 가능한 선물 종류, 카테고리, 이름, 아이콘, 가격 및 애니메이션 효과를 운영 요구 사항과 브랜드 특성에 맞게 사용자 정의해야 합니다.
1. 서버 구성: LiveKit 서버 REST API를 사용하여 선물 정보, 카테고리, 다국어 등을 관리합니다. 선물 구성 안내 문서를 참조하세요.
2. 클라이언트 가져오기: 클라이언트에서 refreshUsableGifts를 호출하여 구성 데이터를 가져옵니다.
3. UI 표시: 가져온 List<GiftCategory> 데이터를 사용하여 선물 패널을 채웁니다.

SDK 내장 선물 목록으로 커버할 수 없는 고도로 맞춤화된 시나리오(예: 경매 입찰, 사용자 정의 효과 트리거 등)의 경우 BarrageStore.sendCustomMessage()를 사용하여 사용자 정의 메시지를 보내어 보완할 수 있습니다. 다음은 사용자 정의 선물 메시지 구조 예시입니다:
{
"type": "live_gift",
"giftId": "rocket_001",
"giftName": "로켓",
"giftCount": 1,
"giftValue": 1000,
"effectUrl": "https://example.com/effects/rocket.json",
"senderId": "user_123",
""senderName": "xx유저","
"senderAvatar": "https://example.com/avatar.jpg"
}

과금 및 선물 결제 프로세스

시청자가 선물을 보낼 때, 계정 잔액이 충분한지 확인하고 실제 결제가 완료된 후에야 선물 효과 재생 및 방송이 트리거됩니다.
1. 백엔드 콜백 설정: LiveKit 백엔드에서 자체 구축한 과금 시스템의 콜백 URL을 설정하세요. 콜백 설정 문서를 참조하세요.
2. 클라이언트 전송: 클라이언트가 sendGift를 호출합니다.
3. 백엔드 상호작용: LiveKit 백엔드가 귀하의 콜백 URL을 호출하면, 귀하의 과금 시스템이 결제를 실행하고 결과를 반환합니다.
4. 결과 동기화: 결제 성공 시 AtomicXCore가 onReceiveGift 이벤트를 브로드캐스트합니다. 결제 실패 시 sendGiftcompletion이 오류를 수신합니다.


전자상거래 핵심 기능 개발 가이드

이 장에서 다루는 상품 관리, 장바구니 관리, 주문 프로세스, 쿠폰 등 전자상거래 핵심 기능은 모두 비즈니스 레이어 자체 구축 범주에 속하며, AtomicXCore SDK는 해당 전용 기능 모듈을 제공하지 않습니다. 개발자는 자체적으로 구축하거나 AtomicXCore의 기존 Store를 활용해야 합니다. 다음은 전자상거래 라이브 스트리밍 비즈니스 전체 프로세스 예시 도표입니다.


상품 목록/장바구니

상품 목록 관리는 상품 관리의 기본 기능이고 주로 상품 추가, 삭제, 수정 및 조회 등 기능을 포함합니다. 일반적으로 백엔드 데이터베이스에 상품명, 설명, 가격, 재고, 이미지 등 다양한 상품 정보를 저장합니다. 프론트엔드에서는 API 인터페이스를 통해 이러한 정보를 가져와서 사용자에게 목록 형태로 보여줄 수 있습니다. 물론 당장 라이브 스트리밍에 한정된 상품 목록의 경우 AtomicXCore의 사용자 정의 메타데이터(MetaData) 기능을 재활용하여 방 안에서 상품 목록 정보를 저장하고 동기화할 수도 있습니다.
주의:
1. MetaData는 라이브 방송 ID와 상품 목록 ID의 매핑 관계만 저장하며, 사용자가 상품 목록 버튼을 클릭하면 클라이언트는 서버에 해당 상품 정보를 요청하여 표시해야 합니다.
2. 재고와 가격은 시효성이 강한 데이터이므로 서버를 기준으로 하고 클라이언트에서는 최종 결정을 하지 않는 것이 좋습니다.

상품 팝업 관리

라이브 커머스 진행 시 스트리머가 상품을 설명하고 링크 올릴 때 시청자 측에 해당 상품 정보를 팝업으로 표시하여 시청자가 쉽게 찾아보고 구매할 수 있도록 안내해줘야 합니다. 상품 정보 팝업은 라이브 방송 내에 자체 정의 메시지를 전송하는 방식으로 구현할 수 있으며, 라이브 방송 시청자는 자체 정의 메시지를 수신한 후 이를 해석하여 표시합니다. 또한 업무 측에서 자체적으로 자체 정의 메시지 송수신을 구현할 수도 있습니다.


핵심 요구사항

방송인이 라이브 방송 중 '팝업 상품 등록'을 클릭하면 상품 정보를 모든 시청자 단말기로 전송하고 팝업을 표시해야 하며, 다음 요구 사항을 충족해야 합니다.
실시간성: 라이브 방송 중인 시청자에게 즉시 알림이 전달됩니다.
신뢰성: 중간에 참여한 시청자도 현재 올라간 상품 정보를 확인할 수 있습니다.
유일성: 각 시청자는 동일한 상품 상품 이벤트에 대해 팝업이 한 번만 표시되며 반복적으로 트리거되지 않습니다.

듀얼 채널 동기화 메커니즘

1. 채널 A — 사용자 지정 메시지(푸시 모델)
서버 측 REST API를 호출하여 send_custom_msg를 통해 라이브 방송실에 상품 팝업의 자체 정의 메시지를 방송합니다. 이 방식은 밀리초 단위의 실시간 성능을 가지며 온라인 시청자에 대한 즉각적인 알림에 적합하지만, 오프라인 저장을 지원하지 않아 후에 방에 입장한 사용자는 이전 메시지를 얻을 수 없습니다. 상품 팝업 자체 정의 메시지 데이터 구조 예시는 다음과 같습니다:
{
"eventId": "evt_prod_001_1773321389000",
"type": "GOODS_ON_SHELF",
"goodsId": "prod_001",
"goodsName": "Vintage Watch",
"goodsNameZH": "빈티지 시계",
"goodsNameEN": "Vintage Watch",
"price": 9900,
"priceUSD": 99.0,
"priceCNY": 712.8,
"imageUrl": "/static/products/watch.png",
"serverTs": 1773321389000,
"startTimestamp": 1773321389000
}
2. 채널 B — 룸 메타데이터(풀 모델)
서버 측 REST API 호출 set_room_metadata을 통해 상품 게시 상태를 룸 메타데이터에 기록합니다. 이 방식은 라이브 방송의 생명주기와 함께 지속적으로 저장되며, 새로 방송에 참여한 후 방송 정보를 능동적으로 가져오는 경우에 적합합니다. 그러나 실시간 푸시가 아니며 클라이언트의 능동적인 조회에 의존합니다. 상품 팝업 룸 메타데이터 데이터 구조 예시는 다음과 같습니다:
{
"goods_id": "prod_001",
"goods_name": "Vintage Watch",
"goods_name_zh": "빈티지 시계",
"goods_name_en": "Vintage Watch",
"price": 9900,
"price_usd": 99.0,
"price_cny": 712.8,
"image_url": "/static/products/watch.png",
"start_timestamp": 1773321389000,
"status": "active"
}
주의:
방 메타데이터에 eventId 필드가 포함되어 있지 않습니다. 클라이언트에서 파싱할 때 자체적으로 생성해야 하며, 형식은 attr_{goods_id}_{start_timestamp}입니다. 접두사 attr_는 사용자 지정 메시지의 evt_와 구분되어 중복 충돌을 방지합니다.

듀얼 채널 협업 프로세스

단계
작업
설명
1
서버가 방 메타데이터를 작성함
영구화된 데이터가 먼저 준비되도록 하여 후속 사용자가 데이터를 얻을 수 있도록 함
2
서버/클라이언트가 자체 정의 메시지를 전송함
현재 온라인 시청자에게 실시간으로 전송함
3
온라인 시청자가 사용자 정의 메시지를 수신 → 팝업 표시
채널 A 트리거
4
새로운 시청자가 방에 들어옴 → 방 메타데이터 조회 → 팝업 표시
채널 B 트리거

상품 이동 및 결제

라이브 방송 시청자가 상품 선택을 완료한 후, 상품 링크를 클릭하여 해당 전자상거래 매장으로 이동해 주문 확인 및 결제를 진행해야 합니다. 여기서 전자상거래 매장은 플랫폼 내 매장이거나 통합된 제3자 플랫폼 매장일 수 있습니다. 사용자 결제 완료 후에는 상품 판매 상태 및 재고 정보 등을 업데이트하기 위해 결제 결과를 확인해야 합니다.
설명:
상기 상품 관리 모듈은 참고용으로만 제공되며, 실제 적용 시에는 업무 요구사항에 따라 자체적으로 설계 및 배포해야 합니다.

라이브 방송 댓글 추첨

라이브 방송 댓글 추첨은 사용자가 특정 내용의 탄막 메시지를 보내 방송 댓글 추첨에 참여하는 것을 의미합니다. 구현 방식은 비즈니스 백엔드에서 그룹 내 발언 메시지 후 콜백 요청을 통해 탄막 메시지 내용을 가져오며, 특정 내용에 부합하는 메시지 발송자는 추첨 풀에 추가되고 그렇지 않으면 처리하지 않습니다. 콜백 사용은 그룹 내 발언 이후 콜백을 참조하세요.


레드백 초단기 판매/행운봉투 배포

레드백 초단기 판매와 행운봉투 배포는 전자상거래 라이브 방송에서 흔히 볼 수 있는 마케팅 상호작용 기능으로, 사용자 참여도와 구매 전환율을 효과적으로 높일 수 있습니다. TUILiveKit(AtomicXCore)은 이 기능을 직접 제공하지 않지만, 기본 통신 기능을 기반으로 비즈니스 백엔드와 결합하여 구현할 수 있습니다.

활동 생성 및 알림

앵커 측은 비즈니스 백엔드에 레드백/행운봉투 활동 생성을 요청합니다. 비즈니스 백엔드에서 활동 생성이 성공하면 REST API를 통해 라이브 방송룸에 알림을 전송하여 모든 시청자에게 활동 시작을 알립니다.

사용자 참여 로직

시청자 측은 활동 알림을 수신한 후 이를 해석하고 참여 입구를 표시합니다. 사용자가 클릭하면 귀하의 비즈니스 백엔드에 참여 요청을 발송합니다. 비즈니스 백엔드는 사용자 자격을 검증하고 참여 정보를 기록하는 동시에 실시간으로 참여 인원을 업데이트할 수 있습니다.

추첨 및 결과 발표

설정된 추첨 시간에 도달하면 비즈니스 백엔드가 추첨 로직을 실행합니다. 추첨이 완료되면 비즈니스 백엔드는 다시 REST API를 통해 중계방에 당첨 결과를 브로드캐스트합니다.

보상 지급

비즈니스 백엔드는 당첨 결과에 따라 사용자 계정에 해당 보상(예: 쿠폰, 포인트, 잔액 등)을 지급합니다. 이 단계는 일반적으로 귀하의 계정 또는 마케팅 시스템과 연동됩니다.

주요 기술 포인트

사용자 정의 메시지: 이 기능의 핵심은 다양한 유형의 사용자 정의 메시지를 정의하고 송수신하여 활동 상태(예: "활동 시작", "결과 발표")를 동기화하는 것입니다. 클라이언트는 메시지 유형에 따라 다른 UI 효과를 표시해야 합니다.
비즈니스 백엔드: 모든 활동 관리, 사용자 참여, 추첨 및 상품 지급 로직은 귀사의 비즈니스 백엔드에서 처리되어 프로세스의 안전성과 신뢰성을 보장합니다.
설명:
상기 홍빠이/복주머니 모듈은 참고용이며, 실제 적용 시에는 비즈니스 요구사항에 맞게 자체적으로 설계 및 배포해야 합니다.

Chat 기능 개발 가이드

전자상거래 라이브 생태계에서 인스턴트 메시징(Chat)은 라이브 방송실 내 실시간 상호작용을 담당할 뿐만 아니라, 프라이빗 도메인 운영, 고객 서비스 및 정밀 마케팅의 핵심 인프라입니다. 아키텍처의 명확성과 효율성을 유지하기 위해 본 솔루션은 계층적 통합 전략을 채택할 것을 권장합니다.
라이브 방송실 내 상호작용: AtomicXCore로 캡슐화된 BarrageStore를 계속 사용하여 탄막, 좋아요, 선물 및 상품 등록 알림을 처리함으로써 오디오/비디오와 메시지의 높은 동기화를 보장합니다.
라이브 방송실 외부 서비스: 판매자 고객 서비스, 팬 커뮤니티, 마케팅 활동 및 푸시 알림 전달은 더 완벽한 소셜 기능 지원을 위해 텐센트 클라우드 Chat SDK를 독립적으로 구현하는 것을 권장합니다.
AtomicXCore의 Store 체계 외부에 독립적인 ChatService 모듈을 구축하여 전역 Chat 상태 모니터링 및 라이브 방송실 차원이 아닌 메시지 처리를 담당하는 것이 좋습니다.


판매자 고객 서비스 시스템

판매자 고객 서비스는 트래픽과 전환을 연결하는 핵심적인 가교 역할을 합니다. 전자상거래 시나리오에서 사용자들은 일반적으로 다음과 같은 요구 사항을 가지고 있습니다:
판매 전 상담: 상품 사양, 재고 조회, 사이즈 추천, 소재 설명
주문 조회: 물류 진행 상황, 발송 시간, 주문 상태
판매 후 서비스: 반품 및 교환 절차, 품질 문제 피드백, 환불 진행 상황

자동화 운영 및 시스템 메시지 시나리오

첫 대화 또는 주요 비즈니스 단계에서 사용자가 상담을 클릭하여 채팅창으로 진입하면, 귀사의 서버는 Chat RESTful API를 통해 사용자에게 1:1 메시지를 자동으로 발송할 수 있습니다. 이는 환영 메시지, 서비스 안내 또는 거래 알림 전송에 적합하며, 자동화 운영 및 시스템 메시지 시나리오에 적합합니다.
사용자가 조회할 주문 번호와 구체적인 질문을 입력하면 메시지 후 콜백 기능을 통해 메시지를 귀하의 서버로 콜백할 수 있으며, 귀하는 정보를 조회한 후 Chat RESTful API를 통해 사용자에게 1:1 채팅 메시지를 적극적으로 전송하여 사용자에게 답변할 수 있습니다.

판매자 직접 답변

판매자 직접 답변은 Chat SDK를 이용해 메시지 전송, 메시지 수신이 가능합니다.

사용자 정의 카드 정보

구매자와 판매자는 C2C 1:1 채팅 세션을 통해 소통하며, 주문 관련 정보는 createCustomMessage로 커스텀 메시지 본문을 구성하고 sendMessage를 호출하여 전송할 수 있습니다. 커스텀 메시지에는 주문 번호, 상품 정보, 가격 상태 및 이동 링크가 포함될 수 있으며, 클라이언트는 이를 파싱하여 주문 카드 형태로 렌더링합니다. 자세한 내용은 C2C 클라이언트 메시지 인터페이스 설명을 참조하세요.

팬 커뮤니티 운영

커뮤니티 채팅 기능은 높은 접착력을 가진 상호작용 기능을 구축함으로써 전자상거래 사용자의 재구매율을 크게 향상시킵니다.
일방적인 판촉에서 양방향 상호작용으로 변화하여 신뢰감을 형성합니다. 전통적인 마케팅 푸시는 일방적이지만, 커뮤니티 채팅은 브랜드와 팬, 팬과 팬 사이의 직접적인 소통 장면을 만들어냅니다. 이러한 실시간 질의응답, 구매 인증 및 구전 공유는 사용자의 브랜드에 대한 신뢰를 크게 강화할 수 있으며, 신뢰는 재구매의 기반이 됩니다.
"한정된 시간 동안의 전용" 커뮤니티 분위기를 조성하여 충동 구매를 자극합니다. 커뮤니티 내에서 전용 쿠폰, 초특가 링크 및 신제품 예고를 자주, 정확하게 게시할 수 있습니다. 이러한 "집단 효과"와 "전용감"은 사용자의 구매 충동을 효과적으로 자극하여 단순한 쇼핑 요구를 즉각적인 소비 행동으로 전환시킵니다.
사용자를 커뮤니티 자산으로 축적하여 생애주기 가치를 높입니다. 사용자가 커뮤니티에 가입하면 일회성 트래픽에서 장기적으로 운영 가능한 '자산'으로 전환됩니다. 일상적인 콘텐츠로 커뮤니티 활성도를 유지함으로써 브랜드는 사용자의 마음속에 지속적으로 자리 잡고, 첫 구매에서 습관적 재구매로 이끌어 각 사용자의 장기적 가치를 극대화할 수 있습니다.

그룹 채팅 생성 및 구성원 관리

커뮤니티 그룹 유형을 채택하면 최대 100만 명까지 지원되므로 팬이 점점 많아져도 그룹 인원 수용 문제를 걱정할 필요가 없습니다. 클라이언트/서버 인터페이스를 통해 그룹 채팅을 생성하고, 클라이언트/서버 인터페이스로 금지, 강퇴, 관리자 설정 및 그룹 온라인 인원 확인 등의 기능을 사용할 수 있으며, 클라이언트/서버를 통해 멤버를 초대할 수 있습니다.

그룹 정보 구성

클라이언트/서버 인터페이스를 통해 그룹 이름, 그룹 공지 등 그룹 기본 정보를 가져오고 수정할 수 있습니다.

상품 장바구니

그룹 채팅 오른쪽 상단의 "상품 진열대"는 그룹 속성(Group Attributes)을 통해 그룹과 상품 목록의 매핑 관계를 저장할 수 있으며, 클라이언트는 그룹 채팅에 들어갈 때 그룹 속성을 읽고 해당 상품 목록 페이지로 이동합니다. 상품 시스템은 귀하의 App 비즈니스 시스템에서 구현됩니다.

마케팅 활동

전자상거래 라이브 스트리밍 시나리오에서 마케팅 활동은 일반적으로 두 가지 주요 유형으로 나눌 수 있습니다.
라이브 방송 내 마케팅 활동(라이브 방송 단위): 라이브 방송 댓글 추첨, 레드백 초단기 판매/행운봉투 배포 등과 같이 주로 실시간 상호작용과 전환율 향상을 위해 사용됩니다.
라이브 방송 외 마케팅 활동(앱 단위): 마케팅 알림, 이벤트 리마인드 등 푸시 알림과 같이 사용자 재유도와 이벤트 예열에 중점을 두며 사용자 참여도를 높입니다.

푸시 알림

푸시는 앱 외부에서 사용자에게 도달하기 위해 사용되며, 마케팅 알림, 활동 알림, 주문 알림, 배송 알림 등의 시나리오를 지원하고 푸시 전환 효과를 통계할 수 있습니다.
Push 제품을 통합하면 간단한 설정만으로 여러 제조업체의 푸시 서비스를 한 번에 통합할 수 있습니다. Push 알림 메시지는 즉시성(즉시 전달)에 더 중점을 두며, 과거 기록 로밍 기능이 없습니다(즉 Push 제품의 푸시 알림 메시지는 채팅 Chat의 대화 시스템에 저장되지 않음).


서버 푸시 운영 메시지

푸시 메시지는 서버 푸시 인터페이스를 통해 전송할 수 있으며, 전체 사용자 푸시, 태그별 푸시, 지정 사용자 푸시를 지원합니다. 서버는 푸시 ext 필드에 사용자 정의 비즈니스 매개변수(예: 이동 대상, 비즈니스 유형, 활동 ID)를 포함할 수 있습니다. 자세한 내용은 전체 푸시 기능 - 다중 플랫폼 지원을 참조하세요.

클라이언트 사용자 정의 이동 인터페이스

클라이언트가 푸시 메시지를 수신한 후 알림창을 클릭하면, 컴포넌트는 해당 클릭 이벤트와 오프라인 메시지를 콜백합니다. ext 필드를 활용하여 사용자가 알림을 클릭할 때 지정된 페이지(예: 그룹 채팅, 상품 페이지, 라이브 방송 페이지 등)로 이동할 수 있습니다. 자세한 내용은 알림창 클릭 콜백 구현을 참조하세요.


푸시 알림 효과 추적

푸시 효과를 평가하기 위해 서버는 푸시 전환 통계 인터페이스를 연결하여 푸시 전달, 클릭 및 후속 비즈니스 전환 행동을 통계하고 완전한 데이터 분석 링크를 형성할 수 있습니다. 자세한 내용은 푸시 서비스(Push) - 데이터 통계를 참조하세요.


고급 뷰티 통합 안내

뷰티 제품 설명

LiveKit/AtomicXCore 체계에서는 기본 뷰티고급 뷰티 두 가지 기능 라인을 먼저 구분해야 합니다:
기본 뷰티: BaseBeautyStore를 사용하며, 피부 매끄럽게 하기, 화사하게 하기, 혈색 좋게 하기만 필요한 경우에 적합합니다. 매개변수 범위는 0 - 9이며 LiveKit 기본 기능에 포함되어 있어 추가로 고급 뷰티 라이선스를 구매할 필요가 없습니다.
고급 뷰티 필터: TEBeautyKit을 사용하여 V라인, 눈 간격, 코 축소, 필터, 동적 스티커, 메이크업, 배경 분할 등 향상된 효과가 필요한 시나리오에 적합합니다. Beauty AR License를 추가로 구매하고 공식 문서에 따라 리소스 및 인증 구성을 완료해야 합니다.
따라서 전자상거래 라이브 스트리밍 시나리오는 요구 사항에 따라 계층별로 접근해야 합니다.
1. 기본 피부 매끄럽게 하기/화장품/붉은기: BaseBeautyStore를 우선 사용하여 최소 비용으로 구현합니다.
2. 고급 뷰티, 필터, 스티커, 메이크업이 필요한 경우: 스트리머 측에서 추가로 TEBeautyKit을 연동합니다.
3. 두 가지 인터페이스를 혼동하지 마십시오: TEBeautyKit을 통합한 후 고급 효과는 TEBeautyKit의 인터페이스와 패널을 통해 관리해야 하며, 더 이상 BaseBeautyStore를 사용하지 않습니다.
TEBeautyKit은 외부 플러그인 아키텍처를 채택하여 카메라 텍스처 처리 콜백을 통해 비디오 프레임을 "캡처 → 뷰티 처리 → 렌더링/스트리밍" 링크에 삽입합니다.


뷰티 기능 모듈과 리소스 목록

TEBeautyKit이 제공하는 기능은 리소스 구성 및 패키지 권한과 일치해야 합니다. "기능 모듈 + 필수 리소스" 방식으로 정리하는 것을 권장합니다:
기능 모듈
대표적인 기능
주요 리소스 / 구성
기본 뷰티 / 얼굴형
피부 매끄럽게, 피부 밝게, 볼 붉게, 얼굴 작게, 눈 크게 등
beauty.json
필터
스타일 필터, 톤 조정
lut.json + 해당 필터 소재
모션 스티커
2D/3D 스티커, 제스처 스티커
motion_2d.json, motion_3d_gesture.json + 해당 소재
가상 배경 / 분할
배경 분할, 배경 교체
segmentation.json + 해당 리소스
패널 아이콘
패널 입구 및 기능 아이콘
panel_icon

LiveCoreView 통합 뷰티 필터

LiveCoreViewTEBeautyKit의 통합은 기본적으로 공식 process(...) 텍스처 처리 프로세스를 자신의 라이브 렌더링 파이프라인에 캡슐화하는 것입니다.

추천 접속 순서

1. 방송인이 준비 페이지에 진입한 후 LiveCoreView를 생성합니다.
2. 리소스 준비, License 검증 및 TEBeautyKit.create(...)을 완료했습니다.
3. LiveCoreView의 비디오 처리 콜백에서 beautyKit.process(...)를 호출합니다.
4. 미리보기 상태에서 효과를 검증한 후 정식 스트리밍 상태로 진입합니다.
5. 페이지 일시 중지, 재개, 종료 시 뷰티 라이프사이클을 동기화하여 처리합니다.

통합 시 주의사항

onDestroy()GL 스레드에서 호출되어야 하며, 메인 스레드에서 직접 종료해서는 안 됩니다. 그렇지 않으면 검은 화면, 흰 화면 또는 리소스 누출이 발생할 수 있습니다.
미용 문제는 우선적으로 다음 세 가지 내용을 확인합니다: 리소스 디렉토리, 라이선스, 텍스처 콜백 링크.
기기 성능이 부족한 경우, 기본 뷰티 파라미터를 먼저 낮추고 고급 효과를 줄이는 방식으로 처리해야 하며, 전체 스트리밍 프로세스에 부담을 주는 방식은 피해야 합니다.
설명:
고급 뷰티 기능은 별도로 결제가 필요하며, 자세한 내용은 Beauty AR SDK를 참조하세요.
새 버전 Live는 최신 고급 뷰티 기능이 기본으로 통합되어 있어 수동으로 통합할 필요가 없습니다.