// // NBSAppAgent.h // // Created by yang kai on 14-3-12. // Copyright (c) 2014年 NBS. All rights reserved. // #import "NBSGCDOverrider.h" #define NBSOption_Net 1<<0 #define NBSOption_UI 1<<1 #define NBSOption_Crash 1<<2 @interface NBSAppAgent : NSObject /*1、启动NBSAppAgent。一般,只需本函数足矣!*/ +(void)startWithAppID:(NSString*)appId; /*2、rate指定了启动的概率,应该是0~1之间的一个数,0.5表示一半概率。默认100%*/ +(void)startWithAppID:(NSString*)appId rateOfLaunch:(double) rate; /*3、locationAllowed指明是否使用位置服务,默认是不使用,如果app本身使用了位置服务,此函数无效。 SDK使用位置服务的逻辑是这样的,如果app本身使用了位置服务,则SDK也使用位置信息,否则,调用本函数指明要使用位置信息,则使用位置信息。 换句话说:如果app没有使用位置信息,而且没有调用本函数,则SDK不取位置信息(当然也不会开启位置服务)。*/ +(void)startWithAppID:(NSString*)appId location:(BOOL)locationAllowed; /*4、同时指定启动概率和是否使用位置服务*/ +(void)startWithAppID:(NSString*)appId location:(BOOL)locationAllowed rateOfLaunch:(double) rate; /*5、本函数弃用,请使用setSetOption*/ +(void) setCrashCollectFlg:(BOOL) isCollectCrashInfo; /*6、忽略某些网络请求。block返回true的,都被忽略。*/ +(void)setIgnoreBlock:(BOOL (^)(NSURLRequest* request)) block; /*7、设置一个普通异常捕获处理块。当普通异常发生时该块会被调用。但signal异常不会调用该块*/ +(void)setUncatchExceptionCallbackBlock:(void (^)(NSException *exception))block; /*8、setCustomerData:forKey:的目的是这样的:通过这个方法设置的信息,会在crash时作为环境信息提交,帮助用户分析问题。此函数可以在任何地方多次调用*/ +(void)setCustomerData:(NSString*)data forKey:(NSString*)key; /*9、设置启动选项,SDK有几个功能,借此可以关闭某个。此函数应该在其他函数之前调用。option的值应该是NBSOption_Net、NBSOption_UI、NBSOption_Crash的组合*/ +(void)setSetOption:(int)option; @end #pragma mark Only for Enterprise-Edition: @interface NBSAppAgent (Enterprise) +(void)setRedirectURL:(NSString*)URL; +(void) setHttpEnabled:(BOOL)isEnable; @end /* Example 1:最简单的 [NBSAppAgent startWithAppID:@"xxxxxxx"]; Example 2:指定采样率 50% [NBSAppAgent startWithAppID:@"xxxxxxx" rateOfLaunch:0.5f]; Example 3:要求采集位置信息 [NBSAppAgent startWithAppID:@"xxxxxxx" location:YES]; Example 4:忽略包含127.0.0.1的url [NBSAppAgent startWithAppID:@"xxxxxxx"]; [NBSAppAgent setIgnoreBlock:^BOOL(NSURLRequest* request) { return [request.URL.absoluteString rangeOfString:@"127.0.0.1"].location!=NSNotFound;//忽略包含127.0.0.1的url } ]; Example 5:使用选项启动SDK: [NBSAppAgent setSetOption:NBSOption_Net|NBSOption_Crash];//只开启网络和崩溃的监控,不开启UI的监控 [NBSAppAgent startWithAppID:@"xxxxxxx"]; */