Google analytics in android :
Google Analytics provides powerful digital analytics for anyone with a web presence, large or small. It's one of the most powerful digital analytics solutions available - and it's free for anyone to use.Read more about google analytics.
Step 1:Generate track Id.
First,access your Google analytics home page.Then click "Create New Account" button.
Finally,click generate trackId button.
after that it will show your application TrackId.
Step 2:Download "Google analytics lib"
Click here to download "Google analytics lib"
Step 3:analytics.xml
Create alalytics.xml in your your layout folder and paste the following code.
<?xml version="1.0" encoding="utf-8" ?> <resources> <!--Replace placeholder ID with your tracking ID--> <string name="ga_trackingId">UA-XXXX-Y</string> <!--Enable automatic activity tracking--> <bool name="ga_autoActivityTracking">true</bool> <!--Enable automatic exception tracking--> <bool name="ga_reportUncaughtExceptions">true</bool> </resources> |
Step 4:Helper.java
Create Helper.java class and paste the following code.
import android.content.Context;
import com.google.analytics.tracking.android.EasyTracker;
import com.google.analytics.tracking.android.Fields;
import com.google.analytics.tracking.android.MapBuilder;
import com.google.analytics.tracking.android.Tracker;
import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;
public class Helper{
/**
* Push an "openScreen" event with the given screen name. Tags that match that event will fire.
*/
private static Tracker tracker;
public static void pushOpenScreenEvent(Context context, String screenName) {
// Instantiate the Tracker
tracker = EasyTracker.getInstance(context);
tracker.set(Fields.SCREEN_NAME, screenName);
// Send a screenview.
tracker.send(MapBuilder
.createAppView()
.build()
);
}
/**
* Push an "Button clicked" event with the given screen name. Tags that match that event will fire.
*/
public static void pushbtnClickedEvent(Context context, String clickE) {
tracker = EasyTracker.getInstance(context);
// Values set directly on a tracker apply to all subsequent hits.
tracker.set(Fields.SCREEN_NAME, "Home Screen");
// This screenview hit will include the screen name "Home Screen".
tracker.send(MapBuilder.createAppView().build());
// And so will this event hit.
tracker.send(MapBuilder
.createEvent("UI", "click", "my btn clicked", null)
.build()
);
}
/**
* Push a "closeScreen" event with the given screen name. Tags that match that event will fire.
*/
public static void pushCloseScreenEvent(Context context, String screenName) {
// Instantiate the Tracker
tracker = EasyTracker.getInstance(context);
tracker.set(Fields.SCREEN_NAME, screenName);
// Send a screenview.
tracker.send(MapBuilder
.createAppView()
.build()
);
}
}
|
Step 5: MainActivity.java
package com.example.googleanalyticsexample; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import com.google.analytics.tracking.android.EasyTracker; public class MainActivity extends Activity { Button btnClickEvent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnClickEvent=(Button)findViewById(R.id.button1); btnClickEvent.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Helper.pushbtnClickedEvent(MainActivity.this, "Button Clicked"); } }); } @Override protected void onStart() { super.onStart(); EasyTracker.getInstance(this).activityStart(this); Helper.pushOpenScreenEvent(this, "Main Activity"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); EasyTracker.getInstance(this).activityStop(this); // Add this method } } |
The dashboard have two type of view that is screenview and event view.
Screen view:
Event view:
Dont forget to add these permissions in manifest.xml
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
DOWNLOAD FULL SOURCE CODE
1 comment:
Simple and sure! Just love the solution!
Post a Comment