User-ID: SDK para Android

Este guia do desenvolvedor demonstra como implementar o User-ID com o SDK do Google Analytics para Android v3.x.

Visão geral

O recurso User ID permite a avaliação de atividades dos usuários distribuídas em vários dispositivos no Google Analytics, como atribuir a interação de uma campanha de marketing em um dispositivo móvel a uma conversão que ocorre em outro dispositivo móvel ou em um navegador.

Quando os User-IDs são enviados com hits do Google Analytics usando o campo userId, seus relatórios refletem uma contagem mais precisa dos usuários únicos e oferecem novas opções de relatórios entre dispositivos. Saiba mais sobre as vantagens de usar o User-ID.

Este guia mostra como usar o campo userId e o SDK do Google Analytics para Android para enviar IDs de usuário ao Analytics.

Pré-requisitos

Antes de enviar o User ID ao Google Analytics:

Implementação

Quando um usuário é conhecido no seu aplicativo Android, você precisa enviar um ID que o representa com todos os hits do Google Analytics, como exibições de página, eventos, transações de comércio eletrônico etc., usando o campo userId.

Para enviar o User-ID, defina o campo userId usando a sintaxe do "e" comercial do Measurement Protocol e o nome do parâmetro Fields.USER_ID, como neste exemplo:

/**
 * An example method called when a user signs in to an authentication system.
 *
 * @param User user represents a generic User object returned by an authentication system on sign in.
 */
public void onUserSignIn(User user) {

  Tracker t = GoogleAnalytics.getInstance(context).getTracker("UA-XXXX-Y");

  // You only need to set User ID on a tracker once. By setting it on the tracker, the ID will be
  // sent with all subsequent hits.
  t.set(Fields.USER_ID, user.getId());

  // This hit will be sent with the User ID value and be visible in User-ID-enabled views (profiles).
  t.send(MapBuilder
      .createEvent("UX",       // Event category (required)
                   "Sign In",  // Event action (required)
                   null,       // Event label
                   null)       // Event value
      .build()
  );
}