// // KBMaiPointReporter.h // keyBoard // #import #ifndef KB_MAI_POINT_BASE_URL #define KB_MAI_POINT_BASE_URL @"http://192.168.2.188:35310/api" #endif #ifndef KB_MAI_POINT_PATH_NEW_ACCOUNT #define KB_MAI_POINT_PATH_NEW_ACCOUNT @"/newAccount" #endif #ifndef KB_MAI_POINT_PATH_GENERIC_DATA #define KB_MAI_POINT_PATH_GENERIC_DATA @"/genericData" #endif NS_ASSUME_NONNULL_BEGIN extern NSString * const KBMaiPointErrorDomain; typedef void (^KBMaiPointReportCompletion)(BOOL success, NSError * _Nullable error); typedef NS_ENUM(NSInteger, KBMaiPointGenericReportType) { /// 未知/默认类型(按需扩展,具体含义以服务端约定为准) KBMaiPointGenericReportTypeUnknown = 0, /// 点击 KBMaiPointGenericReportTypeClick = 1, /// 曝光 KBMaiPointGenericReportTypeExposure = 2, /// 页面/进入 KBMaiPointGenericReportTypePage = 3, }; /// Lightweight reporter for Mai point tracking. Safe for app + extension. @interface KBMaiPointReporter : NSObject + (instancetype)sharedReporter; /// POST /newAccount with type + account. - (void)reportNewAccountWithType:(NSString *)type account:(nullable NSString *)account completion:(KBMaiPointReportCompletion _Nullable)completion; //- (void)reportGenericDataWithEvent:(NSString *)event // account:(nullable NSString *)account // completion:(KBMaiPointReportCompletion _Nullable)completion; /// POST /genericData with type + event + account. - (void)reportGenericDataWithEventType:(KBMaiPointGenericReportType)type account:(nullable NSString *)account completion:(KBMaiPointReportCompletion _Nullable)completion; /// Generic POST for future endpoints. - (void)postPath:(NSString *)path parameters:(NSDictionary *)parameters completion:(KBMaiPointReportCompletion _Nullable)completion; @end NS_ASSUME_NONNULL_END