ViewTracker
是用于自动化的采集用户UI交互过程中的曝光和点击事件。
目前仅支持Objective-C,不支持swift。
系统要求:iOS 7.0以上
- 支持两个平台 (iOS & Android, Android版本可以在Github中搜索ViewTracker-Android)
- 曝光和点击事件的无痕采集
- 覆盖多种场景, 例如 Tab、ScrollView、UIControlEventTouchUpInside、页面和APP的切换
- 页面FPS这块性能良好,基本没有帧率影响
- 简单易用的API
- 移步 性能测试
使用 Cocoapods 来获取最新的 ViewTracker 版本
pod 'ViewTracker'
#import "ViewTrackerProxy.h"
#import <TMViewTrackerSDK/TMViewTrackerSDK.h>
...
[[TMViewTrackerManager sharedManager] setCommitProtocol:[ViewTrackerProxy new]];
...
ViewTrackerProxy.h
#import <TMViewTrackerSDK/TMViewTrackerSDK.h>
@interface ViewTrackerProxy : NSObject <TMViewTrackerCommitProtocol>
@end
ViewTrackerProxy.m
#import "ViewTrackerProxy.h"
@implementation ViewTrackerProxy
- (instancetype)init
{
if (self = [super init]) {
//init ViewTrack Config
NSDictionary * dictionary = @{kExposureSwitch:@(1),
kClickSwitch:@(1)};
[[TMViewTrackerManager sharedManager] setViewTrackerConfig:dictionary];
//register notification to handle changes of config from server.
}
return self;
}
- (void)ctrlClicked:(NSString*)controlName
onPage:(NSString*)pageName
args:(NSDictionary*)args
{
NSLog(@"Clicked on Page(%@), controlName(%@), with args(%@)", pageName, controlName, args);
}
- (void)module:(NSString*)moduleName
showedOnPage:(NSString*)pageName
duration:(NSUInteger)duration
args:(NSDictionary *)args
{
NSLog(@"module on Page(%@), controlName(%@), duration(%lu), with args(%@)", pageName, moduleName, (unsigned long)duration, args);
}
@end
#import <TMViewTrackerSDK/TMViewTrackerSDK.h>
...
view.controlName=@"banner-0";
view.args=@{@"picName":@"pic1"};
...
#import <TMViewTrackerSDK/TMViewTrackerSDK.h>
...
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[TMViewTrackerManager setCurrentPageName:@"Tab-1"];
}
...
- @圆寸
- @子央
ViewTracker 采用 Apache2.0 协议。 详情请见 LICENSE 文件。