ios 乱舞事件根本没有出现
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/9821996/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Flurry events not showing up at all
提问by Thomas Castel
I wanted to add some analytics functionnalities to my app so I created an account on Flurry and added their SDK to my project. Then I logged some events, normal events and timed ones.
我想向我的应用程序添加一些分析功能,因此我在 Flurry 上创建了一个帐户并将他们的 SDK 添加到我的项目中。然后我记录了一些事件,正常事件和定时事件。
Until here nothing special :) But even after 2 days I can't see any of these events in Flurry's dashboard. I can see the number of sessions so I guess that my app is actually sending something. But no events.
直到这里没什么特别的 :) 但是即使在 2 天之后我也看不到 Flurry 的仪表板中的任何这些事件。我可以看到会话数,所以我猜我的应用程序实际上正在发送一些东西。但没有事件。
Any idea? I didn't do anything exotic about the code, I register with my ID (which is correct according to that i said previously)
任何的想法?我没有对代码做任何奇怪的事情,我用我的 ID 注册(根据我之前说的,这是正确的)
[FlurryAnalytics startSession:flurryKey];
and logged events using :
并使用以下方法记录事件:
[FlurryAnalytics logEvent:@"MyEvent"];
采纳答案by Parth Bhatt
I think you are referring to FlurryAnalytics when you say Flurry Events.
当您说 Flurry Events 时,我认为您指的是 FlurryAnalytics。
OPTION-1:
选项1:
Please cross check you keyand whether you have integrated the latestFlury SDK version for iOS.
请交叉检查您的密钥以及您是否已为 iOS集成了最新的Flury SDK 版本。
OPTION-2:
选项 2:
Please do verify whether you have properly referenced FlurryAnalytics.h
and libFlurryAnalytics.a
请务必验证您是否已正确引用FlurryAnalytics.h
和libFlurryAnalytics.a
Also check whether you have added libFlurryAnalytics.a
to your Link Binaries to Libraries
in your Target Settings
还要检查您是否已添加libFlurryAnalytics.a
到您Link Binaries to Libraries
的目标设置中
OPTION-3:
选项 3:
Try to login to its website with your login credentials and wait for some more hours.
尝试使用您的登录凭据登录其网站,然后再等待几个小时。
Moreover, it is not real time service as far as I know. It roughly takes 6-8hours to show the logged results.
此外,据我所知,这不是实时服务。显示记录的结果大约需要6-8小时。
Otherwise you need to contact Flurry Analytics guys as it is really a simple API and there cannot be much of problems that developers could have caused
否则你需要联系 Flurry Analytics 的人,因为它真的是一个简单的 API,开发人员可能会导致很多问题
Hope this helps you.
希望这对你有帮助。
回答by ski_squaw
In addition to the setup, it is crucial to understand how Flurry logs the events. Thanks to some of the comments, I ran some tests in debug mode. You turn it on via:
除了设置之外,了解 Flurry 如何记录事件也很重要。感谢一些评论,我在调试模式下运行了一些测试。您可以通过以下方式打开它:
[Flurry setDebugLogEnabled:YES];
When my app launches, it sets up the user id and some pageView logging. Here is the log output:
当我的应用程序启动时,它会设置用户 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 did send the initial session setup automatically, so you will see the sessions on your analytics page (section above, async http response code: 200 is success). You will notice it says the Add crashed former session. This is because I clicked Stop in XCode and killed the app. This did not allow Flurry to log any events! It shows the event logged, but no send session scheduled:
Flurry 确实自动发送了初始会话设置,因此您将在分析页面上看到会话(上面的部分,异步 http 响应代码:200 表示成功)。您会注意到它说添加崩溃前一个会话。这是因为我在 XCode 中单击了停止并终止了该应用程序。这不允许 Flurry 记录任何事件!它显示记录的事件,但没有安排发送会话:
2013-05-27 12:19:41.184 MyApp[8492:aa07] FlurrySession: Recording event eventName[Doc Save] with parameters[{myparams = "xyz";
}] complete
You need to click the Home button first on the device to cause Flurry to actually send the logged event. Once you click Home, you will see this in the log:
您需要先单击设备上的 Home 按钮,才能使 Flurry 实际发送记录的事件。单击主页后,您将在日志中看到:
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
Then you can kill the app with Stop in XCode
然后你可以在 XCode 中使用 Stop 来终止应用程序
回答by Parth Bhatt
If you are using any of backgroundModes you must set:
如果您使用任何 backgroundModes,您必须设置:
[Flurry setBackgroundSessionEnabled:NO];
Explanation and description:
说明和说明:
回答by Shamsiddin
I had the same problem and got the following feedback from [email protected]
:
我遇到了同样的问题,并得到了以下反馈[email protected]
:
Any event once deleted is basically black-listed and doesn't get tracked again, unless un-deleted by Flurry admin.
Are you expecting the deleted 55 events to show up? If yes, then since they are deleted, they will not get tracked again.
任何一旦删除的事件基本上都会被列入黑名单,并且不会再次被跟踪,除非被 Flurry 管理员取消删除。
您是否希望显示已删除的 55 个事件?如果是,那么由于它们被删除,它们将不会再次被跟踪。
So I deleted my app from the management section of dev.flurry.com, and created new one with the same name, but it had a new API_KEY
. After that all of my 55 events appeared in the flurry analytics's monitor correctly and with all parameters.
所以我从dev.flurry.com的管理部分删除了我的应用程序,并创建了一个同名的新应用程序,但它有一个新的API_KEY
. 在那之后,我所有的 55 个事件都正确地出现在 Flurry 分析的监视器中,并且具有所有参数。
回答by pjuzeliunas
One reason why some of new Flurry events are not being logged could be the limit of maximum permitted number of (distinct) flurry events. As explained in this answer, the limit is 300 custom events. If you hit this limit, new event will be simply ignored by Flurry system and, unfortunately, this problem will not be shown in the Xcode log.
一些新的 Flurry 事件没有被记录的原因之一可能是(不同的)Flurry 事件的最大允许数量的限制。如本答案所述,限制为 300 个自定义事件。如果你达到这个限制,新事件将被 Flurry 系统简单地忽略,不幸的是,这个问题不会显示在 Xcode 日志中。
If that's the root cause of your problem, here are some suggestions:
如果这是您问题的根本原因,这里有一些建议:
- Get rid of the events which are no longer needed. You can do this in Flurry admin screen (Manage → Events). Note:You cannot recreate deleted event without getting in touch with Flurry support team (read here).
- Redesign your Flurry events. It is better to use one distinct event for a group of similar actions and provide details in the parameters dictionary than creating new (custom) event for each action.
- 摆脱不再需要的事件。您可以在 Flurry 管理屏幕(管理 → 事件)中执行此操作。注意:如果不与 Flurry 支持团队取得联系,您将无法重新创建已删除的事件(阅读此处)。
- 重新设计你的 Flurry 事件。最好为一组相似的操作使用一个不同的事件并在参数字典中提供详细信息,而不是为每个操作创建新的(自定义)事件。