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