SDK ์ฐ๋
Hackle React SDK๋ React 16.8 ์ด์ ๋ฒ์ ์ ์ง์ํฉ๋๋ค.
React SDK๋ JavaScript SDK ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค.
์์กด์ฑ ์ถ๊ฐ
npm install --save @hackler/react-sdkyarn add @hackler/react-sdkSDK ์ด๊ธฐํ
SDK๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋ฐ๋์ HackleReactSDKClient ๋ฅผ ์ด๊ธฐํ ํด์ผ ํฉ๋๋ค.
HackleReactSDKClient๋ SDK์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฉ์๋๋ค์ ์ ๊ณตํ๋ ํด๋์ค์ ๋๋ค.- SDK ํค๋ ํตํด ์๋น์ค์ ๋์๋ณด๋ ์์ ์์นํ SDK ์ฐ๋ ์ ๋ณด ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
์ดํ๋ฆฌ์ผ์ด์
์ด๊ธฐํ ๋จ๊ณ์ ํตํด ์๋ฒ์ ๋ฐ์ดํฐ ๋๊ธฐํ๋ฅผ ์ํ ํต์ ์ ์งํํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด ์๊ฐ์ ์ ๋ฐ๋ฆฌ ์ด์ ๋ถ๊ณผํฉ๋๋ค. ๋๊ธฐํ๊ฐ ์๋ฃ๋๋ฉด ์ฆ์ ๋ ๋๋ง์ด ์งํ๋ฉ๋๋ค.
Google Tag Manager (GTM) ์ฌ์ฉ์ ์ฃผ์ ์ฌํญGTM์ ์ฌ์ฉํ์ฌ ์ฐ๋์ ์งํํ ๊ฒฝ์ฐ, Hackle SDK ์ด๊ธฐํ๋ฅผ ํ๊ณ , SDK๋ฅผ GTM ์์ ์ ๊ทผํ ์ ์๋๋ก window์ ์ถ๊ฐ ์ ์ธ์ด ํ์ํฉ๋๋ค.
import { createInstance, HackleProvider } from "@hackler/react-sdk";
// YOUR_BROWSER_SDK_KEY ์๋ฆฌ์ SDK ํค๋ฅผ ๋ฃ์ต๋๋ค.
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY")
ReactDOM.render(
<HackleProvider hackleClient={hackleClient}>
<YourApp />
</HackleProvider>,
document.getElementById('root')
);
// GTM ์ฐ๋ ์ ์ถ๊ฐ script
window.hackleClient = hackleClientimport {createInstance, HackleProvider} from "@hackler/react-sdk";
// YOUR_BROWSER_SDK_KEY ์๋ฆฌ์ SDK ํค๋ฅผ ๋ฃ์ต๋๋ค.
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY")
function MyApp({Component, pageProps}) {
return (
<HackleProvider hackleClient={hackleClient} supportSSR>
<Component {...pageProps} />
</HackleProvider>
)
}
export default MyAppimport {createInstance, HackleProvider} from "@hackler/react-sdk";
// YOUR_BROWSER_SDK_KEY ์๋ฆฌ์ SDK ํค๋ฅผ ๋ฃ์ต๋๋ค.
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY")
function App() {
return (
<HackleProvider hackleClient={hackleClient} supportSSR>
<YourApp />
</HackleProvider>
)
}
export default App์ด๊ธฐํ ์ค์ ์ ๋ณด
์ค์ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ SDK๋ฅผ ์ด๊ธฐํ ํ ์ ์์ต๋๋ค.
import { createInstance, HackleProvider } from "@hackler/react-sdk";
// ์ค์ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์ด๊ธฐํ
const config = {
debug: true
};
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY", config);
ReactDOM.render(
<HackleProvider hackleClient={hackleClient}>
<YourApp />
</HackleProvider>,
document.getElementById('root')
);import {createInstance, HackleProvider} from "@hackler/react-sdk";
// ์ค์ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์ด๊ธฐํ
const config = {
debug: true
};
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY", config);
function MyApp({Component, pageProps}) {
return (
<HackleProvider hackleClient={hackleClient} supportSSR>
<Component {...pageProps} />
</HackleProvider>
)
}
export default MyApp๋ชจ๋ ์ค์ ์ต์
key | ๊ธฐ๋ฅ | ๊ธฐ๋ณธ๊ฐ | ์ง์ ๋ฒ์ |
|---|---|---|---|
debug | ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ํ ๋ก๊ทธ๋ฅผ ์ฝ์์ ์ถ๋ ฅํฉ๋๋ค. | false | 1.0.0+ |
pollingIntervalMillis | ๋์๋ณด๋์์ ์ค์ ํ ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธ ํ ์ ์์ต๋๋ค. ์ต์๊ฐ : 60000 (60์ด) | -1 | 11.1.0+ |
exposureEventDedupIntervalMillis | ๋์ผํ ์ฌ์ฉ์๊ฐ ์ฐ์์ผ๋ก ๋ฐ์์ํจ ๋์ผํ A/B ํ ์คํธ, ๊ธฐ๋ฅํ๋๊ทธ ๋ถ๋ฐฐ๊ฒฐ๊ณผ์ ๋ํ ๋ ธ์ถ ์ด๋ฒคํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์ต์๊ฐ: 1000 (1์ด) | 36000(1๋ถ / 11.23.0 ๋ฒ์ ์ด์) -1 (์ค๋ณต์ ๊ฑฐ ํ์ง ์์ / 11.23.0 ๋ฒ์ ๋ฏธ๋ง) | 11.1.0+ |
sessionTimeoutMillis | ์ธ์ ๋ง๋ฃ ์๊ฐ์ ์ค์ ํฉ๋๋ค. | 1800000 (30๋ถ) | 11.8.0+ |
devTool | ์ฌ์ฉ์ ํ์์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. | undefined | 11.13.0+ |
autoOpenDevTool | ์ฌ์ฉ์ ํ์ ๋ฒํผ์ด ์๋์ผ๋ก ๋ํ๋๋๋ก ํ๋ ์ต์ ์ ๋๋ค. | false | 11.13.0+ |
user | ์ด๊ธฐํ ์์ ์ ์ฌ์ฉ์๋ฅผ ์ฃผ์ ํฉ๋๋ค. | undefined | 11.22.3+ |
์ด๊ธฐํ ์ ์ฌ์ฉ์ ์ฃผ์
config์ user๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ ์ ์ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ SDK๋ฅผ ์ด๊ธฐํ ํ ์ ์์ต๋๋ค.
- ์ ์ ์ ๋ณด๋ฅผ ํฌํจํ์ง ์์ผ๋ฉด ์ฟ ํค์ ์ ์ฅ๋ ์ ์ ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ฟ ํค์ ์ ์ฅ๋ ์ ์ ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ Hackle Device ID๋ฅผ device id๋ก ๊ฐ์ง๊ณ ์ ์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ์ ์ ๋ณด๋ SDK ์ด๊ธฐํ ์ดํ์๋ ์ ์ ์ ๋ณด ์ค์ ํจ์๋ฅผ ํตํด ์์ ๋กญ๊ฒ ์์ ํ ์ ์์ต๋๋ค.
import { createInstance, HackleProvider } from "@hackler/react-sdk";
const user = {
userId: "LOGIN_ID",
deviceId: "CUSTOM_DEVICE_ID"
};
const config = {
debug: true,
user: user
};
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY", config);
ReactDOM.render(
<HackleProvider hackleClient={hackleClient}>
<YourApp />
</HackleProvider>,
document.getElementById('root')
);import {createInstance, HackleProvider} from "@hackler/react-sdk";
const user = {
userId: "LOGIN_ID",
deviceId: "CUSTOM_DEVICE_ID"
};
const config = {
debug: true,
user: user
};
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY", config);
function MyApp({Component, pageProps}) {
return (
<HackleProvider hackleClient={hackleClient} supportSSR>
<Component {...pageProps} />
</HackleProvider>
)
}
export default MyApp๋์๋ณด๋ ์ค์ ์ ๋ณด ๊ฐฑ์
๋์๋ณด๋ ์ค์ ์ ๋ณด๋ฅผ ๋ช ์์ ์ผ๋ก ๊ฐฑ์ ํ ์ ์์ต๋๋ค.
ํด๋น ํจ์๋ 60์ด์ ํ๋ฒ ์ ํ์ ์ผ๋ก ํธ์ถํ ์ ์์ต๋๋ค.
hackleClient.fetch();Updated 8 days ago
