Flurry を使用して iOS アプリのすべてのボタン クリックをログに記録するにはどうすればよいですか? アプリでクリック フローを実現したい。
質問する
259 次
2 に答える
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
た場合、メインは次のようになります
int main(int argc, char *argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MyApplication class]));
}
}
免責事項
これはアプリのパフォーマンスに大きな影響を与える可能性があります。賢く使ってください。
于 2013-04-10T03:02:15.313 に答える
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 に答える