1.0.7 โข Published 5 months ago
react-amplitude-provider v1.0.7
react-amplitude-provider
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
- 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>
)
}
- 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์์ ์ฌ์ฉ๋ฒ
- AmplitudeProvider๋ก ์ฑ ๊ฐ์ธ๊ธฐ:
import { AmplitudeProvider } from 'react-amplitude-provider'
function App() {
return (
<AmplitudeProvider
apiKey='YOUR_AMPLITUDE_API_KEY'
isTrackingEnabled={true} // optional, defaults to true
>
<YourApp />
</AmplitudeProvider>
)
}
- ์ปดํฌ๋ํธ์์ ํธ๋ํน ํ ์ฌ์ฉํ๊ธฐ:
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