2015-02-18 2 views
0

Я искал в течение многих часов, но я гавань была в состоянии придумать решение следующей задачи:Тестирование IOS/Android приложение Google Analytics

Я хочу, чтобы иметь возможность проверить выполнение Google Аналитика в приложении, в реальном реальном времени. Использование аналитики в режиме реального времени в Google недостаточно, потому что иногда вам приходится ждать несколько минут, пока ваш новый тег не появится.

Решение должно быть обнюхиванием пакетов через Wireshark. Я попытался это сделать, но даже когда я нахожу некоторые связанные с аналитикой вызовы, я не могу извлечь из них какую-либо полезную информацию. (Должен признать, я не знаю достаточно о сетях, чтобы понять особенности wirehark.)

Другим решением должно быть использование прокси-сервера, такого как Fiddler или Charles. Я попробовал оба, настроить SSL, укоренил Android-телефон, чтобы убедиться, что весь трафик использует прокси-сервер, но даже тогда я не могу найти какие-либо вызовы Google Analytics из своего приложения. Кажется, я смотрю в неправильное место или что-то в этом роде, но для веб-сайтов, которые я вижу, эти вызовы GA приходят.

Что я делаю неправильно? Так легко найти этот материал в Интернете, и до сих пор казалось невозможным получить его из приложения. Любая помощь приветствуется.

ответ

1

По умолчанию Google Analytics загружает данные хитов через SSL-соединение. Wireshark может быть трудно увидеть внутри зашифрованного соединения. Стек HTTP, скорее всего, проверяет сертификаты и отказывается разговаривать с неправильным сервером. Вы можете изменить загрузку на не-SSL (простой HTTP) по телефону tracker.setUserSecure(false):

https://developer.android.com/reference/com/google/android/gms/analytics/Tracker.html#setUseSecure(boolean)

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

У хитов также будет некоторая задержка до их загрузки по сети. Если вы работаете на устройстве Google Play (или эмуляторе с сервисами Google Play), ваши хиты будут отправлены Google Play в течение нескольких минут. При запуске на устройствах, отличных от Google Play (или эмулятор без сервисов Google Play) вы можете установить интервал отправки с вызовом googleAnalytics.setLocalDispatchPeriod(int seconds) или явно вызвать отправку с googleAnalytics.dispatchLocalHits()

+0

Я попытался использовать этот метод, и он больше не использует ssl.google. Тем не менее, у меня по-прежнему возникает проблема, что полезная нагрузка не может быть прочитана (используя Чарльза в отличие от скрипача). –

Смежные вопросы