add .gitignore

This commit is contained in:
JoyWayer
2023-12-27 20:38:37 +08:00
parent b106a628a5
commit f6343426d6
515 changed files with 104217 additions and 199 deletions

View File

@@ -0,0 +1,174 @@
/*
* | | | | \ \ / / | | | | / _______|
* | |____| | \ \/ / | |____| | / /
* | |____| | \ / | |____| | | | _____
* | | | | / \ | | | | | | |____ |
* | | | | / /\ \ | | | | \ \______| |
* | | | | /_/ \_\ | | | | \_________|
*
* Copyright (c) 2016~ Shenzhen HXHG. All rights reserved.
*/
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
/**
*
* @abstract 事件对象共同父类
*
* @discussion 所有的字符串属性长度不能超过256字节包括extra的key和value
*
*/
@interface JANALYTICSEventObject : NSObject
@property (nonatomic, strong, nonnull) NSDictionary<NSString *, NSString *>* extra;
@end
/**
登录事件对象
*/
@interface JANALYTICSLoginEvent : JANALYTICSEventObject
//登录方法,非空
@property (nonatomic, copy, nonnull) NSString* method;
//登录是否成功,非空
@property (nonatomic, assign) BOOL success;
@end
/**
注册事件对象
*/
@interface JANALYTICSRegisterEvent : JANALYTICSEventObject
//注册方法,非空
@property (nonatomic, copy, nonnull) NSString* method;
//注册是否成功,非空
@property (nonatomic, assign) BOOL success;
@end
typedef NS_ENUM(NSUInteger, JANALYTICSPurchaseCurrency) {
//人民币
JANALYTICSCurrencyCNY,
//美元
JANALYTICSCurrencyUSD
};
/**
购买事件对象
*/
@interface JANALYTICSPurchaseEvent : JANALYTICSEventObject
//价格 非空
@property (nonatomic, assign) CGFloat price;
//购买是否成功,非空
@property (nonatomic, assign) BOOL success;
//物品ID
@property (nonatomic, copy, nonnull) NSString* goodsID;
//物品名称
@property (nonatomic, copy, nonnull) NSString* goodsName;
//物品类型
@property (nonatomic, copy, nonnull) NSString* goodsType;
//货币类型 默认CNY
@property (nonatomic, assign) JANALYTICSPurchaseCurrency currency;
//物品数量
@property (nonatomic, assign) NSInteger quantity;
@end
/**
内容浏览事件对象
*/
@interface JANALYTICSBrowseEvent : JANALYTICSEventObject
//内容名称,非空
@property (nonatomic, copy, nonnull) NSString* name;
//内容ID
@property (nonatomic, copy, nonnull) NSString* contentID;
//内容类型
@property (nonatomic, copy, nonnull) NSString* type;
//内容时长
@property (nonatomic, assign) CGFloat duration;
@end
/**
自定义计数事件对象
*/
@interface JANALYTICSCountEvent : JANALYTICSEventObject
//事件ID 非空
@property (nonatomic, copy, nonnull) NSString* eventID;
@end
/**
自定义计算事件对象
*/
@interface JANALYTICSCalculateEvent : JANALYTICSEventObject
//事件ID 非空
@property (nonatomic, copy, nonnull) NSString* eventID;
//事件值 非空
@property (nonatomic, assign) CGFloat value;
@end
typedef NS_ENUM(NSUInteger, JANALYTICSSex) {
//未知的
JANALYTICSSexUnknown,
//男性
JANALYTICSSexMale,
//女性
JANALYTICSSexFemale,
};
typedef NS_ENUM(NSUInteger, JANALYTICSPaid) {
//未知
JANALYTICSPaidUnknown,
//付费
JANALYTICSPaidPaid,
//未付费
JANALYTICSPaidUnpaid,
};
/**
用户信息
*/
@interface JANALYTICSUserInfo : NSObject
/**
账号ID、必填非空
*/
@property (nonatomic, copy, nonnull) NSString * accountID;
/*
* 以下为极光内置用户维度
* 当主动设置为nil时会删除该维度
*/
//账号创建时间、时间戳
@property (nonatomic, assign) NSTimeInterval creationTime;
//不能使用枚举意外的值
@property (nonatomic, assign) JANALYTICSSex sex;
//出生年月yyyyMMdd格式校验
@property (nonatomic, copy, nullable) NSString * birthdate;
//不能使用枚举以外的值
@property (nonatomic, assign) JANALYTICSPaid paid;
//手机号码
@property (nonatomic, copy, nullable) NSString * phone;
//email
@property (nonatomic, copy, nullable) NSString * email;
//用户名
@property (nonatomic, copy, nullable) NSString * name;
//微信id
@property (nonatomic, copy, nullable) NSString * wechatID;
//QQid
@property (nonatomic, copy, nullable) NSString * qqID;
//新浪微博id
@property (nonatomic, copy, nullable) NSString * weiboID;
//用户自定义维度 key-value value只能为NSNumber/NSString/nil
//当value为nil时将会删除对应的维度
- (void)setExtraObject:(nullable id)obj forKey:(nonnull NSString *)key;
@end

View File

@@ -0,0 +1,121 @@
/*
* | | | | \ \ / / | | | | / _______|
* | |____| | \ \/ / | |____| | / /
* | |____| | \ / | |____| | | | _____
* | | | | / \ | | | | | | |____ |
* | | | | / /\ \ | | | | \ \______| |
* | | | | /_/ \_\ | | | | \_________|
*
* Copyright (c) 2016~ Shenzhen HXHG. All rights reserved.
*/
#define JANALYTICS_VERSION_NUMBER 1.2.1
#import <Foundation/Foundation.h>
#import "JANALYTICSEventObject.h"
@interface JANALYTICSLaunchConfig : NSObject
/* appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. */
@property (nonatomic, copy) NSString *appKey;
/* channel 发布渠道. 可选 */
@property (nonatomic, copy) NSString *channel;
/* advertisingIdentifier 广告标识符IDFA). 可选IDFA能帮助您更准确的统计*/
@property (nonatomic, copy) NSString *advertisingId;
/* isProduction 是否生产环境. 如果为开发状态,设置为NO; 如果为生产状态,应改为 YES.默认为NO */
@property (nonatomic, assign) BOOL isProduction;
@end
@class CLLocation;
@interface JANALYTICSService : NSObject
/*!
* @abstract 启动SDK
*
* @param config SDK启动相关模型,必填
*/
+ (void)setupWithConfig:(JANALYTICSLaunchConfig *)config;
/*!
* @abstract 开始记录页面停留
*
* @param pageName 页面名称
*/
+ (void)startLogPageView:(NSString *)pageName;
/*!
* @abstract 停止记录页面停留
*
* @param pageName 页面
* @discussion 停止后,默认即时上报此页面。可通过[setFrequency:]方法更改为周期性上报策略
*/
+ (void)stopLogPageView:(NSString *)pageName;
/*!
* @abstract 地理位置上报
*
* @param latitude 纬度.
* @param longitude 经度.
*
*/
+ (void)setLatitude:(double)latitude longitude:(double)longitude;
/*!
* @abstract 地理位置上报
*
* @param location 直接传递 CLLocation * 型的地理信息
*
* @discussion 需要链接 CoreLocation.framework 并且 #import <CoreLocation/CoreLocation.h>
*/
+ (void)setLocation:(CLLocation *)location;
/*!事件统计
* @param event 上报的事件模型
* @discussion 默认即时上报事件。可通过[setFrequency:]方法更改为周期性上报策略
*/
+ (void)eventRecord:(JANALYTICSEventObject *)event;
/**
设置用户信息
@param userInfo 用户信息模型
@param completion 错误码和错误信息callback
*/
+ (void)identifyAccount:(JANALYTICSUserInfo *)userInfo with:(void (^)(NSInteger err, NSString * msg))completion;
/**
解绑当前的用户信息
*/
+ (void)detachAccount:(void (^)(NSInteger err, NSString * msg))completion;
/**
设置周期上报频率
默认为未设置频率,即时上报
@param frequency 周期上报频率单位秒
频率区间0 或者 10 < frequency < 24*60*60
可以设置为0即表示取消周期上报频率改为即时上报
e.g. 十分钟上报一次 [JANALYTICSService setFrequency:600];
*/
+ (void)setFrequency:(NSUInteger)frequency;
/*!
* @abstract 开启Crash日志收集
*
* @discussion 默认是关闭状态.
*/
+ (void)crashLogON;
/*!
* @abstract 设置是否打印sdk产生的Debug级log信息, 默认为NO(不打印log)
*
* SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志.
*
* 请在SDK启动后调用本接口调用本接口可打开日志级别为: Debug, 打印调试日志.
* 请在发布产品时改为NO避免产生不必要的IO
*/
+ (void)setDebug:(BOOL)enable;
@end

Binary file not shown.

Binary file not shown.