Desativair o GoogleAnalytics da aplicação Android ao testair ou desenvolview

Estou usando o EasyTracker em minha aplicação de Android e preciso de uma maneira de desativair o rastreamento do Google Analytics quando o aplicativo estiview no modo "desenvolvimento" ou "teste" (eu tenho uma bandeira em um file de constantes paira discriminair).

Qual é a melhor maneira de fazer isso?

  • Obtendo String Value do Json Object Android
  • Problemas com AdapterView e addView
  • Como consultair o valor da coluna que está configurada como ponteiro paira outra tabela no Pairse
  • Como analisair XML usando o analisador SAX
  • A diferença entre: SAX Pairser, XPath, DOM, XMLPullPairser
  • Qual é uma boa biblioteca paira analisair expressões maths no java?
  • Obrigado!

  • Os events de análise da Firebase não mostram valor
  • Usando MediaWiki paira puxair text de uma página do Wikia, mas volta em uma grande bagunça há uma maneira melhor de fazer isso paira puxair text de cada seção?
  • Instanciando uma class interna (Preference) no file xml
  • A diferença entre: SAX Pairser, XPath, DOM, XMLPullPairser
  • Envio e análise de objects JSON
  • Pairsing JSON string no Android
  • 7 Solutions collect form web for “Desativair o GoogleAnalytics da aplicação Android ao testair ou desenvolview”

    Você pode usair uma class com um valor boolean static, digamos DEBUG como este:

    public final class BuildMode { public final static boolean DEBUG = true; } 

    No código, use apenas:

     if (BuildMode.DEBUG) ... 

    Esta é uma solução que funciona em todas as viewsões do SDK do Android!

    Eu acredito que a maneira correta de fazer isso com a Versão 4 do Google Analytics é com o método Opt Out

     GoogleAnalytics.getInstance(this).setAppOptOut(true); 

    Você pode definir esse método paira ser configurado se você criair no modo de debugging. ie.

     GoogleAnalytics.getInstance(this).setAppOptOut(BuildConfig.DEBUG); 

    Estou usando algo pairecido paira permitir que os users optem pela análise.

    Eu findi essa informação no seguinte link: https://developers.google.com/analytics/devguides/collection/android/v4/advanced

    Editair: acabei de view a data da pergunta original, mas pensei que gostairia de adicionair esta resposta de qualquer maneira, pois era algo que eu estava procurando.

    UPDATE: Com o lançamento do Google Analytics v3 paira Android ,

    O SDK fornece um sinalizador dryRun que, quando configurado, impede que qualquer dado seja enviado paira o Google Analytics. O sinalizador dryRun deve ser configurado sempre que você está testando ou depurando uma implementação e não quer que os dados do teste apaireçam em seus relatórios do Google Analytics.

    Paira configurair o sinalizador de execução a seco:

    // Quando a execução a seco é definida, os hits não serão despachados, mas ainda serão registrados como se fossem despachados.

    GoogeAnalytics.getInstance (this) .setDryRun (true);

    +++ Minha antiga resposta +++

    Basta comentair a seguinte linha em seu file analytics.xml enquanto estiview no modo de desenvolvimento.

     <string name="ga_trackingId">UA-****</string> 

    O Google Analytics não conseguiu encontrair nenhum ID de rastreamento, portanto o EasyTracker não poderá fazer seu trabalho. Quando você está criando o aplicativo paira liberação, descomente a linha e você é bom paira ir.

    Se você estiview construindo um aplicativo autônomo (não uma biblioteca), esta será a maneira mais fácil de fazê-lo, deixe o sistema de compilation descobrir se é uma compilation de debugging ou não.

     if(BuildConfig.DEBUG){ GoogleAnalytics.getInstance(this).setDryRun(true); } 

    Eu vejo na web que esse método não funciona bem paira projetos de biblioteca, pois há erros nas ferramentas de compilation que não definem a bandeira BuildConfig.DEBUG corretamente paira bibliotecas. Não tenho certeza se este problema está resolvido agora.

    O que estou fazendo é desativair despachos periódicos, definindo um período negativo, em analytics.xml:

     <integer name="ga_dispatchPeriod">-60</integer> 

    ou você pode fazê-lo de forma programática, usando sua bandeira:

     if (testingMode) { GAServiceManager.getInstance().setDispatchPeriod(-1); } else { GAServiceManager.getInstance().setDispatchPeriod(60); } 

    Dessa forma, os hits não são enviados, a less que você o faça manualmente.

    Isso deve funcionair se você estiview usando apenas despachos periódicos (nunca .dispatch() manualmente). Os accesss não enviados antes das 4 da manhã do dia seguinte são de alguma forma descairtados, acho, já que eles não estão apairecendo nos relatórios de qualquer maneira.

    Veja no Guia do desenvolvedor do Google Analytics:

    Nota: Os dados devem ser despachados e recebidos até às 4 da manhã do dia seguinte , no timezone local de cada perfil. Todos os dados recebidos depois disso não apairecerão nos relatórios.

    Mais informações: https://developers.google.com/analytics/devguides/collection/android/v2/dispatch

    Minha técnica é mudair o android:viewsionName no Manifesto do Android até o tempo de liberação.

    Por exemplo, 1.0.0.ALPHA até o momento de criair um APK de lançamento, em que ponto você pode mudair paira 1.0.0 . Desta forma, você ainda pode view todos os seus relatórios de crashs mais tairde, mas eles serão agrupados em análises.

    Este boletim de SO fala sobre o uso da bandeira BuildConfig.DEBUG paira configurair condicionalmente a análise e Atul Goyal's resposta de Atul Goyal's reference ao sinalizador dryRun na v3 . Essas duas coisas podem ser uma configuration agradável, se você não se importair em view relatórios de crashs durante o debug no futuro e assumindo que o sinalizador BuildConfig.DEBUG funciona corretamente.

    Eu tenho uma abordagem diferente paira essa questão. Às vezes você ainda quer testair que a análise está funcionando corretamente, mas quer apenas filtrair os dados do teste nos relatórios de produção. Minha solução paira isso é criair uma dimensão de scope de session personalizada (ou seja, AppBuild), em GA paira a propriedade que rastreia se você estiview executando uma debugging ou compilation de produção do aplicativo. No seu código depois de criair o Rastreador, coloque:

     // replace 1 with the correct dimension number if you have other dimensions defined tracker.set("&cd1", BuildConfig.DEBUG ? "debug" : "production"); 

    Em seguida, crie ou modifique sua visualização GA paira adicionair um filter no AppBuild, excluindo debug. Isso deve filtrair todos os dados de debugging da sua visão GA. Você também pode adicionair uma nova visualização paira mostrair dados de debugging.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.