Como fazer a integração com o Google Analytics

As interações dos usuários com sua empresa podem ser mensuradas em vários dispositivos e ambientes com o Google Analytics Platform. O Google Analytics fornece os recursos necessários para coletar, armazenar, processar e gerar relatórios dessas interações do usuário.

É possível coletar dados de análises tanto do lado do cliente quanto do servidor.

Coleta de dados de análise do lado do cliente

Use as APIs e os SDKs do Google Analytics para mensurar como os usuários interagem com seu conteúdo e iniciativas de marketing. É possível ver os dados das interações de usuários na interface do Google Analytics ou usar APIs de relatórios para buscar esses dados. Para saber mais detalhes sobre a coleta de dados de análise do lado do cliente, selecione um link abaixo, de acordo com o tipo de cliente:

  • Rastreamento da Web (analytics.js): avalie a interação do usuário com sites ou aplicativos da Web.
  • Android: avalie a interação do usuário com aplicativos para Android.
  • iOS: avalie a interação do usuário com aplicativos para iOS.
  • Protocolo de avaliação - avalie a interação do usuário em qualquer ambiente com este protocolo de nível inferior.

Coleta de dados de análise do lado do servidor

O App Engine fornece um mecanismo para geração de registros de eventos no aplicativo. No entanto, é possível usar o Google Analytics para acompanhar ventos específicos do lado do servidor para diversos fins:

  • Analisar dados históricos - O App Engine permite configurar o tamanho ou número máximo de dias dos arquivos de registros. Depois que esse limite for ultrapassado, você perderá o acesso a esses arquivos de registros. Acompanhar eventos no Google Analytics permite visualizar eventos passados por muito mais tempo.
  • Acompanhar eventos importantes - Os arquivos de registros podem ser muito complexos, incluindo e registrando dados de vários componentes de um aplicativo. Ao usar o acompanhamento de eventos, é possível identificar eventos importantes e rastreá-los, junto de alguns metadados.
  • Trabalhar na interface do usuário: aproveite a sofisticada interface do usuário oferecida pelo Google Analytics para ver, gerar relatórios e exportar esses eventos do lado do servidor.

Para ativar a coleta de dados de análise do lado do servidor, é possível usar um cliente HTTP e fazer solicitações desse tipo usando o Protocolo de avaliação do Google Analytics. Para saber mais, consulte o tópico Acompanhamento de eventos no guia do desenvolvedor do Google Analytics.

Aplicativo de amostra

Veja como rastrear eventos no aplicativo do App Engine consultando o aplicativo de amostra abaixo. É feita uma solicitação HTTP, e os dados sobre o evento são postados no Google Analytics.

Antes de usar o Protocolo de avaliação do Google Analytics no App Engine:

  • Para executar o aplicativo de amostra localmente, siga estas etapas:

Visual Studio

  1. Abra o arquivo dotnet-docs-samples\appengine\flexible\AppEngineFlex.sln com o Visual Studio.

  2. Pressione F5.

Linha de comando

  1. Execute os seguintes comandos no diretório dotnet-docs-samples\appengine\flexible\Analytics:

    dotnet restore
    dotnet run
    
  2. No navegador da Web, digite este endereço:

    http://localhost:5000/
    
  3. Na janela do terminal, pressione Ctrl+C para sair do servidor da Web.

  • Integre o código abaixo ao aplicativo App Engine para postar dados de rastreamento de eventos no Google Analytics:

    HttpClient http = new HttpClient()
    {
        BaseAddress = new Uri("http://www.google-analytics.com/")
    };
    var content = new FormUrlEncodedContent(
        new Dictionary<string, string>() {
            { "v" , "1" },  // API Version.
            { "tid" , Configuration["GaTrackingId"] },  // Tracking ID / Property ID.
            // Anonymous Client Identifier. Ideally, this should be a UUID that
            // is associated with particular user, device, or browser instance.
            { "cid" , "555" },
            { "t" , "event" },  // Event hit type.
            { "ec" , "Poker" },  // Event category.
            { "ea" , "Royal Flush" },  // Event action.
            { "el" , "Hearts" },  // Event label.
            { "ev" , "0" },  // Event value, must be an integer
        });
    var post = http.PostAsync("collect", content);