React Native SDK - patchNetwork 方法

关于 OpenReplay React Native SDK 中 patchNetwork 方法的详细说明

React Native SDK ⁠-⁠ patchNetwork 方法

此方法会对 XHR 和 Fetch API 进行补丁处理,以拦截网络请求。

import OR from '@openreplay/react-native'

OR.patchNetwork(
    global,
		(url) => url.includes('openreplaydomain'),
    { mode: 'fetch' }
)
  • context: globalThis:应用程序的当前上下文(用于获取 fetch/xhr)
  • isServiceURL: (url: string) => boolean:用于检查当前请求是应被追踪(false)还是应被跳过(true)的函数
  • options: Partial<Options>:选项对象
  • ignoreHeaders: Array<string> | boolean:要忽略的请求头(默认值:['cookie', 'set-cookie', 'authorization']
  • capturePayload: boolean:是否捕获请求负载(payload)(默认值:false
  • sanitizer: data: RequestResponseData) => RequestResponseData:用于清理请求/响应的函数(默认值:undefined
  • mode: 'fetch' | 'xhr' | 'all':要对哪个 API 进行补丁处理(默认值:'fetch'

注意:React-Native 的 fetch 在底层使用 XHR(撰写本文时如此),因此使用 “all” 可能会导致录制中出现重复的请求

如果你对此流程有任何疑问,欢迎通过我们的 Slack 联系我们,或查看我们的论坛