11 Out, 2012 14:50
Mapeamento da interação do usuário no seu aplicativo
Atualmente é possível usar o Google Analytics tanto em iOS quanto em Android. Vejamos como utilizá-lo em ambos os sistemas operacionais.
iOS
Para começar, é preciso fazer o download do Google Analytics SDK para iOS. Dentro do arquivo baixado, você encontrará uma pasta chamada Library que contém dois arquivos: GANTracker.h e libGoogleAnalytics.a. Pegue os dois e os coloque dentro da pasta do seu projeto. Não esqueça que você precisa incluí-los no projeto no Xcode também.
Antes de começar a usar o SDK, você deve primeiro ter uma conta no Google Analytics e criar uma propriedade com uma URL de site inexistente, por exemplo, http://app.meusite.com. Depois disso, será gerado um UA number com o formato UA-xxxxx-yy. Guarde-o.
Com o seu projeto todo configurado, agora é só implementar o mapeamento. Veja o exemplo abaixo:
#import "ExamploAppDelegate.h"
#import "GANTracker.h"
@implementation ExamploAppDelegate
@synthesize window = _window;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-xxxxx-yy" dispatchPeriod:10 delegate:nil];
// Mapeamento de evento
[[GANTracker sharedTracker] trackEvent:@"categoria"
action:@"acao"
label:@"texto"
value:-1
withError:&error])
// Mapeamento de pageview
[[GANTracker sharedTracker] trackPageview:@"/pagina" withError:&error])
[_window makeKeyAndVisible];
}
- (void)dealloc {
[[GANTracker sharedTracker] stopTracker];
[window_ release];
[super dealloc];
}
@end
À primeira vista pode parecer complicado, mas não é. Antes de mais nada é preciso configurar o tracker para apontar para a conta que foi criada com o UA number. Você também diz qual o intervalo de tempo que deseja enviar os dados mapeados para o servidor do Google Analytics. No nosso exemplo o período é de 10 segundos.
Há dois tipos de mapeamento: evento e pageview. O primeiro nada mais é que mapear as diversas ações que o usuário faz no seu aplicativo. Utilizamos bastante nas ações dos botões. Já o pageview é como na web - mapeamento das páginas de um site. Usamos para mapear as telas do aplicativo.
Com essas definições, agora é determinar quais áreas do seu aplicativo são importantes serem mapeadas e implementar.
Android
No Android não é muito diferente como vimos no iOS. Primeiro é preciso baixar Google Analytics SDK para Android. Depois, adicione o arquivo libGoogleAnalytics.jar nas pasta libs do seu projeto. Atente para o seguinte: o Google Analytics SDK precisa de conexão com a internet, então é preciso configurar isso no AndroidManifest.xml do projeto. As permissões são: "android.permission.INTERNET" e "android.permission.ACCESS_NETWORK_STATE".
Com o projeto já configurado, agora é só implementar o mapeamento. Veja o exemplo abaixo:
package br.com.empresa.app.analytics.exemplo;
import com.google.android.apps.analytics.GoogleAnalyticsTracker;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TesteActivity extends Activity {
GoogleAnalyticsTracker tracker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tela_inicial);
tracker = GoogleAnalyticsTracker.getInstance();
tracker.startNewSession("UA-xxxxx-yy", 10, this);
Button botao = (Button)findViewById(R.id.botao);
botao.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Mapeamento de evento
tracker.trackEvent("categoria", "acao", "texto", -1);
}
});
// Mapeamento de pageview
tracker.trackPageView("/telaInicial");
}
@Override
protected void onDestroy() {
tracker.stopSession();
super.onDestroy();
}
}
Como no exemplo do iOS, o uso do Google Analytics SDK para Android é bem tranquilo. É preciso também configurar a conta que receberá as informações. Nesse exemplo o intervalo de envio é de 10 segundos. E o mapeamento é da mesma forma: evento e pageview.
Caso queira saber mais detalhes, acesse https://developers.google.com/analytics/devguides/.