React Native環境におけるIMQA SDKを適用する方法を提供します。
1. 共通
MPM Module install
React native環境においてIMQA SDKを適用するために、下記のコマンドでパッケージをインストールする必要があります。.
Copy npm install imqa-react-native-agent --save
npx pod-install
Copy yarn add imqa-react-native-agent
npx pod-install
2. プロジェクト設定
1. ImqaSettings.hファイルを作成した後、以下の内容を入力します。
Copy #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface ImqaSetting : NSObject
- (void) IMQASetting;
@end
NS_ASSUME_NONNULL_END
2. ImqaSettings.mファイルを作成した後、以下の内容を入力します。
Copy #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ファイルから以下のいずれかをインポートしてください。
Copy #import "ImqaSetting.h"
4. AppDelegate.mファイルで- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions関数の一番上に下記のコードを追加します。
Copy ImqaSetting* is = [ImqaSetting new];
[is IMQASetting];
3. 詳細設定
iOS MPMフレームワークには、様々な設定を提供しています。
収集周期設定
IMQA MPMフレームワークがデータを保存する周期と収集する周期を秒単位で設定することができます。
Copy 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を無視することができます。
Copy 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で確認することができます。
Copy IMQAConfig* mpmConfig = [[IMQAConfig alloc] init:@"PROJECT_KEY"];
mpmConfig.downloadDumpData = YES;
4. ネットワーク収集(NSURLSessionまたはURLSessionを使用する場合)
NSURLSessionまたはURLSessionでネットワークを通信する場合、一部の状況でネットワーク収集のための設定が必要です。
Copy 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 11 months ago