React Native Library 설정

1. Component 별 IMQA 설정

함수형 컴포넌트 설정

React Native 앱 성능 데이터 수집을 위해 Component 화면별로 IMQA 수집 코드를 삽입해주어야 합니다. 해당 수집 코드는 함수형 컴포넌트로 작성되었으며 부모 컴포넌트/ 자식 컴포넌트의 따라 설정이 달라 집니다. 제일 우선적으로 rendering이 이루어 지는 상위 컴포넌트 ( 부모 컴포넌트 ) 해당 컴포넌트에서 import 하여 사용되는 컴포넌트 ( 자식 컴포넌트 ) 를 구분하여 아래 설정을 맞게 적용이 되어야 합니다.

  • ( 부모 컴포넌트 )

../components/MyComponent.tsx ( 부모 컴포넌트 )
// 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