2013-06-04 10 views
0

Есть ли эффективный способ отключения Flurry при отладке?android - отключение при отладке

Сейчас самый лучший способ, которым я могу думать устанавливает переменную отлаживать истинным в одном файле, и во всех моих деятельности

super.onStart(); 
    if(PublicStuff.DEBUG != true) //if debug = false run this code 
     FlurryAgent.onStartSession(this, "2C3QVVZMX8Q5M6KF3458"); 

мне также нужно дело из шквала logEvent методы?

есть ли лучший способ?

благодаря

ответ

2

Посмотрите на метод isDebuggerConnected() в классе отладки. Это говорит вам точно, что вам нужно знать.

+0

хорошо, что метод ищет отладчик, но что делать, если телефон не подключен к компьютеру, но до сих пор использует сборку, которая была создана с отладочным хранилищем, например, если вы отключили ваш устройство от компьютера и ушел. – CQM

+4

Используйте недействительный ключ Flurry (я использую «XXX») для разработки. Затем создайте версию своего приложения с помощью муравья, а во время сборки вы можете заменить ключ производственным ключом. Таким образом, у вас могут быть разные ключи для разных сборок (dev, test и prod). – SimonSays

0

Так я и добился этого. Я создаю нечто вроде класса UserEvents, который содержит все регистрируемые события аналитики (в данном случае Flurry). Прежде чем я зарегистрирую событие, я проверяю, не строит ли сборка в режиме DEBUG. Смотрите пример кода ниже:

public class UserEvents { 
    public static final String CLICK_RATINGS = "click_ratings"; 
    public static final String CLICK_SHARE = "click_share"; 
    public static final String CLICK_CREDITS = "click_credits"; 
    public static final String CLICK_PRIVACY = "click_privacy"; 
    ... 

    private static boolean isNotLoggable(){ 
     return BuildConfig.DEBUG; 
    } 

    public static void logEvent(String event) { 
     if(isNotLoggable()) return; 
     logEvent(event); 
    } 

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