- 印刷する
- PDF
iOS SDK
- 印刷する
- PDF
Classic/VPC環境で利用できます。
iOS SDKでは Effective Log Search & Analytics 2.0サービスで提供する iOS SDKの使用方法を説明します。
iOS SDKは HTTPSプロトコルを利用してログを転送します。
SDKを使用する手順は、次の通りです。
1. 事前準備
2. SDKのインストール
3. SDKを使用する
1. 事前準備
iOS SDKをインストールするための事前準備事項は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、プロジェクトを作成します。
- 作成したプロジェクト詳細情報画面で txtToken値を確認します。
- iOS用 SDKをダウンロードします。
2. iOS SDKのインストール
iOS SDKをインストールする方法は、次の通りです。
- ダウンロードした SDKファイルの圧縮を解凍します。
- SDKをインストールする iOSプロジェクトの
Frameworks
フォルダに SDKファイルを保存します。- Nelo2SDK.framework
- CrashReporter.framework
- Xcodeを実行してプロジェクトを開きます。
- TARGETS でビルドするターゲットをクリックします。
- Build Phases を選択した後、Link Binary With Libraries 領域に以下のシステムフレームワークを追加します。
- UIKit.framework
- SystemConfiguration.framework
- CoreTelephony.framework
- Foundation.framework
3. SDKを使用する
以下の Effective Log Search & Analytics 2.0 iOS SDKを使用する実際のサンプルコードを参照し、プロジェクトにログを転送します。
NSString* appID = @"02b96c3d8bbe_elsa-test";
NSString* appVer= @"1.0.0";
NSString* serverAddr = @"elsa-v2-col.ncloud.com"; //Effective Log Search & Analytics収集サーバアドレス
NSString* userID = @"tester"; //ユーザー ID
// Nelo Init
[NeloLog init:serverAddr ofProjectName:appID withProjectVersion:appVer forUserId:userID];
// Neloログ転送
[NeloLog info:@"ErrorCode" withMessage:@"Message"];
[NeloLog error:@"ErrorCode" withMessage:@"Message" atLocation:@"test loc"];
iOS SDK APIの明細
iOS SDKは以下のような APIを提供します。
初期化 API
初期化する APIは、次の通りです。
// Default NeloLog init method
+ (bool) init:(NSString *)serverAddr ofProjectName:(NSString* )appName withProjectVersion:(NSString*)appVersion;
+ (bool) init:(NSString *)serverAddr ofProjectName:(NSString* )appName withProjectVersion:(NSString*)appVersion forUserId:(NSString* )userId;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
serverAddr | ログ収集サーバのアドレス
|
appName | プロジェクト ID |
appVersion | ログを転送するアプリのバージョン情報
|
userId | ユーザー ID |
SDK Version 0.32から onPort、byProtocolパラメータを削除しました。
例)
NSString* appID = @"02b96c3d8bbe_elsa-test";
NSString* appVer= @"1.0.0";
NSString* serverAddr = @"elsa-v2-col.ncloud.com"; //Effective Log Search & Analytics 2.0収集サーバアドレス
NSString* userID = @"tester"; //ユーザー ID
// Nelo Init
[NeloLog init:serverAddr ofProjectName:appID withProjectVersion:appVer forUserId:userID];
ログ転送 API
ログを転送する APIは、次の通りです。
// send log method
+ (void) debug:(NSString *)errorCode withMessage:(NSString* )message;
+ (void) error:(NSString *)errorCode withMessage:(NSString* )message;
+ (void) fatal:(NSString *)errorCode withMessage:(NSString* )message;
+ (void) info:(NSString *)errorCode withMessage:(NSString* )message;
+ (void) warn:(NSString *)errorCode withMessage:(NSString* )message;
+ (void) debug:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location;
+ (void) error:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location;
+ (void) fatal:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location;
+ (void) info:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location;
+ (void) warn:(NSString *)errorCode withMessage:(NSString* )message atLocation:(NSString*)location;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
errorCode | NELOの errorCode フィールドにマッピングされる値(長さ制限: 128文字) |
message | NELOの body フィールドにマッピングされる値(長さ制限はないが、全体ログ容量の制限はある) |
location | NELOの location フィールドにマッピングされる値(error が発生した場所を転送) |
例)
[NeloLog info:@"ErrorCode" withMessage:@"Message"];
オプション設定 API
オプション設定 APIは、次の通りです。
ユーザー ID設定
ユーザー IDを設定する APIは、次の通りです。
+ (void) setUserId:(NSString*)userId;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
userId | ユーザー ID |
ログタイプ設定
ログのタイプを設定する APIは、次の通りです。
+ (void) setLogType:(NSString*)logType;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
logType | ログタイプ(logType)の情報 |
クラッシュコールバック
クラッシュコールバック APIを使用してクラッシュ発生時に、クラッシュログを転送する前にユーザーが定義した関数を呼び出せます。クラッシュコールバック APIは、次の通りです。
+ (void) setCrashBlock:(void (^)(void))block;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
block | アプリクラッシュの発生時に、クラッシュを転送する方法を設定 |
例)
[NeloLog setCrashBlock:^{
NSLog(@"crashed");
[NeloLog setCustomField:@"MyValue" forKey:@"MyKey"];
}];
ログレベル(loglevel)設定
ログレベル(loglevel)以上のログのみ転送する APIは、次の通りです。
- ログレベル(logLevel)ごとに関数を使用します。
- ログレベル(logLevel): Fatal、Error、Warn、Info、Debug
- 値は以下の Constant値として定義されています。
- NELO2_LOGLEVEL_DEBUG(デフォルト値)
- NELO2_LOGLEVEL_INFO
- NELO2_LOGLEVEL_WARN
- NELO2_LOGLEVEL_ERROR
- NELO2_LOGLEVEL_FATAL
+ (void) setLogLevelFilter:(NSString*)logLevelFilter;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
logLevelFilter | ログレベル以上のログのみ NELOに転送 |
例)
[NeloLog setLogLevelFilter:NELO2 _LOGLEVEL_ WARN];
ログ転送方法設定
ログ転送方法を設定する APIは、次の通りです。
+ (void) setNeloSendMode:(NSString*)sendMode;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
sendMode | ログ転送方法設定 |
パラメータの設定値によるネットワーク別のログ転送方法は、次の通りです。
ALL
設定時ネットワーク状態 転送方法 3g 転送 Wi-Fi 転送 Not Connected 転送しない WIFI
設定時ネットワーク状態 転送方法 3g 転送しない Wi-Fi 転送 Not Connected 転送しない
シンボリケーション実行設定
クライアントでのシンボリケーション(Symbolication)の実行有無を設定する APIは、次の通りです。
- SDKの基本設定値は、次の通りです。
- iOS SDK:
false
(クライアントでシンボリケーションを行わない) - mac SDK:
true
(クライアントでシンボリケーションを行う) - クライアントでシンボリケーションを行うと、クラッシュの発生時にアプリが停止する場合、しばらく遅延が発生
- iOS SDK:
+ (void) enableClientSideSymbolication:(bool)enable;
各パラメータの説明は、次の通りです。
パラメータ | 説明 |
---|---|
enable | クライアントでのシンボリケーションの実行有無を設定 |