BuglyConfig.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. //
  2. // BuglyConfig.h
  3. // Bugly
  4. //
  5. // Copyright (c) 2016年 Tencent. All rights reserved.
  6. //
  7. #pragma once
  8. #define BLY_UNAVAILABLE(x) __attribute__((unavailable(x)))
  9. #if __has_feature(nullability)
  10. #define BLY_NONNULL __nonnull
  11. #define BLY_NULLABLE __nullable
  12. #define BLY_START_NONNULL _Pragma("clang assume_nonnull begin")
  13. #define BLY_END_NONNULL _Pragma("clang assume_nonnull end")
  14. #else
  15. #define BLY_NONNULL
  16. #define BLY_NULLABLE
  17. #define BLY_START_NONNULL
  18. #define BLY_END_NONNULL
  19. #endif
  20. #import <Foundation/Foundation.h>
  21. #import "BuglyLog.h"
  22. BLY_START_NONNULL
  23. @protocol BuglyDelegate <NSObject>
  24. @optional
  25. /**
  26. * 发生异常时回调
  27. *
  28. * @param exception 异常信息
  29. *
  30. * @return 返回需上报记录,随异常上报一起上报
  31. */
  32. - (NSString * BLY_NULLABLE)attachmentForException:(NSException * BLY_NULLABLE)exception;
  33. /**
  34. * 发生sigkill时回调
  35. *
  36. * @param exception 异常信息
  37. *
  38. * @return 返回需上报记录,随sigkill异常上报一起上报,返回值由app开发者决定
  39. */
  40. - (NSString * BLY_NULLABLE)attachmentForSigkill;
  41. /**
  42. * 策略激活时回调
  43. *
  44. * @param tacticInfo
  45. *
  46. * @return app是否弹框展示
  47. */
  48. - (BOOL) h5AlertForTactic:(NSDictionary *)tacticInfo;
  49. @end
  50. @interface BuglyConfig : NSObject
  51. /**
  52. * SDK Debug信息开关, 默认关闭
  53. */
  54. @property (nonatomic, assign) BOOL debugMode;
  55. /**
  56. * 设置自定义渠道标识
  57. */
  58. @property (nonatomic, copy) NSString *channel;
  59. /**
  60. * 设置自定义版本号
  61. */
  62. @property (nonatomic, copy) NSString *version;
  63. /**
  64. * 设置自定义设备唯一标识
  65. */
  66. @property (nonatomic, copy) NSString *deviceIdentifier;
  67. /**
  68. * 卡顿监控开关,默认关闭
  69. */
  70. @property (nonatomic) BOOL blockMonitorEnable;
  71. /**
  72. * 卡顿监控判断间隔,单位为秒
  73. */
  74. @property (nonatomic) NSTimeInterval blockMonitorTimeout;
  75. /**
  76. * 设置 App Groups Id (如有使用 Bugly iOS Extension SDK,请设置该值)
  77. */
  78. @property (nonatomic, copy) NSString *applicationGroupIdentifier;
  79. /**
  80. * 进程内还原开关,默认开启
  81. */
  82. @property (nonatomic) BOOL symbolicateInProcessEnable;
  83. /**
  84. * 非正常退出事件记录开关,默认关闭
  85. */
  86. @property (nonatomic) BOOL unexpectedTerminatingDetectionEnable;
  87. /**
  88. * 页面信息记录开关,默认开启
  89. */
  90. @property (nonatomic) BOOL viewControllerTrackingEnable;
  91. /**
  92. * Bugly Delegate
  93. */
  94. @property (nonatomic, assign) id<BuglyDelegate> delegate;
  95. /**
  96. * 控制自定义日志上报,默认值为BuglyLogLevelSilent,即关闭日志记录功能。
  97. * 如果设置为BuglyLogLevelWarn,则在崩溃时会上报Warn、Error接口打印的日志
  98. */
  99. @property (nonatomic, assign) BuglyLogLevel reportLogLevel;
  100. /**
  101. * 崩溃数据过滤器,如果崩溃堆栈的模块名包含过滤器中设置的关键字,则崩溃数据不会进行上报
  102. * 例如,过滤崩溃堆栈中包含搜狗输入法的数据,可以添加过滤器关键字SogouInputIPhone.dylib等
  103. */
  104. @property (nonatomic, copy) NSArray *excludeModuleFilter;
  105. /**
  106. * 控制台日志上报开关,默认开启
  107. */
  108. @property (nonatomic, assign) BOOL consolelogEnable;
  109. /**
  110. * 崩溃退出超时,如果监听到崩溃后,App一直没有退出,则到达超时时间后会自动abort进程退出
  111. * 默认值 5s, 单位 秒
  112. * 当赋值为0时,则不会自动abort进程退出
  113. */
  114. @property (nonatomic, assign) NSUInteger crashAbortTimeout;
  115. /**
  116. * 设置自定义联网、crash上报域名
  117. */
  118. @property (nonatomic, copy) NSString *crashServerUrl;
  119. @end
  120. BLY_END_NONNULL