feat: GA/SA 추가, 이미지 추가
This commit is contained in:
41
layers/plugins/amplitude.client.ts
Normal file
41
layers/plugins/amplitude.client.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
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)
|
||||
})
|
||||
Reference in New Issue
Block a user