iOS

React Native環境におけるIMQA SDKを適用する方法を提供します。

1. 共通

MPM Module install

React native環境においてIMQA SDKを適用するために、下記のコマンドでパッケージをインストールする必要があります。.

npmコマンドを使う時
 npm install imqa-react-native-agent --save
 npx pod-install
yarnコマンドを使う時
 yarn add imqa-react-native-agent
 npx pod-install

2. プロジェクト設定

1. ImqaSettings.hファイルを作成した後、以下の内容を入力します。

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
@interface ImqaSetting : NSObject
- (void) IMQASetting;
@end
NS_ASSUME_NONNULL_END

2. ImqaSettings.mファイルを作成した後、以下の内容を入力します。

#import "ImqaSetting.h"
#import <IMQAMPMAgent/IMQAMPMAgent.h>

@implementation ImqaSetting
- (void) IMQASetting{
  
  if (([NSUserDefaults.standardUserDefaults objectForKey:@"serverUrl"] == nil)) {
    [NSUserDefaults.standardUserDefaults setObject:@"https://collector.imqa.io" forKey: @"serverUrl"];
  }
  
  if (([NSUserDefaults.standardUserDefaults objectForKey:@"projectKey"] == nil)) {
    [NSUserDefaults.standardUserDefaults setObject:@"" forKey: @"projectKey"];
  }
  
  NSString* PROJECT_KEY = [NSUserDefaults.standardUserDefaults objectForKey:@"projectKey"];
  NSString* API_URL = [NSUserDefaults.standardUserDefaults objectForKey:@"serverUrl"];
  NSLog(@"[IMQA] setAgentConfig : %@ %@", PROJECT_KEY, API_URL);
  IMQAConfig* mpmConfig = [[IMQAConfig alloc] init:PROJECT_KEY];
  mpmConfig.api_url = API_URL;
  [[IMQAMpm sharedInstance] runWithConfig:mpmConfig];
}
@end

3. AppDelegate.hファイルから以下のいずれかをインポートしてください。

#import "ImqaSetting.h"

4. AppDelegate.mファイルで- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions関数の一番上に下記のコードを追加します。

ImqaSetting* is = [ImqaSetting new];
[is IMQASetting];

3. 詳細設定

iOS MPMフレームワークには、様々な設定を提供しています。

収集周期設定

IMQA MPMフレームワークがデータを保存する周期と収集する周期を秒単位で設定することができます。

  • Objective-C設定方法

ImqaSettings.m
IMQAConfig* mpmConfig = [[IMQAConfig alloc] init:@"PROJECT_KEY"];
mpmConfig.dump_interval = 10; // Interval of getting the performance data dump (sec)
mpmConfig.save_interval = 60; // Interval of sending performance data to the collection server (sec)

ネットワーク収集設定

IMQA MPMフレームワークでは、ネットワーク収集に対する収集の有無を設定することができます。また、特定のURLに対する収集を無視できる機能を提供しているため、セキュリティが要求されるURLを無視することができます。

  • Objective-C設定方法

ImqaSettings.m
IMQAConfig* mpmConfig = [[IMQAConfig alloc] init:@"PROJECT_KEY"];
mpmConfig.useNetworkCollect = YES; //YES: Collect, NO: Do not collect
mpmConfig.ignoreUrl = @[@"https://url1.com", @"http://url.com"]; // An array of specific URLs to ignore

収集データ確認

IMQA MPMフレームワークで収集しているデータを確認したい場合は、オプションを通してデータをConsoleで確認することができます。

  • Objective-C設定方法

ImqaSettings.m
IMQAConfig* mpmConfig = [[IMQAConfig alloc] init:@"PROJECT_KEY"];
mpmConfig.downloadDumpData = YES;

4. ネットワーク収集(NSURLSessionまたはURLSessionを使用する場合)

NSURLSessionまたはURLSessionでネットワークを通信する場合、一部の状況でネットワーク収集のための設定が必要です。

  • Objective-C設定方法

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration]; // or default
configuration.protocolClasses = [[IMQAMpm sharedInstance] imqaURLSessionProtocol];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];

5. dSYM設定

iOSのSymbolication(シンボル化)を適用したアプリの場合は、dSYM設定でクラス名と関数名を確認できます。 「IMQA MPMユーザーガイド> 2.4。 プロジェクト管理> dSYM設定」を参照してください。

Last updated