NJCS的接入主要有四个部分:
1:设置异常监听
2:设置JS脚本所在目录(如果不设置将会从Bundle内读取)
3:注入特殊数据类型解析(主要使用于JS在使用原有Native数据时)
4:添加所需扩展(如:网络请求扩展、日志上报扩展、弹窗系统扩展、数据库操作扩展)
接入示例:
[NJCS setExceptionHandler:^(NSDictionary *exceptions) { #if DEBUG NSString *exceptionDesc = [NSString stringWithFormat:@"JSException:name:%@\n message:%@\n script:%@\n line: %@ column: %@\n stack: %@\n", exceptions[@"name"], exceptions[@"message"], exceptions[@"script"], exceptions[@"line"], exceptions[@"column"], exceptions[@"stack"]]; NSLog(@"%@", exceptionDesc); #endif NSException *exception = [NSException exceptionWithName:[NSString stringWithFormat:@"%@", exceptions[@"name"]] reason:[NSString stringWithFormat:@"%@", exceptions[@"message"]] userInfo:exceptions]; [Bugly reportException:exception]; }]; NSString *njcsFilesRootURL = @""; NSInteger njcsVersion = [CommonRemoteFilesManager targetVersion]; if (njcsVersion && njcsVersion > 0) { njcsFilesRootURL = [CommonRemoteFilesManager targeFilesPath:[NSString stringWithFormat:@"%ld", njcsVersion]]; } [NJCS sync:njcsFilesRootURL]; [NJCS registerModelAdapterForType:[JobAuthModelItemAdapter class] type:@"JobAuthModelItemAdapter"]; [NJCS addHttpInterface:[[CommonHTTPTool alloc] init]];
1、[NJCS setExceptionHandler:^(NSDictionary *exceptions) {};设置异常监听,要放在初始化之前,否则初始化时产生的异常就无法监听。
异常大多数需要上报的字段:
exceptions[@”name”]:异常名称
exceptions[@”message”]:异常信息
exceptions[@”script”]:产生异常的脚本
exceptions[@”line”]:异常脚本所在行数
exceptions[@”column”]:异常脚本所在列数
exceptions[@”stack”]:异常调用堆栈
2、[NJCS sync:njcsFilesRootURL]; 设置JS文件所在目录,该目录找不到文件时会从Bundle内读取
3、[NJCS registerModelAdapterForType:[JobAuthModelItemAda;注入某种数据类型解析
4、[NJCS addHttpInterface:[[CommonHTTPTool alloc] init]];添加网络请求扩展,不同的项目可能会有不同的网络请求库,NJCS只是提供了网络请求所需接口,项目在使用时只需按照要求实现接口并在添加进去即可,关于网络请求接口后续扩展部分会有详细介绍。