我试图将振幅集成到我的反应本机项目中。我目前仍在开发应用程序和使用博览会。我要捕获的第一个事件是登录用户时。
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运行我的代码时看到事件?
注意 - 此代码在我的主屏幕组件中
您需要发布您的博览会应用程序以查看幅度上的事件,因为集成仅在prod env上起作用。发布您的应用程序后,您将在幅度仪表板上看到事件,通常会延迟较小,通常为1分钟。
这是我为工作振幅所做的
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)
}, [])
在上面的代码上扩展,我进行了一些次要更新。如果找到一种完全集成的方法,我将更新此信息。
expo install expo-analytics-amplitude
import * as Amplitude from 'expo-analytics-amplitude'
let isInitialized = false
const apiKey = 'your API key'
export const events = {
HOME: 'HOME'
}
export function initialize() {
if (isInitialized || !apiKey) {
return
}
Amplitude.initializeAsync(apiKey)
isInitialized = true
}
export function track(event, options) {
initialize()
if (options) {
Amplitude.logEventWithPropertiesAsync(event, options)
} else {
Amplitude.logEventAsync(event)
}
}
export default {
events,
initialize,
track
}
导入您需要跟踪的文件。我初始化了与app.js的振幅的连接。
import Analytics from "./app/auth/Analytics";
useEffect(() => {
Analytics.initialize()
Analytics.track(Analytics.events.HOME)
}, []);