Где навигационное приложение iOS должно отслеживать просмотры страниц - viewDidLoad или viewWillAppear? - PullRequest
1 голос
/ 05 декабря 2011

У меня есть приложение на основе навигации. Все примеры Google Analytics, которые я вижу, отслеживают просмотр страниц в viewDidLoad.

Мне интересно, имеет ли это смысл. Если я хочу узнать об истинном поведении моих пользователей, разве это не должно быть в viewWillAppear? Каково обоснование для размещения его в viewDidLoad? Есть ли консенсус относительно правильного способа отслеживания просмотров страниц?

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 декабря 2011

Ни.UINavigationController может отправлять сообщения делегата, чтобы информировать его о навигации по иерархии.Проверьте UINavigationControllerDelegate протокол для получения дополнительной информации.Вы можете обрабатывать все из одного делегата, а не изменять все ваши контроллеры представления.

Сказав, что, если вам по какой-то причине вам нужно было сделать это из отдельных контроллеров представления, вам нужно будет использовать *Appear методы.Использовать методы *Load явно неправильно - это для загрузки, а не для показа, отсюда и название.

Для еще одного ориентира, Flurry Analytics использует протокол UINavigationControllerDelegate.

0 голосов
/ 14 апреля 2013

Если ваша цель состоит в том, чтобы регистрировать экран в GA каждый раз, когда вы просматриваете иерархию и обратно, то есть в приложении, основанном на навигации, сделайте следующее:

Для автоматического измерения экрана будет достаточнопоставить отслеживание просмотра страницы в viewDidLoad.Если необходимо использовать метод ручного измерения экрана, вам нужно будет поместить его в viewWillAppear.Смотри https://developers.google.com/analytics/devguides/collection/ios/v2/screens

...