Tìm hiểu về Google Analytics: tracking Screen - Event trên Android App
Khi bạn phát triển một ứng dụng Android nào đó, và bạn muốn theo dõi thống kê xem những chức năng nào của app được sử dụng nhiều nhất từ phía người dùng hay những thao tác nào là phổ biến nhất, để từ đó bạn có thể xác định được hướng người dùng và từ những con số thu được bạn có thể cải thiện ứng ...
Khi bạn phát triển một ứng dụng Android nào đó, và bạn muốn theo dõi thống kê xem những chức năng nào của app được sử dụng nhiều nhất từ phía người dùng hay những thao tác nào là phổ biến nhất, để từ đó bạn có thể xác định được hướng người dùng và từ những con số thu được bạn có thể cải thiện ứng dụng một cách tốt hơn, định hướng người dùng hơn. Điều đầu tiên bạn có thể nghĩ đến đó là Google Analytics
1. Google Analytis là gì?
Google Analytics là một dịch vụ miễn phí cung cấp bởi Google nhằm đánh giá hiệu quả của các hoạt động Online Marketing (bao gồm SEO và các hoạt động marketing khác)
Google Analytics cung cấp cho người sử dụng các dữ liệu về traffic, nguồn traffic, các dữ liệu nhân khẩu học, hành vi của người tiêu dùng trên website, ứng dụng di động… Đồng thời Google Analytics có thể tích hợp với nhiều sản phẩm khác của Google như Google Adwords, Google Adsense, Google Webmaster Tools…
Các tính năng chính của Google Analytics gồm có:
- Tùy chỉnh Dashboard để xem những dữ liệu cần thiết
- Sử dụng Advanced Segment để theo dõi các chiến dịch cụ thể
- Xem dữ liệu nhân khẩu học (Demographic) của nguồn traffic: Nhóm tuổi, địa điểm, chủ đề ưa thích…
- Xem khách hàng tìm kiếm gì trên website
- Hình ảnh hóa các nội dung được ưa thích nhất
- Funnel Visualization: Người sử dụng thường rời bỏ shopping cart tại bước nào
- Theo dõi doanh thu của các sản phẩm
- Theo dõi hành vi người sử dụng (Multi-Channel Funnels)
- Tạo các mô hình so sánh mức độ tham gia của các kênh marketing (Model Comparision)
- ...
Hiện tại có khoảng 29,584,615 website đang cài đặt Google Analytics (Nguồn: Builtwith)
2. Cài đặt - sử dụng Google Analytics trên Android App
Đăng ký Google Analytics
Vâng muốn xài gì thì phải đăng ký cái đó, điều đầu tiên cần làm đó là bạn cần phải đăng ký Google Analytics.
Link trang chủ: https://www.google.com/analytics/
Click và đăng ký tuần tự theo các bước và ấn next next, thế là ta đã hoàn thành đăng ký Google Analytis cho ứng dụng của mình.
Add Google Analytics vào Android App
Yêu cầu: bản Android Studio và Google Play Services mới nhất.
Note: Google Analytics vẫn có thể sử dụng và làm việc trên các thiết bị không có Google Play Services. Trong trường hợp này bạn vẫn có thể download và sử dụng Google Play Services SDK, và Google Analytics sẽ tự động quay lại local dispatching. (Learn how to update your project's manifest file to enable background dispatching on non-Google Play devices)
Set up project
Khai báo quyền INTERNET và ACCESS_NETWORK_STATE trong file AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.greathoang.gademo"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:name=".GADemoApplication" ... </application> </manifest>
Add Google Services plugin cho Gradle để có thể phân tích thông tin cấu hình từ google-services.json file.
Add the dependency to project-level build.gradle:
dependencies { classpath 'com.google.gms:google-services:3.0.0' }
Add the plugin to the bottom of app-level build.gradle:
apply plugin: 'com.google.gms.google-services' dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services-analytics:9.0.0' }
Get a configuration file
Configuration file cung cấp thông tin service-specific cho ứng dụng của bạn. Để có được configuration file click nút phía dưới và chọn project đã có sẵn hoặc tạo mới project và cung cấp packagename cho ứng dụng của bạn.
GET A CONFIGURATION FILE
Note: Bạn phải có một tài khoản Google Analytics và đã được đăng ký để có được các tập tin cấu hình. (bước đầu tiên)
Add the configuration file to project
Khi đã có google-services.json file rồi thì vứt vô project của mình thôi.
Application
Bạn nên tạo một subclass Application và cung cấp một phương thức để trả về application's tracker.
package com.example.greathoang.gademo; import android.app.Application; import com.google.android.gms.analytics.GoogleAnalytics; import com.google.android.gms.analytics.Tracker; public class GADemoApplication extends Application { private Tracker mTracker; synchronized public Tracker initTracker() { if (mTracker == null) { GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(this); mTracker = googleAnalytics.newTracker(R.xml.global_tracker); } return mTracker; } }
Activity
Khi hoàn thành các bước trên thì giờ ta đã có thể thực hiện tracking trên các Activity mong muốn. Bạn cũng có thể tracking trên Fragment, nhưng hãy đảm bảo rằng Fragment đó đại điện cho một View.
Đầu tiên ta cần một Tracker để thực hiện các công việc tracking khác nhau.
@Override protected void onCreate(Bundle savedInstanceState) { ... GADemoApplication gaDemoApplication = (GADemoApplication) getApplication(); mTracker = gaDemoApplication.initTracker(); }Send Tracking Screen
@Override protected void onResume() { super.onResume(); if (mTracker != null) { mTracker.setScreenName("Main App Screen"); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); } }
Bạn có thể add tracking cho mọi Activity hoặc Fragment - đại diện cho một màn hình. Hãy chắc chắn rằng các màn hình được đặt tên riêng biệt cụ thể để ta có thể dễ dàng phân biệt và theo dõi trên Analytics.
Send Tracking EventThực hiện gần tương tự như Send Tracking Screen, và điều chú ý vẫn là đặt tên các event cụ thể và riêng biệt.
@Override public void onClick(View v) { switch (v.getId()) { case R.id.menu_1: if (mTracker != null) { mTracker.send(new HitBuilders.EventBuilder() .setCategory("Action_Click_Menu") .setAction("Menu_1") .build()); } break; case R.id.menu_2: if (mTracker != null) { mTracker.send(new HitBuilders.EventBuilder() .setCategory("Action_Click_Menu") .setAction("Menu_2") .build()); } break; case R.id.menu_3: if (mTracker != null) { mTracker.send(new HitBuilders.EventBuilder() .setCategory("Action_Click_Menu") .setAction("Menu_3") .build()); } break; default: break; } }
Theo dõi hoạt động trên Google Analytics
Giờ bạn có thể theo dõi hoạt động của ứng dụng từ phía người dùng. Từ những số liệu thu được, các goal đề ra bạn có thể đưa ra các đánh giá qua đó có thể đưa ra những cải thiện tốt nhất cho ứng dụng, giúp ứng dụng phát triển tốt hơn.