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