1.0.7 โ€ข Published 5 months ago

react-amplitude-provider v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

react-amplitude-provider

npm version npm downloads License: MIT codecov Test

English | ํ•œ๊ตญ์–ด

English

React Amplitude Provider

A lightweight React provider for Amplitude Analytics with TypeScript support.

Installation

npm install react-amplitude-provider

or

yarn add react-amplitude-provider

Features

  • ๐Ÿš€ Easy integration with Amplitude Analytics
  • ๐Ÿ“Š Built-in tracking functions for common events
  • ๐Ÿ”’ TypeScript support
  • ๐ŸŽฏ Session replay support
  • ๐Ÿ’ก Customizable tracking options
  • โšก๏ธ Supports Next.js

Next.js Usage

import { AmplitudeProvider } from 'react-amplitude-provider/next'

-> Add /next in import path

React Usage

  1. Wrap your app with AmplitudeProvider:
import { AmplitudeProvider } from 'react-amplitude-provider'

function App() {
  return (
    <AmplitudeProvider
      apiKey='YOUR_AMPLITUDE_API_KEY'
      isTrackingEnabled={true} // optional, defaults to true
    >
      <YourApp />
    </AmplitudeProvider>
  )
}
  1. Use the tracking hooks in your components:
import { useAmplitude } from 'react-amplitude-provider'

function YourComponent() {
  const {
    trackEvent,
    trackPageView,
    trackFormSubmit,
    trackModalView,
    trackDownload,
    trackShare,
    trackFilter,
    updateUserProperties,
    trackLogout,
  } = useAmplitude()

  // Track a simple event
  trackEvent('button_click', { button_name: 'submit' })

  // Track page view
  trackPageView('home_page', { source: 'direct' })

  // Track form submission
  trackFormSubmit('signup_form', { email: 'user@example.com' })

  return <div>Your component content</div>
}

Available Tracking Methods

  • trackEvent(eventName: string, properties?: Properties)
  • trackPageView(pageName: string, properties?: Properties)
  • trackFormSubmit(formName: string, formValues: FormValues, properties?: Properties)
  • trackModalView(modalProperties: ModalProperties, properties?: Properties)
  • trackDownload(downloadProperties: DownloadProperties, properties?: Properties)
  • trackShare(shareProperties: ShareProperties, properties?: Properties)
  • trackFilter(filterName: string, filterValues: FilterValues, properties?: Properties)
  • updateUserProperties(properties: Properties)
  • trackLogout()
  • setUserId(userId: string)
  • resetSession()

License

MIT


Korean

React Amplitude Provider

TypeScript๋ฅผ ์ง€์›ํ•˜๋Š” Amplitude Analytics์šฉ React ํ”„๋กœ๋ฐ”์ด๋”์ž…๋‹ˆ๋‹ค.

์„ค์น˜

npm install react-amplitude-provider

or

yarn add react-amplitude-provider

๊ธฐ๋Šฅ

์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿš€ Amplitude Analytics์™€ ์‰ฌ์šด ์—ฐ๋™
  • ๐Ÿ“Š ์ผ๋ฐ˜์ ์ธ ์ด๋ฒคํŠธ๋ฅผ ์œ„ํ•œ ๋‚ด์žฅ ํŠธ๋ž˜ํ‚น ํ•จ์ˆ˜
  • ๐Ÿ”’ TypeScript ์ง€์›
  • ๐ŸŽฏ ์„ธ์…˜ ๋ฆฌํ”Œ๋ ˆ์ด ์ง€์›
  • ๐Ÿ’ก ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅํ•œ ํŠธ๋ž˜ํ‚น ์˜ต์…˜
  • โšก๏ธ Next.js ์ง€์›

Next.js์—์„œ ์‚ฌ์šฉ๋ฒ•

import { AmplitudeProvider } from 'react-amplitude-provider/next'

-> import path์— /next๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค.

React์—์„œ ์‚ฌ์šฉ๋ฒ•

  1. AmplitudeProvider๋กœ ์•ฑ ๊ฐ์‹ธ๊ธฐ:
import { AmplitudeProvider } from 'react-amplitude-provider'

function App() {
  return (
    <AmplitudeProvider
      apiKey='YOUR_AMPLITUDE_API_KEY'
      isTrackingEnabled={true} // optional, defaults to true
    >
      <YourApp />
    </AmplitudeProvider>
  )
}
  1. ์ปดํฌ๋„ŒํŠธ์—์„œ ํŠธ๋ž˜ํ‚น ํ›… ์‚ฌ์šฉํ•˜๊ธฐ:
import { useAmplitude } from 'react-amplitude-provider'

function YourComponent() {
  const {
    trackEvent,
    trackPageView,
    trackFormSubmit,
    trackModalView,
    trackDownload,
    trackShare,
    trackFilter,
    updateUserProperties,
    trackLogout,
  } = useAmplitude()

  // ๊ฐ„๋‹จํ•œ ์ด๋ฒคํŠธ ์ถ”์ 
  trackEvent('button_click', { button_name: 'submit' })

  // ํŽ˜์ด์ง€ ๋ทฐ ์ถ”์ 
  trackPageView('home_page', { source: 'direct' })
}

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŠธ๋ž˜ํ‚น ๋ฉ”์†Œ๋“œ

  • trackEvent(eventName: string, properties?: Properties) - ์ผ๋ฐ˜ ์ด๋ฒคํŠธ ํŠธ๋ž˜ํ‚น
  • trackPageView(pageName: string, properties?: Properties) - ํŽ˜์ด์ง€ ๋ทฐ ํŠธ๋ž˜ํ‚น
  • trackFormSubmit(formName: string, formValues: FormValues, properties?: Properties) - ํผ ์ œ์ถœ ํŠธ๋ž˜ํ‚น
  • trackModalView(modalProperties: ModalProperties, properties?: Properties) - ๋ชจ๋‹ฌ ๋ทฐ ํŠธ๋ž˜ํ‚น
  • trackDownload(downloadProperties: DownloadProperties, properties?: Properties) - ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ‚น
  • trackShare(shareProperties: ShareProperties, properties?: Properties) - ๊ณต์œ  ํŠธ๋ž˜ํ‚น
  • trackFilter(filterName: string, filterValues: FilterValues, properties?: Properties) - ํ•„ํ„ฐ ์‚ฌ์šฉ ํŠธ๋ž˜ํ‚น
  • updateUserProperties(properties: Properties) - ์‚ฌ์šฉ์ž ์†์„ฑ ์—…๋ฐ์ดํŠธ
  • trackLogout() - ๋กœ๊ทธ์•„์›ƒ ํŠธ๋ž˜ํ‚น
  • setUserId(userId: string) - ์‚ฌ์šฉ์ž ID ์„ค์ •
  • resetSession() - ์„ธ์…˜ ์ดˆ๊ธฐํ™”

๋ผ์ด์„ ์Šค

MIT