123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- //
- // 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>
- typedef enum _UTPageStatus{
- UT_H5_IN_WebView//设置容器中的H5页面事件的eventid为2001,不设置默认为2006
- } UTPageStatus;
- @interface UTTracker : NSObject
- -(id) initWithTrackId:(NSString *) pTrackId;
- -(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
|