ReactNative - 跨所有页面实施 PageView 分析的简单方法是什么?
ReactNative-What's an easy way to implement PageView analytics across all pages?
我正在为 Crashalytics 和 Analytics 实施 Microsoft AppCenter。在本机开发中,我能够添加两行代码,并将页面浏览分析(每次查看页面时跟踪)添加到应用程序中的每个页面。我很想知道在 React Native 应用程序中是否也有一种简单的方法可以做到这一点。这是它在本机上的样子:
在原生 iOS 中,我只是创建一个 BaseViewController 并确保每个 ViewController 都继承自那个 class。然后在 BaseViewController 的 ViewDidLoad 中添加类似下面的内容。
在本机 Android 中,我只是创建一个 BaseFragment 并确保每个片段都继承自该 class。然后在 BaseFragment 的 OnCreate 中添加类似以下行的内容:
Analytics.TrackEvent("PageView: " + this.GetType().Name)
如何在 React Native 上实现类似的东西?我猜,因为我在所有页面上都使用了一个,所以我可以以某种方式创建一个 BaseSafeAreaView,然后我可以在 UseEffect 中添加类似的分析代码?
Mixpanel怎么样?您可以实施完全成熟的分析解决方案。
片段也很棒。他们也为 [react native integration] 提供支持。如有必要,您可以integrate segment with mixpanel。
Firebase 分析也是一个很好的解决方案。这可以通过 rnfirebase analytics package
来完成
因为我使用的是 react-navigation,所以我能够 use this 使用我的 NavigationContainer,所以我不需要任何基础 class
...
export default () => {
const navigationRef = useNavigationContainerRef();
const routeNameRef = useRef();
return (
<NavigationContainer
ref={navigationRef}
onReady={() => {
routeNameRef.current = navigationRef.getCurrentRoute().name;
}}
onStateChange={async () => {
const previousRouteName = routeNameRef.current;
const currentRouteName = navigationRef.getCurrentRoute().name;
if (previousRouteName !== currentRouteName) {
await Analytics.trackEvent('PageView: ' + currentRouteName);
}
routeNameRef.current = currentRouteName;
}}
>
...
我正在为 Crashalytics 和 Analytics 实施 Microsoft AppCenter。在本机开发中,我能够添加两行代码,并将页面浏览分析(每次查看页面时跟踪)添加到应用程序中的每个页面。我很想知道在 React Native 应用程序中是否也有一种简单的方法可以做到这一点。这是它在本机上的样子:
在原生 iOS 中,我只是创建一个 BaseViewController 并确保每个 ViewController 都继承自那个 class。然后在 BaseViewController 的 ViewDidLoad 中添加类似下面的内容。
在本机 Android 中,我只是创建一个 BaseFragment 并确保每个片段都继承自该 class。然后在 BaseFragment 的 OnCreate 中添加类似以下行的内容:
Analytics.TrackEvent("PageView: " + this.GetType().Name)
如何在 React Native 上实现类似的东西?我猜,因为我在所有页面上都使用了一个,所以我可以以某种方式创建一个 BaseSafeAreaView,然后我可以在 UseEffect 中添加类似的分析代码?
Mixpanel怎么样?您可以实施完全成熟的分析解决方案。
片段也很棒。他们也为 [react native integration] 提供支持。如有必要,您可以integrate segment with mixpanel。
Firebase 分析也是一个很好的解决方案。这可以通过 rnfirebase analytics package
来完成因为我使用的是 react-navigation,所以我能够 use this 使用我的 NavigationContainer,所以我不需要任何基础 class
...
export default () => {
const navigationRef = useNavigationContainerRef();
const routeNameRef = useRef();
return (
<NavigationContainer
ref={navigationRef}
onReady={() => {
routeNameRef.current = navigationRef.getCurrentRoute().name;
}}
onStateChange={async () => {
const previousRouteName = routeNameRef.current;
const currentRouteName = navigationRef.getCurrentRoute().name;
if (previousRouteName !== currentRouteName) {
await Analytics.trackEvent('PageView: ' + currentRouteName);
}
routeNameRef.current = currentRouteName;
}}
>
...