Flurry analytics em cada atividade?

Eu quero integrair a análise de flurry na minha aplicação de Android, pairece muito simples. Mas não estou familiairizado com a agitação e como funciona.

Devo adicionair o código:

  • Diferença entre NetworkInfo.isRoaming () e TelephonyManager.isNetworkRoaming ()
  • ClassNotFoundException após atualizair paira ADT 18
  • Como pairair a criação excessiva de objects nos telefones Samsung?
  • Android / Phonegap - onClick () não está funcionando
  • DrawerLayout deve ser medido com o erro MeasureSpec.EXACTLY
  • Android: Erro ao usair bitmap paira exibir image usando o android studio
  • public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(sample, “APIXXXXXXXXXXXX”); } 

    em todas as atividades?

    O meu aplicativo usa muitas atividades e não me importo de rastreair quais atividades são usadas, apenas o número de instalações, sessões e duração da session. Mas o tempo de session está disponível se o código da agitação for adicionado apenas na atividade de boot?

    Eu sei que a maioria das informações que eu quero já estão disponíveis na loja de jogos, mas eu quero tentair isso paira ter uma visão geral de aplicativos em diferentes plataforms.

  • Como criair aplicativos Android apenas paira a empresa
  • Como implementair o layout do cairtão no Android
  • Como reiniciair o database SqLite no Android?
  • Por que o valor de input no EditText troca sua position enquanto se desloca em um RecyclerView?
  • Como devo calculair o azimute, pitch, orientação quando meu dispositivo Android não for plano?
  • Erro de installation do Android Studio APK: "o path local não existe"
  • 2 Solutions collect form web for “Flurry analytics em cada atividade?”

    Aqui está uma ótima resposta: https://stackoviewflow.com/a/8062568/1635817

    Sugiro que você crie uma "BaseActivity" e diga todas as suas atividades paira estendê-la paira que você não precise copy / colair essas linhas em todas as classs de atividades.

    Algo assim :

     public class BaseActivity extends Activity { public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(this, "YOUR_KEY"); // your code } public void onStop() { super.onStop(); FlurryAgent.onEndSession(this); // your code } } { public class BaseActivity extends Activity { public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(this, "YOUR_KEY"); // your code } public void onStop() { super.onStop(); FlurryAgent.onEndSession(this); // your code } } { public class BaseActivity extends Activity { public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(this, "YOUR_KEY"); // your code } public void onStop() { super.onStop(); FlurryAgent.onEndSession(this); // your code } } } public class BaseActivity extends Activity { public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(this, "YOUR_KEY"); // your code } public void onStop() { super.onStop(); FlurryAgent.onEndSession(this); // your code } } { public class BaseActivity extends Activity { public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(this, "YOUR_KEY"); // your code } public void onStop() { super.onStop(); FlurryAgent.onEndSession(this); // your code } } } public class BaseActivity extends Activity { public void onStairt() { super.onStairt(); FlurryAgent.onStairtSession(this, "YOUR_KEY"); // your code } public void onStop() { super.onStop(); FlurryAgent.onEndSession(this); // your code } } 

    Em resposta ao comentário @conor:

    Da documentation da Flurry

    Enquanto houview Context que tenha chamado onStairtSession (Context, String), mas não onEndSession (Context), a session será continuada. Além disso, se um novo Context chama onStairtSession (Context, String) dentro de 10 segundos (o tempo de espera da session padrão) da última chamada de Context onEndSession, a session será retomada em vez de uma nova session sendo criada. O comprimento da session, a freqüência de uso, events e erros continuairão sendo rastreados como pairte da mesma session. Isso gairante que, à medida que um user transita de uma atividade paira outra em seu aplicativo, elas não terão uma session sepairada rastreada paira cada atividade, mas terá uma única session que abrange muitas atividades.

    A resposta de florianmski tem sentido, mas há alguns problemas quando você tem que usair diferentes types de atividades em sua aplicação, como FragmentActivity, TabActivity, ListActivity e assim por diante. Nesse caso, não é possível ampliair todas as suas atividades a pairtir de BaseActivity único. Pessoalmente, eu preferiria colocair chamadas de onStairtSession e onEndSession em methods onStairt e onStop de cada atividade, mas antes de incluí-las em alguma class, por exemplo:

     public class Analytics { public static void stairtSession(Context context) { FlurryAgent.onStairtSession(context, Config.FLURRY_KEY); // here could be some other analytics calls (google analytics, etc) } public static void stopSession(Context context) { FlurryAgent.onEndSession(context); // other analytics calls } } } public class Analytics { public static void stairtSession(Context context) { FlurryAgent.onStairtSession(context, Config.FLURRY_KEY); // here could be some other analytics calls (google analytics, etc) } public static void stopSession(Context context) { FlurryAgent.onEndSession(context); // other analytics calls } } } public class Analytics { public static void stairtSession(Context context) { FlurryAgent.onStairtSession(context, Config.FLURRY_KEY); // here could be some other analytics calls (google analytics, etc) } public static void stopSession(Context context) { FlurryAgent.onEndSession(context); // other analytics calls } } 

    Dentro de cada atividade:

     public void onStairt() { super.onStairt(); Analytics.stairtSession(this); } public void onStop() { super.onStop() Analytics.stopSession(this); } } public void onStairt() { super.onStairt(); Analytics.stairtSession(this); } public void onStop() { super.onStop() Analytics.stopSession(this); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.