add .gitignore
This commit is contained in:
174
msext/Class/libs/JANALYTICSEventObject.h
Executable file
174
msext/Class/libs/JANALYTICSEventObject.h
Executable 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
|
||||
|
||||
121
msext/Class/libs/JANALYTICSService.h
Executable file
121
msext/Class/libs/JANALYTICSService.h
Executable 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
|
||||
|
||||
BIN
msext/Class/libs/janalytics-ios-1.2.1.a
Executable file
BIN
msext/Class/libs/janalytics-ios-1.2.1.a
Executable file
Binary file not shown.
BIN
msext/Class/libs/jcore-ios-1.1.8.a
Executable file
BIN
msext/Class/libs/jcore-ios-1.1.8.a
Executable file
Binary file not shown.
Reference in New Issue
Block a user