-1

如何使用 Flurry 记录 iOS 应用程序中的每个按钮点击?我想在我的应用程序中实现点击流。

4

2 回答 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 回答