Plug-in da Adobe: formatTime

IMPORTANTE

Esse plug-in é fornecido pela Adobe Consulting como cortesia para ajudar você a tirar maior proveito do Adobe Analytics. O Atendimento ao cliente da Adobe não fornece suporte para este plug-in, o que inclui instalação ou solução de problemas. Se você precisar de ajuda com esse plug-in, entre em contato com o Gerente de conta de sua organização. Ele pode organizar uma reunião com um consultor para obter ajuda.

O plug-in formatTime permite que você trate qualquer número de segundos e o apresente em um formato reduzido, arredondado para um valor referencial desejado. A Adobe recomenda usar esse plug-in se você quiser capturar um valor de tempo em segundos e convertê-lo em um formato simplificado (como minutos, dias ou semanas). Esse plug-in é desnecessário se você não quiser agrupar valores com em segundos em um formato arredondado por tempo.

Instale o plug-in usando a extensão Adobe Experience Platform Launch

A Adobe oferece uma extensão que permite usar os plug-ins usados com mais frequência.

  1. Faça logon em launch.adobe.com usando as credenciais da Adobe ID.
  2. Clique na propriedade desejada.
  3. Vá para a guia Extensões e clique no botão Catálogo.
  4. Instale e publique a extensão Plug-ins comuns do Analytics.
  5. Caso ainda não o tenha feito, crie uma regra denominada "Inicializar plug-ins" com a seguinte configuração:
    • Condição: Nenhuma
    • Evento: principal – biblioteca carregada (início da página)
  6. Adicione à regra acima uma ação com a seguinte configuração:
    • Extensão: Plug-ins comuns do Analytics
    • Tipo de ação: inicializar formatTime
  7. Salve e publique as alterações na regra.

Instale o plug-in usando o editor de código personalizado do Launch

Se você não quiser usar a extensão do plug-in, poderá usar o editor de código personalizado.

  1. Faça logon em launch.adobe.com usando as credenciais da Adobe ID.
  2. Clique na propriedade desejada.
  3. Vá até a guia Extensões e clique no botão Configurar na extensão do Adobe Analytics.
  4. Expanda a opção Configurar rastreamento usando código personalizado, que revela o botão Abrir editor.
  5. Abra o editor de código personalizado e cole na janela de edição o código do plug-in fornecido abaixo.
  6. Salve e publique as alterações na extensão do Analytics.

Instalar o plug-in usando o AppMeasurement

Copie e cole o seguinte código em qualquer lugar no arquivo AppMeasurement depois que o objeto de rastreamento do Analytics for instanciado (usando s_gi). A preservação de comentários e números de versão do código na sua implementação ajuda a Adobe a solucionar possíveis problemas.

/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: formatTime v2.0 */
function formatTime(ns,tf,bml){var f=ns,d=tf,e=bml;function h(b,d,c,e){if("string"!==typeof d)return!1;if("string"===typeof b)b=b.split(c||",");else if("object"!==typeof b)return!1;c=0;for(a=b.length;c<a;c++)if(1==e&&d===b[c]||d.toLowerCase()===b[c].toLowerCase())return!0;return!1}if(arguments&&"-v"===arguments[0])return{plugin:"formatTime",version:"2.0"};var b=function(){if("undefined"!==typeof window.s_c_il)for(var b=0,c;b<window.s_c_il.length;b++)if(c=window.s_c_il[b],c._c&&"s_c"===c._c)return c}();"undefined"!==typeof b&&(b.contextData.formatTime="2.0");if(!("undefined"===typeof f||isNaN(f)||0>Number(f))){b="";if("string"===typeof d&&"d"===d||("string"!==typeof d||!h("h,m,s",d))&&86400<=f){var c=86400;var g="days";b=isNaN(e)?1:c/(e*c)}else"string"===typeof d&&"h"===d||("string"!==typeof d||!h("m,s",d))&&3600<=f?(c=3600,g="hours",b=isNaN(e)?4:c/(e*c)):"string"===typeof d&&"m"===d||("string"!==typeof d||!h("s",d))&&60<=f?(c=60,g="minutes",b=isNaN(e)?2:c/(e*c)):(c=1,g="seconds",b=isNaN(e)?.2:c/e);b=Math.round(f*b/c)/b+" "+g;0===b.indexOf("1 ")&&(b=b.substring(0,b.length-1));return b}};
/******************************************** END CODE TO DEPLOY ********************************************/

Usar o plug-in

O método formatTime aceita os seguintes argumentos:

  • ns (obrigatório, número inteiro): o número de segundos a ser convertido ou formatado
  • tf (opcional, string): o tipo de formato em que os segundos devem ser retornados; o padrão é segundos
    • Defina como "d" se desejar tempo em dias (arredondado para o referencial de 1/4 de dia que estiver mais próximo, por padrão)
    • Defina como "h" se desejar tempo em horas (arredondado para o referencial de 1/4 de hora que estiver mais próximo, por padrão)
    • Defina como "m" se desejar tempo em minutos (arredondado para o referencial de 1/2 minuto que estiver mais próximo, por padrão)
    • Defina como "s" se desejar tempo em segundos (arredondado para o referencial de 5 segundos que estiver mais próximo, por padrão)
  • bml (opcional, número): a quantidade de tempo dos referenciais de arredondamento. Padrões para os referenciais listados no argumento tf

O método retorna o número de segundos formatados na unidade especificada no argumento tf. Se o argumento tf não estiver definido:

  • Qualquer coisa menor que um minuto é arredondada para o referencial de 5 segundos que estiver mais próximo
  • Qualquer coisa entre um minuto e uma hora é arredondada para o referencial de 1/2 minuto que estiver mais próximo
  • Qualquer coisa entre uma hora e um dia é arredondada para o referencial de 1/4 de hora que estiver mais próximo
  • Qualquer coisa maior que um dia é arredondada para o valor referencial de dia que estiver mais próximo

Exemplos

Exemplo #1

O código a seguir…

s.eVar1 = s.formatTime(38242);

… definirá s.eVar1 como "10,5 horas"

O argumento transmitido, 38242 segundos, é igual a 10 horas, 37 minutos e 22 segundos. Como o argumento tf não está definido nesta chamada e o número de segundos transmitidos está entre uma hora e um dia, o plug-in retornará o número de segundos convertidos para o referencial de 1/4 de hora que estiver mais próximo.

Exemplo #2

O código a seguir…

s.eVar1 = s.formatTime(38250);

…definirá s.eVar1 como "10,75 horas"
O argumento transmitido, 38250 segundos, é igual a 10 horas, 37 minutos e 30 segundos. Nesse caso, arredondar o número de segundos transmitidos para o referencial de 1/4 de hora que estiver mais próximo definirá o valor final como 10,75 horas

Exemplo #3

O código a seguir…

s.eVar1 = s.formatTime(38242, "m");

… definirá s.eVar1 como "637,5 minutos"

Nesse caso, o argumento "m" força o plug-in a converter os segundos para o referencial de meio minuto que estiver mais próximo

Exemplo #4

O código a seguir…

s.eVar1 = s.formatTime(38242, "m", 20);

… definirá s.eVar1 como "640 minutos"

O valor do argumento tf ("m") força o plug-in a converter os segundos em minutos, mas o valor do argumento bml (20) também força o plug-in a arredondar a conversão de minutos para o referencial de 20 minutos que estiver mais próximo.

Exemplo #5

O código a seguir…

s.eVar1 = s.formatTime(125, "s", 2);

…definirá s.eVar1 como "126 segundos", que é o referencial de 2 segundos mais próximo a 125 segundos

Exemplo #6

O código a seguir…

s.eVar1 = s.formatTime(125, "m", 3);

…definirá s.eVar1 como "3 minutos", que é o referencial de 3 minutos mais próximo a 125 segundos

Exemplo #7

O código a seguir…

s.eVar1 = s.formatTime(145, "m", .4);

…definirá s.eVar1 como "2,4 minutos", que é o referencial de 2/5 minutos mais próximo (por exemplo, .4 = 2/5) a 145 segundos

Histórico da versão

2.0 (19 de março de 2021)

  • Adição do número da versão como dados de contexto.

1.1 (21 de maio de 2018)

  • Adição do argumento bml para permitir mais flexibilidade no arredondamento

1.0 (15 de abril de 2018)

  • Versão inicial.

Nesta página