You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.8 KiB
143 lines
4.8 KiB
// |
|
// UTTracker.h |
|
// miniUTInterface |
|
// |
|
// Created by 宋军 on 14-10-14. |
|
// Copyright (c) 2014年 ___SONGJUN___. All rights reserved. |
|
// |
|
|
|
#import <Foundation/Foundation.h> |
|
//#import <UIKit/UIViewController.h> |
|
//#import <UIKit/UIWebView.h> |
|
@class UTDSDKInfo; |
|
|
|
typedef enum _UTPageStatus{ |
|
UT_H5_IN_WebView//设置容器中的H5页面事件的eventid为2001,不设置默认为2006 |
|
} UTPageStatus; |
|
|
|
@interface UTTracker : NSObject |
|
|
|
@property (readonly,copy) UTDSDKInfo * mSdkinfo; |
|
|
|
-(id) initWithTrackId:(NSString *) pTrackId __deprecated; |
|
|
|
-(id) initWithAppKey:(NSString *) pAppkey |
|
appsecret:(NSString *) pAppSecret |
|
authcode:(NSString *) pAuthCode |
|
securitySign:(BOOL) securitySign; |
|
|
|
-(id) initWithTracker:(UTTracker *) pTracker trackid:(NSString *) pTrackId; |
|
|
|
-(NSString *) getAppKey; |
|
|
|
-(void) setGlobalProperty:(NSString *) pKey value:(NSString *) pValue; |
|
|
|
-(void) removeGlobalProperty:(NSString *) pKey; |
|
|
|
-(NSString *) getGlobalProperty:(NSString *) pKey; |
|
|
|
-(void) send:(NSDictionary *) pLogDict; |
|
|
|
#pragma mark 页面埋点 |
|
/** |
|
* @brief 页面进入. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* |
|
* @warning 调用说明:1.必须和pageDisAppear配对使用,否则不会成功埋点 |
|
* 2.确定页面名称优先级:updatePageName > NSStringFromClass(pObject.class) |
|
* |
|
* 最佳位置:若是viewcontroller页面,则需在viewDidAppear函数内调用 |
|
*/ |
|
-(void) pageAppear:(id) pPageObject; |
|
|
|
/** |
|
* @brief 页面进入. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* @param pPageName 页面名称,如Page_Detail |
|
* |
|
* @warning 调用说明:1.必须和pageDisAppear配对使用,否则不会成功埋点 |
|
* 2.确定页面名称优先级:updatePageName > pPageName > NSStringFromClass(pObject.class) |
|
* 若当调用pageAppear时已知页面名称,强烈建议使用该接口 |
|
* 最佳位置:若是viewcontroller页面,则需在viewDidAppear函数内调用 |
|
*/ |
|
-(void) pageAppear:(id) pPageObject withPageName:(NSString *) pPageName; |
|
|
|
/** |
|
* @brief 页面离开. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* |
|
* @warning 调用说明:必须和pageAppear配对使用,否则不会成功埋点 |
|
* |
|
* 最佳位置:若是viewcontroller页面,则需在viewDidDisAppear函数内调用 |
|
*/ |
|
-(void) pageDisAppear:(id) pPageObject; |
|
|
|
/** |
|
* @brief 更新页面业务参数. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* @param pProperties 业务参数,kv对 |
|
* |
|
* @warning 调用说明:必须在pageDisAppear之前调用 |
|
* |
|
* 最佳位置:在pageDisAppear之前调用即可 |
|
*/ |
|
-(void) updatePageProperties:(id) pPageObject properties:(NSDictionary *) pProperties; |
|
|
|
/** |
|
* @brief 更新页面业务参数. |
|
* |
|
* @param pProperties 传给下一个页面业务参数,kv对 |
|
* |
|
* @warning 调用说明:必须在下一个页面pageAppear之前调用,否则会携带错误 |
|
* |
|
* 最佳位置:必须在下一个页面pageAppear之前调用 |
|
*/ |
|
-(void) updateNextPageProperties:(NSDictionary *) pProperties; |
|
|
|
#pragma mark 页面埋点的辅助函数 |
|
/** |
|
* @brief 更新页面名称. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* @param pPageName 更新后的页面名称 |
|
* |
|
* @warning 调用说明:只有当调用pageAppear时还未知页面名称,后续可使用该接口更新 |
|
* |
|
* 最佳位置:在pageDisAppear之前调用 |
|
*/ |
|
-(void) updatePageName:(id) pPageObject pageName:(NSString *) pPageName; |
|
|
|
/** |
|
* @brief 更新页面url. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* @param pUrl 页面对应的url |
|
* |
|
* @warning 调用说明:如手淘统一导航将每次页面跳转的url塞给对应的viewcontroller |
|
* |
|
* 最佳位置:在pageDisAppear之前调用 |
|
*/ |
|
-(void) updatePageUrl:(id) pPageObject url:(NSURL *) pUrl; |
|
|
|
/** |
|
* @brief 更新页面状态. |
|
* |
|
* @param pPageObject 页面对象,如viewcontroller指针 |
|
* @param aStatus 页面状态 enum类型 |
|
* |
|
* @warning 调用说明:告知页面处于某些特殊的业务场景,如回退等 |
|
* |
|
* 最佳位置:必须在pageAppear之前调用 |
|
*/ |
|
-(void) updatePageStatus:(id) pPageObject status:(UTPageStatus) aStatus; |
|
|
|
|
|
-(void) skipPage:(id) pPageObject; |
|
|
|
- (void) ctrlClicked:(NSString *)controlName onPage:(NSObject *) pageName args:(NSDictionary *) dict; |
|
|
|
@end
|
|
|