ํต์ฌ๋ก
newrelic.interaction().setName(string $name[, string $trigger])
๊ฒฝ๋ก ๋ณ๊ฒฝ ๋๋ URL ๋ณ๊ฒฝ์ด ์๋ SPA์ ๋ธ๋ผ์ฐ์ ์ํธ ์์ฉ์ ์ด๋ฆ ๋ฐ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ค์ ํฉ๋๋ค.
์๊ตฌ ์ฌํญ
๋ธ๋ผ์ฐ์ Pro+SPA ์์ด์ ํธ(v963 ์ด์)
npm์ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์์ด์ ํธ๋ฅผ ์ค์นํ๋ ๊ฒฝ์ฐ
BrowserAgent
ํด๋์ค๋ฅผ ์ธ์คํด์คํํ ๋spa
๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค.features
๋ฐฐ์ด์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.import { Spa } from '@newrelic/browser-agent/features/spa';const options = {info: { ... },loader_config: { ... },init: { ... },features: [Spa]}์์ธํ ๋ด์ฉ์ npm ๋ธ๋ผ์ฐ์ ์ค์น ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค๋ช
์ด SPA ๋ชจ๋ํฐ๋ง ๋ฐฉ๋ฒ์ ๋ธ๋ผ์ฐ์ ์ํธ ์์ฉ์ ์ด๋ฆ๊ณผ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ค์ ํฉ๋๋ค. ์ด๋ฆ์ BrowserInteraction
์ด๋ฒคํธ์์ browserInteractionName
์์ฑ์ผ๋ก ๋
ธ์ถ๋ฉ๋๋ค. UI์์ ๊ทธ๋ฃนํํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก browserInteractionName
์ ์ฐ๊ฒฐ๋ URL ๋๋ ๊ฒฝ๋ก์ ์ด๋ฆ์ ๋ฐ์ ์ง์ ๋ฉ๋๋ค. ๊ฒฝ๋ก ๋ณ๊ฒฝ ๋๋ URL ๋ณ๊ฒฝ์ด ์๋ ์ํธ์์ฉ์ ๊ธฐ๋กํ๋ ค๋ฉด setName()
์ ์ฌ์ฉํฉ๋๋ค.
setCurrentRouteName()
๋ฉ์๋๋ ํ์ฌ ๊ฒฝ๋ก์ ์ด๋ฆ๋ ์ง์ ํฉ๋๋ค. ๋ ๋ค ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
setName()
์ํธ ์์ฉ์ ์ด๋ฆ ์ง์ ์ ์ฐ์ ํฉ๋๋ค.previousRouteName
๋ฐtargetRouteName
์์ฑ์ ์ฌ์ ํsetCurrentRouteName()
์ ์ ๋ฌ๋ ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ํจ๊ป ์ฌ์ฉํ๋ฉด UI์์ ํํฐ๋ง ๋ฐ ๊ทธ๋ฃนํ๋ฅผ ์ํ ๋ค์ํ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
LikeButtonClick
๊ณผ ๊ฐ์ ํน์ ์ ํ์ ์ํธ์์ฉ์ผ๋ก ํํฐ๋งํฉ๋๋ค.- ๊ทธ๋ฐ ๋ค์
targetRouteName
๋ณ๋ก ๊ทธ๋ฃนํํ์ฌ ๊ฐ์ฅ ๋ง์LikeButtonClick
์ํธ์์ฉ์ด ์๋ ๊ฒฝ๋ก๋ฅผ ํ์ธํฉ๋๋ค.
ํ
์ด API ํธ์ถ์ ๋ธ๋ผ์ฐ์ ์ SPA ํ์ด์ง ๋ณด๊ธฐ ๋ฐ์ดํฐ์ BrowserInteraction
์ด๋ฒคํธ ์ ํ์ ์ ์ฉ๋ฉ๋๋ค. ํ์ค ํ์ด์ง ๋ณด๊ธฐ ๋ฐ PageView ์ด๋ฒคํธ ์ ํ์ ๋ํ ์ฌ์ฉ์ ์ ์ ์ด๋ฆ์ ์ค์ ํ๋ ค๋ฉด setPageViewName
์ฐธ์กฐํ์ธ์. ๋ ํตํ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋งค๊ฐ๋ณ์
๋งค๊ฐ๋ณ์ | ์ค๋ช |
---|---|
๋ | ํ์์. null์ธ ๊ฒฝ์ฐ ์ด๋ฆ์ null์ด ์๋๋ฉด |
๋ | ์ ํ ๊ณผ๋ชฉ. null์ด ์๋๋ฉด |
๋ฐํ ๊ฐ
์ด ๋ฉ์๋๋ interaction()
์์ ์์ฑํ ๊ฒ๊ณผ ๋์ผํ API ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
์
document.getElementById('subscribe').addEventListener('submit', () => { newrelic.interaction().setName('createSubscription'); createSubscription();});