분석 (Watch History 기반)
📌
connectbase-clientSDK 에는getVideoAnalytics/getChannelAnalytics/getAudienceDemographics같은 별도 분석 메서드가 없습니다.채널/비디오 통계는 콘솔의 분석 (Analytics) 메뉴에서 확인하거나, 자체
tbl_watch_logs테이블에cb.database.createData로 시청 로그를 누적한 뒤cb.database.aggregate로 직접 집계할 수 있습니다.
직접 집계 패턴
⚠️
cb.video.reportWatchProgress는 백엔드 라우트가 아직 없어 호출하면 404 가 됩니다. 자체tbl_watch_logs테이블에cb.database로 직접 기록하는 방식이 현재 유일하게 동작하는 길입니다.
typescript
// 1) 자체 시청 로그를 데이터베이스에 누적
videoElement.addEventListener('timeupdate', async () => {
await cb.database.createData('tbl_watch_logs', {
data: {
video_id: videoId,
member_id: currentMember.member_id,
watched_seconds: Math.floor(videoElement.currentTime),
},
})
})
// 2) 누적 row 예시
await cb.database.createData('tbl_watch_logs', {
data: {
video_id: videoId,
member_id: currentMember.member_id,
watched_seconds: 30,
finished: false
}
})
// 3) 집계 — 비디오별 시청 시간 합계
const stats = await cb.database.aggregate('tbl_watch_logs', [
{ $match: { video_id: videoId } },
{
$group: {
_id: null,
total_watch_seconds: { $sum: '$watched_seconds' },
unique_viewers: { $sum: 1 }
}
}
])
console.log(stats.data) // 집계 결과 row 들 (서버 응답: { data, execution_time_ms })