Правильный метод appDelegate для начала Flurry? - PullRequest
6 голосов
/ 16 декабря 2011

Flurry Docs рекомендует сделать звонок startSession в applicationDidFinishLaunching:.

Две проблемы с этим ...

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{
    [FlurryAnalytics startSession:@"AWESOMEAPIKEY"];

    // ...
}

1) Разве application:didFinishLaunchingWithOptions: не является новой утвержденной точкой запуска?

2) Это вызывается только один раз при запуске, но разве нам не нужна информация о сеансе каждый раз, когда пользователь открывает или переключается обратно в приложение? Или Flurry справляется со всем этим самостоятельно, слушая какое-то событие или NSNotification?


Не лучше ли поставить startSession вызов в applicationDidBecomeActive: или applicationWillEnterForeground:, как это?

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // ... Flurry AppCircle setup
    [FlurryAnalytics startSession:@"AWESOMEAPIKEY"];

    // ... your setup
}

Ответы [ 2 ]

2 голосов
/ 16 декабря 2011

для вашего случая 1) правильное место для размещения [FlurryAnalytics startSession:@"SOMESESSIONKEY"]; - это

application:didFinishLaunchingWithOptions:

, вы можете разместить его там, не беспокоясь.Я сделал это сам, и приложение отлично работает в appstore и предоставляет отличную статистику.

для случая 2), ваше отделение будет автоматически возобновлено, когда приложение вернется на передний план, поэтому вам не придется делать какие-либо специальныеобработка здесь.

1 голос
/ 14 апреля 2012

Мне тоже было очень любопытно.Я посмотрел на свой унаследованный код для своего приложения и не увидел никакой активности в "Didbecomeactive", на переднем плане и т. Д. Я видел только начальную сессию в "Didfinish Launching".Я видел ниже на сайте Flurry re: startsession, но я все еще не понимаю, как это работает, просто за кулисами, что делает библиотека Flurry?@samfisher, можете ли вы уточнить?

"Этот метод служит точкой входа в коллекцию Flurry Analytics. Он должен вызываться в области applicationDidFinishLaunching. Сеанс будет продолжаться в течение периода, пока приложение находится на переднем плане, покаВаше приложение работает в фоновом режиме в течение времени, указанного в setSessionContinueSeconds :. Если приложение возобновится в этот период, сеанс продолжится, в противном случае начнется новый сеанс. "

FlurryApi.h показывает значение по умолчанию как 10 для setSessionContinueSeconds, поэтомуЯ думаю, что Flurry справится с этим, я просто ищу еще подтверждение.

http://support.flurry.com/sdkdocs/iOS/interface_flurry_analytics.html#a78b0b92085b38875d51f1ca0d699849a

...