reactjs - 如何将振幅分析与 React 应用程序集成?

标签 reactjs web-applications sdk analytics amplitude-analytics

振幅分析确实提供 Javascript SDK for Amplitude但是如何在无法直接访问 DOM 的 React 应用程序中实现分析呢?

GitHub 页面建议使用 amplitude.getInstance().logEvent('EVENT_IDENTIFIER_HERE') 但在 React 中我没有组件或事件的唯一标识符。

最佳答案

这就是我所做的并且效果很好:

yarn 添加振幅-js

实用程序/amplitude.js

import amplitude from 'amplitude-js';

export const initAmplitude = () => {
  amplitude.getInstance().init(process.env.REACT_APP_AMPLITUDE);
};

export const setAmplitudeUserDevice = installationToken => {
  amplitude.getInstance().setDeviceId(installationToken);
};

export const setAmplitudeUserId = userId => {
  amplitude.getInstance().setUserId(userId);
};

export const setAmplitudeUserProperties = properties => {
  amplitude.getInstance().setUserProperties(properties);
};

export const sendAmplitudeData = (eventType, eventProperties) => {
  amplitude.getInstance().logEvent(eventType, eventProperties);
};

index.js

...

import { initAmplitude } from './utilities/amplitude';

initAmplitude();

ReactDOM.render(
  <ThemeProvider theme={theme}>
    <Provider store={store}>
      <Routes store={store} />
    </Provider>
  </ThemeProvider>,
  document.getElementById('root')
);

然后就可以开始了。在需要时调用其他方法,例如 setAmplitudeUserDevice:

import { setAmplitudeUserDevice } from 'utilities/amplitude';

export function installationInitializationSuccess(id, token) {
  setAmplitudeUserDevice(token);

  return {
    type: INSTALLATION_INITIALIZATION_SUCCESS,
    id,
    token
  };
}

希望对你有帮助!

关于reactjs - 如何将振幅分析与 React 应用程序集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39823648/

相关文章:

javascript - 使用 useEffect() 获取数据每毫秒发出一次 get 请求

Java JSF 关于自定义验证

javascript - sdk/pageload-require 未定义

java - 除非重新启动 Glassfish 服务器,否则不会反射(reflect)属性文件更改

Java WebApp 和 tomcat context.xml

php - 记录 Amazon SES 消息 ID

Android SDK 管理器 - 要下载什么 API?

reactjs - 如何在 Next.js 应用程序中生成路由 [slug] 的 .html 文件?

reactjs - 选择后聚焦文本输入

javascript - 当数据可用时,Material UI 组件不会自动完成