乱舞事件根本没有出现

Tho*_*tel 24 events objective-c flurry ios

我想在我的应用程序中添加一些分析功能,因此我在Flurry上创建了一个帐户,并将他们的SDK添加到我的项目中.然后我记录了一些事件,正常事件和定时事件.

直到这里没有什么特别:)但即使在2天之后我也无法在Flurry的仪表板中看到任何这些事件.我可以看到会话数量,所以我猜我的应用程序实际上正在发送一些内容.但没有事件.

任何的想法?我没有对代码做任何异乎寻常的事情,我用我的ID注册(根据我之前说的,这是正确的)

[FlurryAnalytics startSession:flurryKey];
Run Code Online (Sandbox Code Playgroud)

和记录的事件使用:

[FlurryAnalytics logEvent:@"MyEvent"];
Run Code Online (Sandbox Code Playgroud)

ski*_*uaw 27

除了设置之外,了解Flurry如何记录事件至关重要.感谢一些评论,我在调试模式下运行了一些测试.你通过以下方式打开它:

[Flurry setDebugLogEnabled:YES];
Run Code Online (Sandbox Code Playgroud)

当我的应用程序启动时,它会设置用户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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

您需要先在设备上单击"主页"按钮,以使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
Run Code Online (Sandbox Code Playgroud)

然后你可以在XCode中使用Stop终止应用程序

  • 我相信我发现了这个问题.在4.2.2中有一个新的+(void)setBackgroundSessionEnabled:(BOOL)setBackgroundSessionEnabled; 如果您的应用程序有任何UIBackgroundModes,则设置为Yes.我们的应用程序在后台使用GPS.因此,它不会发送到后台.当我强制[Flurry setBackgroundSessionEnabled:NO]; 然后它会在按下主页按钮时发送数据.不知道这可能会如何工作.我们无需使用Flurry来更新GPS位置,因此这对我们现在起作用.谢谢你的帮助! (4认同)
  • 另外需要注意的一件事.我的一个事件中有超过10个参数,事件本身根本没有记录,与文档相反.我有一个关于它的Flurry支持的错误报告."最多10个参数名称可能与任何事件相关联.使用单个事件发送10个以上的参数名称将导致没有为该事件记录任何参数." (2认同)
  • 谢谢@dredful setBackgroundSessionEnabled是我的问题.我们也是一个后台模式,新的4.2.2因为它没有发送任何数据.将setBackgroundSessionEnabled设置为NO会再次手动启动数据流. (2认同)

Par*_*att 14

当你说Flurry Events时,我认为你指的是FlurryAnalytics.

选项1:

请交叉检查您的密钥以及您是否已集成最新的适用于iOS的Flury SDK版本.

选项2:

请验证您是否正确引用FlurryAnalytics.hlibFlurryAnalytics.a

另外,请检查您是否已经添加libFlurryAnalytics.a到您Link Binaries to Libraries在您的目标设置

OPTION-3:

尝试使用您的登录凭据登录其网站并等待更长时间.

而且,据我所知,它不是实时服务.显示记录结果大约需要6-8小时.

否则,您需要联系Flurry Analytics的人员,因为它实际上是一个简单的API,并且开发人员可能没有太多问题

希望这对你有所帮助.

  • 哦等等......我明白这可能是问题所在.它实际上只是在应用程序进入后台时发送事件,但因为我也在调试我从xCode中删除应用程序以阻止它.因此,该应用程序实际上永远不会到后台!我会在几个小时内看到它是不是真的那样.感谢您花时间回答我BTW! (16认同)
  • 现在我可以在仪表板上看到今天早上的会话,但仍然没有事件...... (2认同)
  • BTW [FlurryAnalytics setDebugLogEnabled:YES]; 告诉我,每次发送日志都很"正常",应用程序会收到200的状态代码 (2认同)

小智 6

如果您使用任何backgroundModes,则必须设置:

[Flurry setBackgroundSessionEnabled:NO];
Run Code Online (Sandbox Code Playgroud)

说明和描述:

/sf/answers/1248846721/