React Native Library 설정
IMQABridge 추가 방법은 React Native를 이용하여 개발되는 케이스마다 달라질 수 있습니다.
1. Component 별 IMQA 설정
함수형 컴포넌트 설정
React Native 앱 성능 데이터 수집을 위해 Component 화면별로 IMQA 수집 코드를 삽입해주어야 합니다. 해당 수집 코드는 함수형 컴포넌트로 작성되었으며 부모 컴포넌트/ 자식 컴포넌트의 따라 설정이 달라 집니다. 제일 우선적으로 rendering이 이루어 지는 상위 컴포넌트 ( 부모 컴포넌트 ) 해당 컴포넌트에서 import 하여 사용되는 컴포넌트 ( 자식 컴포넌트 ) 를 구분하여 아래 설정을 맞게 적용이 되어야 합니다.
( 부모 컴포넌트 )
// MpmAgent import
import MpmAgent from ‘imqa-react-native-agent’;
..
const MyComponent = () => {
..
useLayoutEffect(() => {
// 해당 설정은 화면의 rendering이 이루어 지기전에 호출되어야 하는 함수이므로
// 꼭 useLayoutEffect Hook 에서 적용 부탁 드립니다.
MpmAgent?.setBehaviorData("MyComponent");
}, []);
useEffect(() => {
// useEffect 함수의 최상단에 위치해야 합니다.
MpmAgent?.startReactNativeRender("MyComponent",true);
..
// useEffect 함수의 최하단에 위치해야 합니다.
MpmAgent?.endReactNativeRender("MyComponent",true);
}, []);
..
} ( 자식 컴포넌트 )
클래스형 컴포넌트 설정
React Native 앱 성능 데이터 수집을 위해 Component 화면별로 IMQA 수집 코드를 삽입해주어야 합니다. 해당 수집 코드는 클래스형 컴포넌트로 작성되었으며 부모 컴포넌트/ 자식 컴포넌트의 따라 설정이 달라 집니다. 제일 우선적으로 rendering이 이루어 지는 상위 컴포넌트 ( 부모 컴포넌트 ) 해당 컴포넌트에서 import 하여 사용되는 컴포넌트 ( 자식 컴포넌트 ) 를 구분하여 아래 설정을 맞게 적용이 되어야 합니다.
( 부모 컴포넌트 )
( 자식 컴포넌트 )
2. Network 통신 설정
Axios 를 사용한 Network 통신 시
Axios 라이브러리를 사용하여 Network 통신을 진행하시는 경우 interceptor를 구현하여 네트워크 통신 시 IMQA 수집 코드가 동작할 수 있도록 코드 삽입을 진행해주셔야 합니다.
Fetch 를 사용한 Network 통신 시
Fetch를 사용하여 Network 통신을 진행하시는 경우네트워크 통신 시 IMQA 수집 코드가 동작할 수 있도록 아래 형태로 코드 삽입을 진행해주셔야 합니다.
Last updated