Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Saturday, June 28, 2014

Hướng dẫn sử dụng Google Analytics trong Unity

Trong bài viết này, mình sẽ hướng dẫn cách sử dụng Google Analytics để tracking hành vi người dùng.

Giới thiệu: Google Analytics cung cấp tính năng phân tích kỹ thuật số mạnh mẽ cho các ứng dụng, web cả lớn và nhỏ. Đó là 1 trong những giải pháp phân tích hành vi, xu hướng người dùng mạnh mẽ và hoàn toàn miễn phí. Đối với game, Google Analytics sẽ giúp người phát triển nắm bắt được hành vi người dùng, qua đó có thể cập nhật game để nâng cao trải nghiệm.

Link download: GoogleAnalytics.cs

- Bước 1: chuẩn bị
  • Trong Player Settings, switch platform sang Android.Thiết lập các thuộc tính liên quan đến Bundle ID, company, package name... 
  • Tạo mới 1 Google Analytics: vào http://www.google.com/analytics/, click vào Đăng nhập. Đăng nhập vào 1 tài khoản gmail của bạn. 
  • Tạo mới Google Analytics: nhấn vào nút "Đăng ký"
  • Tinh chỉnh các thông tin liên quan đến Google Analytics bạn muốn tao: lưu ý nhớ chọn phần "Ứng dụng trên điện thoại di động".
  • Sau đó, click vào nút "Nhận ID theo dõi" ở dưới cùng của trang web. Chấp nhận các điều khoản của Google Analytics, bạn sẽ tạo mới được 1 Google Analytics mới.
  • Giao diện chung:


- Bước 2: download và import gói sau
  • Link download: GoogleAnalytics.cs
  • Gói này chứa lớp GoogleAnalytics.cs để tracking hành vi người dùng.

- Bước 3: thêm quyền cho Android manifest
  • Permission:
    • <uses-permission android:name="android.permission.INTERNET" />
    • <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

- Bước 4: cập nhật application ID và tên game. Mở lớp GoogleAnalytics.cs
  • Cập nhật Property ID: vào thẻ "Quản trị" trong Google Analytics. Trong phần thuộc tính (cột giữa), nhấn vào "Cài đặt thuộc tính" và copy ID theo dõi vào Property ID.
  • Cập nhật bundleID (chính là tên package của game), appName (tên game), appVersion (mã phiên bản).
  • Để tracking: gọi hàm "GoogleAnalytics.LogScreen ("<tên màn hinh>");"
  • VD: GoogleAnalytics.LogScreen ("Menu Screen");
Kết quả: đã test và chạy thành công trên nhiều máy.

Yêu cầu của plugins: 
  • Unity3D 4.x trở lên
  • Android 2.3.1 trở lên

Friday, June 13, 2014

Sử dụng các hàm Log của Android trên Unity3D

Trong bài viết này mình sẽ hướng dẫn sử dụng các chức năng log (Log.v, Log.e, Log.d, Log.i, Log.w) của Android gọi trực tiếp từ Unity3D.

Bình thường, khi code trên Android chúng ta hay sử dụng các chức năng như Toast, Log.e, Log.v... để debug game. Tuy nhiên, khi sử dụng Unity3D để build game Android thì ta khó có thể truy cập và sử dụng các hàm này. Các hàm debug của Unity3D hầu như chỉ có thể log trên editor, để config và sử dụng các hàm này trên Android khá là khó khăn.

Do đó, mình đã viết 1 plugins chuyên thực hiện việc log trên Android. 
Nguyên tắc cơ bản là bên code Unity3D sẽ gọi ngược sang bên code Android và gọi các hàm log của Android.

Để sử dụng các chức năng Android log trong Unity3D, ta cần thực hiện các bước sau:

- Bước 1: chuẩn bị, mục tiêu của bước này là để game có thể sẵn sàng build trên Android
  • Trong Player Settings, switch platform sang Android
  • Thiết lập các thuộc tính liên quan đến Bundle ID, company...

- Bước 2: download và import gói sau

- Bước 3: Sử dụng các hàm sau
  • Để hiện Toast: AndroidLog.showToast ("Test show toast");
  • Để log trong Logcat: tham số đầu tiên là tag, tham số thứ hai là message
    • Log error: AndroidLog.logError ("Test Logging", "Log error");
    • Log debug: AndroidLog.logDebug ("Test Logging", "Log debug");
    • Log warning: AndroidLog.logWarning ("Test Logging", "Log warning");
    • Log info: AndroidLog.logInfo ("Test Logging", "Log info");
    • Log verbose: AndroidLog.logVerbose ("Test Logging", "Log verbose"); 

Kết quả: mở Logcat và xem thành quả. Mình đã test trên nhiều dòng máy khác nhau và chưa phát hiện ra lỗi gì (đã test trên Galaxy S1 => Galaxy S4, Sky, HK phone...)

Lưu ý: plugins này được tối ưu cho tính dễ sử dụng nên hiệu năng không cao. Khi build game để phát hành nên bỏ hết các hàm thực hiện việc logging này đi.

Yêu cầu của plugins: 
  • Unity3D 4.x trở lên
  • Android 2.3.1 trở lên