Я интегрировал Flurry SDK в приложение для Android. Когда мы активно тестировали наше приложение, консоль была полна журналов событий, и у каждого события был список параметров.
Мы подготовили приложение к релизу: собрали apk тест-кандидатов с обфускацией и отдали их на финальный тест. Мы стали получать очень странную статистику в консоли: для некоторых событий имя присутствует, но логи пусты и параметров нет.
Мы предположили, что это из-за обфускации, сотни раз пересматривали нашу конфигурацию Proguard, присутствуют следующие строки:
-dontwarn com.flurry.**
-keep class com.flurry.** { *; }
Мы создали 4 тестовых ключа и скомпилировали приложение с комбинацией разных настроек: обфусцировано/не обфусцировано и логировать в logcat/не логировать. (Мы выводим HashMap параметров в лог, про шквал лога в logcat я не говорю). Обфусцированные апки ничем не отличались от необфусцированных: для какого-то события присутствует имя события, но отсутствуют логи и параметры.
Я заметил два отличия между периодами «Все было круто, все логировалось» и «Некоторые события имеют только названия»:
- Первый период был до сбоя сервера Flurry 18.03.2013, второй - после него.
- В первый период наши тестеры активно использовали приложение, часто вызывались события. Для второго периода наши тестировщики старались вызывать каждое событие как можно реже (но не реже 1 раза).
Есть идеи?