2016-07-24 8 views
0

Я работаю с Flurry API для прошивкой и я наткнулся на прецеденте, который, кажется, не поддерживается:Flurry: как вызвать -logEvent: withParameters: timed: когда сессия заканчивается?

Я начинаю задержанное событие с -logEvent:timed:, чтобы отслеживать, сколько времени пользователь проводит на вид. Пока пользователь находится в этом представлении, отслеживаются несколько параметров, которые я планирую передать до -endTimedEvent:withParameters:, когда пользователь перемещается в сторону от представления).

Вот сложная часть, если пользователь фонового рисунка приложения в режиме просмотра, Flurry автоматически завершит синхронизированное событие через 10 секунд без установки каких-либо параметров. Одним из решений, конечно, является наблюдение UIApplicationWillResignActiveNotification и позвоните по телефону -endTimedEvent:withParameters:. Тем не менее, я хотел бы уважать свойство Flurry setSessionContinueSeconds и не заканчивать событие до окончания сеанса. Таким образом, если пользователь вернется в приложение в течение 10 секунд, они все еще находятся под тем же самым событием, которое отслеживает их время просмотра.

Есть ли способ сделать это?

Например, существует ли метод делегата, когда сеанс будетEnd/didEnd, где я мог бы вручную позвонить -endTimedEvent:withParameters:, прежде чем Flurry сделает? или, альтернативно, есть способ добавить параметры к событию с таймером, пока он активен (без его завершения). Таким образом, когда Flurry завершает сеанс, событие уже имеет установленные параметры.

ответ

0

1) У Flurry есть функция (только на iOS), чтобы сеансы продолжались в фоновом режиме, чтобы вы могли попробовать использовать этот прецедент.

[Шквал setBackgroundSessionEnabled: Да]

Вы можете найти более подробную информацию об этих и других методах в Analytics риого документа, который входит в составе нашего SDK.

[Flurry setBackgroundSessionEnabled: (BOOL) backgroundSessionEnabled];

Эта опция отключена по умолчанию. Когда включено, Flurry не завершит сеанс, если приложение приостановлено дольше, чем истечение срока действия сеанса. Отчет о сеансе не будет отправлен, когда приложение приостановлено и будет отправлено только , когда приложение будет прекращено. Это позволяет приложениям, работающим в фоновом режиме, собирать данные о событиях. Приложение времени, затрачиваемое на задний план, вносит вклад в длину сеанса приложения, сообщенного при завершении приложения.

[Flurry pauseBackgroundSession];

Этот метод полезен, если setBackgroundSessionEnabled: установлен в YES. Его можно назвать, когда приложение завершает все фоновые задачи (например, воспроизведение музыки), чтобы приостановить сеанс. Отчет о сеансе отправляется, если для параметра setSessionReportsOnPauseEnabled установлено значение YES. Если приложение возобновлено до истечения срока действия сеанса, сеанс будет продолжен, иначе начнется новый сеанс.

2) Вы можете сохранить данные в массиве и поместить параметры в отдельное событие, которое запускается после события времени.