React-Native 埋点设计

新手上路,请多包涵

React-Native 无埋点方案中如何给组件定位

我想通过对 RCTUIManager 类中JS 响应方法的 Hook 去埋点,但 Hook 该方法时发现无法匹配 React-Native 中的组件,想问有没有什么思路?

相关代码,以下是我 Hook 的方法

RCT_EXPORT_METHOD(setJSResponder:(nonnull NSNumber *)reactTag blockNativeResponder:(__unused BOOL)blockNativeResponder)

该方法是可以拦截到 React-Native组件的响应了,但该怎么判断响应的是哪个组件呢?

阅读 2.7k
1 个回答
新手上路,请多包涵

我们项目目前也要做RN埋点,虽然回答时间晚了点,但是思路还是分享一下,欢迎指正。

要定位到组件可以给组件设置nativeID,在RCTUIManager中有个nativeIDRegistry, 可以通过
reactTag找到对应nativeID。

我现在遇到的问题是 怎么通过这个方法定位RN页面,理论上设置nativeID定位到组件的时候可以包含页面信息。但是每个组件或者控件都设置nativeID的话,工作量太大了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题