Ações cronometradas

As ações cronometradas permitem medir o tempo no aplicativo e o tempo total entre o início e o fim de uma ação. O SDK calcula a quantidade de tempo em cada sessão e o tempo total em todas as sessões que levará para a ação ser concluída. É possível usar as ações cronometradas para definir segmentos e comparar o tempo de compra, o nível de passagem, o fluxo de finalização da compra e assim por diante.

As seguintes métricas são reportadas para ações cronometradas:

  • Número total de segundos no aplicativo entre o início e o término (sessões cruzadas)
  • Número total de segundos entre o início e o término (hora do relógio)

Um retorno de chamada opcional permite executar ações adicionais quando a ação cronometrada é concluída:

  • Execute o código e adicione qualquer lógica - lógica personalizada opcional com base nos resultados de duração.
  • Adicione dados de contexto antes de transmitir as durações.
  • Cancele a ocorrência e as durações ainda não enviadas.

Rastrear ações cronometradas

  1. Adicione a biblioteca ao projeto e implemente o ciclo de vida.

    Para obter mais informações, consulte Adicionar o SDK e o arquivo de configuração ao projeto IntelliJ IDEA ou Eclipse na implementação principal e no ciclo de vida.

  2. Importe a biblioteca:

    import com.adobe.mobile.*;
    
  3. Chame trackTimedActionStart e forneça um nome de ação cronometrada e dados de contexto opcionais.

    HashMap cdata = new HashMap<String, Object>(); 
    cdata.put("ExperienceName", experience); 
    Analytics.trackTimedActionStart("TimeUntilPurchase", cdata);
    
  4. (Opcional) Em qualquer ponto, você pode chamar trackTimedActionUpdate com o nome da ação cronometrada para acrescentar dados de contexto adicionais.

    HashMap cdata = new HashMap<String, Object>(); 
    cdata.put("myapp.ImageLiked", imageName); 
    Analytics.trackTimed​ActionUpdate("TimeUntilPurchase", cdata);
    
  5. Quando o evento for concluído, faça uma chamada para trackTimedActionEnd e passe o nome da ação agendada e TimedActionBlock (chamada de retorno) que verificará todos os dados e calculará as durações.

    Analytics.trackTimedActionEnd("TimeUntilPurchase", cdata);
    

    As métricas de eventos cronometrados são salvas em variáveis da solução móvel para relatórios automáticos.

Envio de dados adicionais

Além disso, em adição ao nome da ação programada, é possível enviar dados de contexto adicionais com o início da ação e as chamadas de atualização de ação:

HashMap cdata = new HashMap<String, Object>(); 
cdata.put("myapp.ImageLiked", imageName); 
Analytics.trackTimed​ActionUpdate("TimeUntilPurchase", cdata);

Os valores de dados de contexto devem ser mapeados para variáveis personalizadas nos Adobe Mobile Services:

Exemplos

// Timed Action Start Example 
HashMap cdata = new HashMap<String, Object>(); 
cdata.put("ExperienceName", experience); 
Analytics.trackTimedActionStart("TimeUntilPurchase", cdata); 
 
// Timed Action Update Example 
cdata = new HashMap<String, Object>(); 
cdata.put("ImageLiked", imageName); 
Analytics.trackTimed​ActionUpdate("TimeUntilPurchase", cdata); 
 
// Timed Action End Example 
Analytics.trackTimedActionEnd("TimeUntilPurchase", null); 
 
// Timed Action End Example with Callback 
Analytics.trackTimedActionEnd("TimeUntilPurchase", new Analytics.TimedActionBlock<Boolean>() { 
 @Override 
 public Boolean call(long inAppDuration, long totalDuration, Map<String, Object> contextData) { 
  contextData.put("PurchaseItem", "Item453"); 
  return true; // return true to send the hit, false to cancel 
 } 
});

Nesta página