1

我正在尝试将 Amplitude 集成到我的 React Native 项目中。我目前仍在开发应用程序并使用 Expo。我试图捕获的第一个事件是用户登录时。

const events = {
  USER_LOGGED_IN: 'USER_LOGGED_IN',
  USER_CREATED_ACCOUNT: 'USER_CREATED_ACCOUNT',
};
let isInitialized = false;
const apiKey = 'xxxxxxxxxxxxxxxxxxxxxxxx';
const initialize = () => {
  if (!Environment.isProduction || !apiKey) {
    return;
  }

  Amplitude.initialize(apiKey);
  isInitialized = true;
};

在我的渲染函数(在返回之上)我有这行代码:

render() {
    Expo.Amplitude.logEvent('USER_LOGGED_IN')
return (

我没有看到任何事件进入幅度。使用 expo 运行我的代码时是否可以看到事件?

注意-此代码在我的主屏幕组件中

4

2 回答 2

1

您需要发布您的 Expo 应用程序以查看 Amplitude 上的事件,因为该集成仅适用于 prod env。应用发布后,您会在 Amplitude 仪表板上看到事件,但会有少许延迟,通常为 1 分钟。

于 2017-12-28T17:44:42.800 回答
0

这就是我为幅度工作所做的

expo install expo-analytics-amplitude

分析.js

import * as Amplitude from 'expo-analytics-amplitude'

let isInitialized = false
const apiKey = 'YOUR_KEY_HERE'

export const events = {
    HOME: 'HOME'
}

export function initialize() {
    if (isInitialized || !apiKey) {
        return
    }

    Amplitude.initialize(apiKey)
    isInitialized = true
}

export function track(event, options) {
    initialize()

    if (options) {
        Amplitude.logEventWithProperties(event, options)
    } else {
        Amplitude.logEvent(event)
    }
}

export default {
    events,
    initialize,
    track
}

在需要跟踪的文件中导入

import Analytics from '../auth/Analytics'

...

useEffect(() => {
  Analytics.track(Analytics.events.HOME)
}, [])
于 2019-11-06T10:44:18.267 回答