如何使用 Flurry 记录 iOS 应用程序中的每个按钮点击?我想在我的应用程序中实现点击流。
问问题
259 次
2 回答
1
在 AppDelegate 中
#import "Flurry.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Flurry startSession:@"sessionkey"];
...
}
和..
-(IBAction) Click_Search:(id)sender
{
[Flurry logEvent:@"Seach"]; // remain logEvent
...
}
于 2013-04-10T02:47:29.730 回答
1
一种有效的方法是子类化UIApplication
并覆盖该-sendEvent:
方法,如下所示:
- (void)sendEvent:(UIEvent *)event {
[super sendEvent:event];
NSSet * allTouches = [event allTouches];
if ([allTouches count] > 0) {
UITouch *touch = [allTouches anyObject];
if (touch.phase == UITouchPhaseBegan) {
CGPoint touchLocation = [touch locationInView:touch.window];
NSDictionary *params = @{
@"touch" : @{
@"x" : @(touchLocation.x),
@"y" : @(touchLocation.y)
}
};
[Flurry logEvent:@"Seach" withParameters:params];
}
}
}
然后你只需要更改UIApplication
要使用的类main.m
。例如,如果您的UIApplication
子类被调用MyApplication
,您的 main 将变为
int main(int argc, char *argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MyApplication class]));
}
}
免责声明
这可能会极大地影响您的应用程序的性能。明智地使用它。
于 2013-04-10T03:02:15.313 回答