我想在我的应用中添加一些分析功能,因此我在Flurry上创建了一个帐户,并将他们的SDK添加到我的项目中。然后我记录了一些事件,正常事件和定时事件。
直到这里没有什么特别的:)但即使在2天后我也无法在Flurry的仪表板中看到任何这些事件。我可以看到会话数量,所以我猜我的应用程序实际上正在发送一些内容。但没有事件。
有什么想法吗?我没有做任何关于代码的异国情调,我用我的ID注册(根据我之前说的那样,这是正确的)
[FlurryAnalytics startSession:flurryKey];
并使用以下方式记录事件:
[FlurryAnalytics logEvent:@"MyEvent"];
答案 0 :(得分:27)
除了设置之外,了解Flurry如何记录事件至关重要。感谢一些评论,我在调试模式下运行了一些测试。你通过以下方式打开它:
[Flurry setDebugLogEnabled:YES];
当我的应用启动时,它会设置用户ID和一些pageView日志记录。这是日志输出:
2013-05-27 12:19:00.636 MyApp[8492:907] Flurry: Starting session on Agent Version [115]
2013-05-27 12:19:00.659 MyApp[8492:907] Flurry: setUserID[<cut>]
2013-05-27 12:19:00.684 MyApp[8492:120b] FlurrySession: Add session with startTime[2013-05-27 15:46:22 +0000] to saved sessions
2013-05-27 12:19:00.704 MyApp[8492:120b] FlurrySession: Add crashed former session
2013-05-27 12:19:00.713 MyApp[8492:120b] FlurrySession: Event logging enabled[1]
2013-05-27 12:19:00.714 MyApp[8492:120b] FlurrySession: Session reports on close enabled[1]
2013-05-27 12:19:00.715 MyApp[8492:120b] FlurrySession: Session reports on pause enabled[0]
2013-05-27 12:19:00.716 MyApp[8492:120b] FlurrySession: Crash reporting enabled[0]
2013-05-27 12:19:00.717 MyApp[8492:120b] FlurrySession: set pushToken [(null)], _pushToken = [(null)]
2013-05-27 12:19:00.719 MyApp[8492:907] FlurryPageViewDelegate: delegate[(null)] created
2013-05-27 12:19:00.720 MyApp[8492:907] FlurryPageViewDelegate: delegate[(null)] created
2013-05-27 12:19:00.736 MyApp[8492:120b] FlurrySession: Initialized session from scratch with startTime[2013-05-27 16:19:00 +0000]
2013-05-27 12:19:00.737 MyApp[8492:120b] FlurrySession: Created active session with API[<cut>]
2013-05-27 12:19:00.738 MyApp[8492:120b] FlurrySession: Session reports on close enabled[1]
2013-05-27 12:19:00.739 MyApp[8492:120b] FlurrySession: Session reports on pause enabled[1]
2013-05-27 12:19:00.740 MyApp[8492:120b] FlurrySession: Event logging enabled[1]
2013-05-27 12:19:00.741 MyApp[8492:120b] FlurrySession: Crash reporting enabled[0]
2013-05-27 12:19:00.742 MyApp[8492:120b] FlurrySession: Sending sessions to server, include current NO
2013-05-27 12:19:00.763 MyApp[8492:120b] FlurrySession: Initial timestamp[2013-02-20 00:46:06 +0000] from saved source
2013-05-27 12:19:00.780 MyApp[8492:907] FlurryPageViewDelegate: delegate[(null)] created
2013-05-27 12:19:01.192 MyApp[8492:120b] Flurry: start background task
2013-05-27 12:19:01.202 MyApp[8492:120b] FlurrySession: Scheduled send 1 session(s).
2013-05-27 12:19:01.215 MyApp[8492:120b] FlurrySession: Set userID[<cut>]
2013-05-27 12:19:01.217 MyApp[8492:120b] FlurrySession: dealloc session
2013-05-27 12:19:04.857 MyApp[8492:907] FlurrySession: networkStatusChanged to reachable
2013-05-27 12:19:05.616 MyApp[8492:907] Flurry: HTTP connection delegate received response[<NSHTTPURLResponse: 0x1c5a1310>]
2013-05-27 12:19:05.624 MyApp[8492:7f03] FlurrySession: async http response code: 200, id [D1038462-66E2-48AE-8304-83A24B0E26EB]
2013-05-27 12:19:05.634 MyApp[8492:7f03] Flurry: stop background task
Flurry确实自动发送了初始会话设置,因此您将在分析页面上看到会话(上面的部分,async http响应代码:200成功)。你会注意到它说添加崩溃的前会话。这是因为我在XCode中单击了Stop并杀死了应用程序。这不允许Flurry记录任何事件!它显示记录的事件,但没有安排发送会话:
2013-05-27 12:19:41.184 MyApp[8492:aa07] FlurrySession: Recording event eventName[Doc Save] with parameters[{myparams = "xyz";
}] complete
您需要先在设备上单击“主页”按钮,以使Flurry实际发送已记录的事件。单击Home后,您将在日志中看到:
2013-05-27 12:21:15.884 MyApp[8492:a30f] FlurrySession: Pause session with pauseTime[2013-05-27 16:21:15 +0000]
2013-05-27 12:21:15.885 MyApp[8492:a30f] FlurrySession: Finish session with endTime[2013-05-27 16:21:15 +0000]
2013-05-27 12:21:15.887 MyApp[8492:a30f] FlurrySession: ending all unterminated timed events with _endTime[2013-05-27 16:21:15 +0000]...
2013-05-27 12:21:15.890 MyApp[8492:a30f] FlurrySession: ...finished ending un-ended timed events.
2013-05-27 12:21:15.891 MyApp[8492:a30f] FlurrySession: Sending sessions to server, include current YES
2013-05-27 12:21:15.900 MyApp[8492:a30f] FlurrySession: Initial timestamp[2013-02-20 00:46:06 +0000] from saved source
2013-05-27 12:21:15.914 MyApp[8492:a30f] Flurry: start background task
2013-05-27 12:21:15.919 MyApp[8492:a30f] FlurrySession: Scheduled send 1 session(s).
2013-05-27 12:21:16.729 MyApp[8492:907] Flurry: HTTP connection delegate received response[<NSHTTPURLResponse: 0x1c5ac0b0>]
2013-05-27 12:21:17.090 MyApp[8492:9c0b] FlurrySession: async http response code: 200, id [BB7CE5C1-D9C4-412F-9A41-6A838174B8FC]
2013-05-27 12:21:17.293 MyApp[8492:9c0b] Flurry: stop background task
然后你可以在XCode中使用Stop来杀死应用程序
答案 1 :(得分:14)
当你说Flurry Events时,我认为你指的是FlurryAnalytics。
方法-1:强>
请交叉检查密钥,以及您是否已整合适用于iOS的最新 Flury SDK版本。
方法-2:强>
请确认您是否正确引用了FlurryAnalytics.h
和libFlurryAnalytics.a
同时检查您是否已在目标设置
中将libFlurryAnalytics.a
添加到Link Binaries to Libraries
选项-3:强>
尝试使用您的登录凭据登录其网站并等待更长时间。
此外,据我所知,这不是实时服务。显示记录的结果大致需要 6-8 小时。
否则你需要联系Flurry Analytics的人员,因为它实际上是一个简单的API,并且开发人员可能没有太多问题导致
希望这会对你有所帮助。
答案 2 :(得分:6)
如果您使用任何backgroundModes,则必须设置:
[Flurry setBackgroundSessionEnabled:NO];
说明和说明:
答案 3 :(得分:3)
我遇到了同样的问题,并从support@flurry.com
获得了以下反馈:
任何被删除的事件基本上都是 黑名单,不再被追踪,除非未被删除 Flurry admin。
您是否期望显示已删除的55个事件?如果是,那么 它们被删除后,将无法再次被跟踪。
因此,我从dev.flurry.com的管理部分删除了我的应用,并创建了一个具有相同名称的新应用,但它有一个新的API_KEY
。之后,我的所有55个事件都正确地出现在flurry analytics的监视器中,并且包含所有参数。
答案 4 :(得分:0)
某些新的Flurry事件未被记录的一个原因可能是(不同的)flurry事件的最大允许数量的限制。如this answer中所述,限制为300个自定义事件。如果达到此限制,Flurry系统将忽略新事件,不幸的是,此问题将不会显示在Xcode日志中。
如果这是您的问题的根本原因,这里有一些建议: