import * as amplitude from '@amplitude/analytics-browser' // Nuxt 플러그인 정의 export default defineNuxtPlugin(nuxtApp => { // const { memberNo } = useAnalytics() as { memberNo: string } const memberNo = csrGetStoveMemberNo() // Amplitude 초기화 amplitude.init('6bfa2705264260f060e02493ecf882ad', { // 원하는 설정을 여기에 추가하세요 defaultTracking: { attribution: false, // 기본 추적 설정: 속성 추적 비활성화 pageViews: true, // 페이지 뷰 추적 활성화 sessions: false, // 세션 추적 비활성화 formInteractions: false, // 폼 상호작용 추적 비활성화 fileDownloads: false, // 파일 다운로드 추적 비활성화 }, autocapture: { attribution: true, }, }) // Identify 이벤트 생성 및 설정 const identifyEvent = new amplitude.Identify() identifyEvent.set('member_no', memberNo) // Identify 이벤트 전송 및 사용자 ID 설정 amplitude.identify(identifyEvent) amplitude.setUserId(`${memberNo}`) ;(window as any).amplitude = amplitude // amplitude 객체 전역으로 설정(Stove GNB에서 사용) // 페이지가 숨겨질 때 이벤트 리스너 추가 window.addEventListener('pagehide', () => { amplitude.setTransport('beacon') // 전송 방식 설정 amplitude.flush() // Amplitude 데이터 전송 }) // Nuxt 앱에 amplitude 인스턴스 제공 nuxtApp.provide('amplitude', amplitude) })