将Amplitude Analytics集成到使用Expo实现本机应用程序

时间:2017-12-08 23:40:55

标签: react-native analytics expo amplitude

我正在尝试将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运行我的代码时是否可以看到事件?

注意 - 此代码位于我的主屏幕组件

2 个答案:

答案 0 :(得分:1)

您需要Make another branch default?才能查看Amplitude上的事件,因为该集成仅适用于prod env。一旦你的应用发布,你就会在Amplitude仪表板上看到一些延迟很小的事件,通常是1分钟。

答案 1 :(得分:0)

这是我为使振幅工作所做的事情

expo install expo-analytics-amplitude

Analytics.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)
}, [])