Google Analytics SDK untuk Android v1 (Lama)

Google Analytics untuk SDK Aplikasi Seluler untuk Android memudahkan penerapan Google Analytics di aplikasi berbasis Android. Dokumen ini menjelaskan cara mengintegrasikan SDK dengan aplikasi Anda.

Ringkasan SDK

SDK ini menggunakan model pelacakan yang dirancang untuk melacak pengguna ke situs tradisional dan interaksi dengan widget di halaman web tradisional. Karena alasan ini, istilah yang digunakan di bawah mencerminkan model pelacakan situs konvensional dan sedang dipetakan untuk melacak aplikasi seluler. Anda harus sudah memahami pelacakan Analytics untuk memahami cara kerja SDK ini.

Gunakan SDK pelacakan seluler untuk melacak aplikasi ponsel dengan jenis interaksi Analytics berikut:

Pelacakan Tayangan Halaman
Kunjungan halaman adalah cara standar untuk mengukur volume traffic ke situs biasa. Karena aplikasi seluler tidak berisi halaman HTML, Anda harus memutuskan kapan (dan seberapa sering) memicu permintaan kunjungan halaman. Selain itu, karena permintaan kunjungan halaman dirancang untuk melaporkan struktur direktori, Anda harus memberikan nama deskriptif untuk permintaan tersebut guna memanfaatkan penamaan jalur halaman dalam laporan Konten di Analytics. Nama yang Anda pilih akan diisi dalam laporan Analytics sebagai jalur halaman meskipun sebenarnya nama tersebut sebenarnya bukan halaman HTML. Namun, Anda dapat memanfaatkan hal ini dengan menyusun jalur guna memberikan pengelompokan tambahan untuk panggilan Anda.
Pelacakan Peristiwa
Di Analytics, peristiwa dirancang untuk melacak interaksi pengguna terhadap elemen halaman web secara jelas dari permintaan kunjungan halaman. Anda dapat menggunakan fitur Pelacakan Peristiwa dari Google Analytics untuk melakukan panggilan tambahan yang akan dilaporkan di bagian Pelacakan Peristiwa pada antarmuka laporan Analytics. Peristiwa dikelompokkan menggunakan kategori dan juga dapat menggunakan label per peristiwa, sehingga memberikan fleksibilitas dalam pelaporan. Misalnya, aplikasi multimedia dapat memiliki tindakan play/stop/pause untuk kategori video dan menetapkan label untuk setiap nama video. Laporan Google Analytics kemudian akan menggabungkan peristiwa untuk semua peristiwa yang diberi tag dengan kategori video. Untuk informasi selengkapnya tentang Pelacakan Peristiwa, lihat Panduan Pelacakan Peristiwa
Pelacakan E-commerce
Gunakan fitur Pelacakan e-commerce untuk melacak transaksi keranjang belanja dan pembelian dalam aplikasi. Untuk melacak transaksi, gunakan class Transaction untuk mewakili keseluruhan informasi pembelian serta class Item untuk mewakili setiap produk di keranjang belanja. Setelah dikumpulkan, data tersebut kemudian dapat dilihat di bagian Pelaporan e-commerce pada antarmuka Google Analytics. Untuk informasi selengkapnya tentang Pelacakan E-commerce, lihat Panduan Pelacakan E-commerce.
Variabel Khusus
Variabel kustom adalah tag pasangan nilai nama yang dapat Anda sisipkan dalam kode pelacakan untuk menyaring pelacakan Google Analytics. Untuk informasi selengkapnya tentang cara menggunakan variabel kustom, baca Panduan Variabel Kustom.

Memulai

Persyaratan

Untuk mengintegrasikan kemampuan pelacakan Google Analytics dengan aplikasi Android, Anda akan membutuhkan hal berikut:

Penyiapan

  • Tambahkan libGoogleAnalytics.jar ke direktori /libs project Anda.
  • Tambahkan izin berikut ke file manifes AndroidManifest.xml project Anda:
    • <uses-permission android:name="android.permission.INTERNET" />
    • <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Aplikasi contoh disertakan dengan SDK yang menunjukkan seperti apa tampilan project Anda jika berhasil disiapkan. Jangan ragu untuk menggunakannya sebagai template untuk aplikasi Anda sendiri yang terintegrasi dengan Analytics.

Menggunakan SDK

Sebelum mulai menggunakan SDK, pertama-tama Anda harus membuat akun gratis di www.google.com/analytics dan membuat properti web baru di akun tersebut menggunakan URL situs palsu yang deskriptif (misalnya, http://mymobileapp.mywebsite.com). Setelah membuat properti, tuliskan atau simpan salinan ID properti web yang dibuat untuk properti yang baru dibuat.

Anda harus menunjukkan kepada pengguna, baik di dalam aplikasi itu sendiri atau dalam persyaratan layanan Anda, bahwa Anda berhak melacak dan melaporkan aktivitas pengguna di dalam aplikasi Anda secara anonim. Penggunaan Google Analytics SDK oleh Anda juga diatur oleh Persyaratan Layanan Google Analytics, yang harus Anda setujui ketika mendaftar untuk membuat akun.

Contoh dan Praktik Terbaik

Anda dapat menemukan kode contoh dan praktik terbaik di code.google.com pada bagian project analytics-api-samples.

Library EasyTracker

Tersedia Library EasyTracker. Library ini menyediakan pelacakan level aplikasi dan Aktivitas dengan hampir tanpa upaya pengembangan. Anda dapat menemukannya di bagian Download pada project analytics-api-samples.

Memulai Pelacak

Dapatkan singleton pelacak dengan memanggil GoogleAnalyticsTracker.getInstance(). Lalu, panggil metode startNewSession, dengan meneruskan ID properti web dan aktivitas yang sedang dilacak. Anda dapat memanggil metode ini secara langsung dalam metode onCreate Aktivitas jika aplikasi hanya memiliki satu Aktivitas. Contoh:

package com.google.android.apps.analytics.sample;

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 TestActivity extends Activity {

  GoogleAnalyticsTracker tracker;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    tracker = GoogleAnalyticsTracker.getInstance();

    // Start the tracker in manual dispatch mode...
    tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this);

    // ...alternatively, the tracker can be started with a dispatch interval (in seconds).
    //tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", 20, this);

    setContentView(R.layout.main);
    Button createEventButton = (Button)findViewById(R.id.NewEventButton);
    createEventButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        tracker.trackEvent(
            "Clicks",  // Category
            "Button",  // Action
            "clicked", // Label
            77);       // Value
      }
    });

    Button createPageButton = (Button)findViewById(R.id.NewPageButton);
    createPageButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        // Add a Custom Variable to this pageview, with name of "Medium" and value "MobileApp" and
        // scope of session-level.
        tracker.setCustomVar(1, "Navigation Type", "Button click", 2);
        // Track a page view. This is probably the best way to track which parts of your application
        // are being used.
        // E.g.
        // tracker.trackPageView("/help"); to track someone looking at the help screen.
        // tracker.trackPageView("/level2"); to track someone reaching level 2 in a game.
        // tracker.trackPageView("/uploadScreen"); to track someone using an upload screen.
        tracker.trackPageView("/testApplicationHomeScreen");
      }
    });

    Button quitButton = (Button)findViewById(R.id.QuitButton);
    quitButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        finish();
      }
    });

    Button dispatchButton = (Button)findViewById(R.id.DispatchButton);
    dispatchButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        // Manually start a dispatch, not needed if the tracker was started with a dispatch
        // interval.
        tracker.dispatch();
      }
    });
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    // Stop the tracker when it is no longer needed.
    tracker.stopSession();
  }
}

Jika memiliki beberapa Aktivitas dalam aplikasi, Anda dapat menggunakan Library EasyTracker yang disediakan di bagian Download dalam project analytics-api-samples.

Melacak Tayangan Halaman dan Peristiwa

Melacak kunjungan halaman dan peristiwa menjadi mudah: cukup panggil trackPageView objek pelacak setiap kali Anda ingin memicu kunjungan halaman. Panggil trackEvent untuk merekam peristiwa. Untuk mengetahui informasi selengkapnya tentang kunjungan halaman dan peristiwa, lihat Ringkasan SDK di atas.

Menggunakan Variabel Khusus

Menambahkan variabel kustom juga sangat mudah: cukup gunakan metode setCustomVar yang disediakan oleh SDK seluler. Anda perlu merencanakan terlebih dahulu yang mengindeks setiap peta variabel kustom, sehingga Anda tidak menimpa variabel yang sudah ada sebelumnya. Untuk informasi selengkapnya tentang variabel kustom, lihat Panduan Variabel Kustom. Perhatikan, metode setCustomVar tidak langsung mengirim data sendiri. Sebaliknya, data dikirim dengan kunjungan halaman atau peristiwa yang dilacak berikutnya. Anda harus memanggil setCustomVar sebelum melacak tayangan halaman atau peristiwa. Perhatikan bahwa cakupan default Variabel Kustom adalah cakupan halaman.

Menggunakan Pelacakan E-commerce

Ada 4 metode yang Anda gunakan untuk mengaktifkan pelacakan E-commerce di aplikasi:

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

Memanggil addTransaction dan addItem akan menambahkan transaksi atau item ke buffer E-commerce internal, tempat lebih banyak item dan transaksi dapat ditambahkan. Hanya saat memanggil trackTransactions, transaksi dan item akan dikirim ke dispatcher dan diantrekan untuk dikirim ke Google Analytics.

Untuk menghapus buffer, Anda dapat memanggil metode clearTransactions. Catatan: fungsi ini tidak mengingat transaksi apa pun yang sebelumnya dikirim ke dispatcher atau transaksi apa pun yang telah dikumpulkan oleh Google Analytics.

Kode contoh berikut dapat Anda gunakan untuk memulai. Kami berasumsi bahwa metode onPurchaseCompleted dipanggil saat pembelian dikonfirmasi atau ditolak.

  /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   *
   * @param purchase A PurchaseObject containing all of the transaction information needed to
   *     send the ecommerce hit to Google Analytics.
   */
  public void onPurchaseCompleted(PurchaseObject purchase) {
    tracker.addTransaction(new Transaction.Builder(
        purchase.getTransactionId(),
        purchase.getTotal())
        .setStoreName(purchase.getStoreName())
        .setTotalTax(purchase.getTotalTax())
        .setShippingCost(purchase.getShippingCost())
        .build());
    for (PurchaseLineItem lineItem : purchase.getLineItems()) {
        tracker.addItem(new Item.Builder(
            purchase.getTransactionId(),
            lineItem.getItemSKU(),
            lineItem.getItemCost(),
            lineItem.getQuantity())
            .setItemName(lineItem.getItemName())
            .setItemCategory(lineItem.getItemCategory())
            .build());
    }
    if (purchase.isConfirmed()) {
      tracker.trackTransactions();
    } else {
      // The purchase was denied or failed in some way.  We need to clear out
      // any data we've already put in the Ecommerce buffer.
      tracker.clearTransactions();
    }
  }

Untuk informasi selengkapnya tentang E-commerce, lihat Panduan Pelacakan E-commerce.

Anonimkan IP

Untuk menganonimkan informasi IP pengguna, gunakan metode setAnonymizeIp. Tindakan ini akan memberi tahu Google Analytics untuk menganonimkan informasi yang dikirim oleh SDK dengan menghapus octet terakhir alamat IP sebelum penyimpanannya.

Anda dapat memanggil setAnonymizeIp kapan saja.

Menetapkan Frekuensi Sampel

Anda dapat menetapkan frekuensi sampel menggunakan metode setSampleRate. Jika aplikasi Anda menghasilkan banyak traffic Analytics, menetapkan frekuensi sampel dapat mencegah pembuatan laporan menggunakan data sampel. Pengambilan sampel terjadi secara konsisten pada seluruh pengguna unik, sehingga tercipta integritas dalam tren dan pelaporan saat frekuensi sampel diaktifkan. Metode setSampleRate menerima satu parameter int. Nilai yang valid untuk parameter tersebut adalah bilangan bulat antara 0 dan 100, inklusif.

Rasio 0 menonaktifkan pembuatan hit, sedangkan rasio 100 mengirim semua data ke Google Analytics. Sebaiknya panggil setSampleRate sebelum memanggil metode pelacakan apa pun.

Anda dapat mempelajari pengambilan sampel lebih lanjut dari Panduan Konsep Pengambilan Sampel.

Mengelompokkan Hit

Untuk menghemat overhead koneksi dan baterai, sebaiknya kelompokkan permintaan pelacakan Anda. Anda dapat memanggil dispatch pada objek pelacakan kapan pun Anda ingin membuat permintaan batch, dan Anda dapat melakukannya secara manual atau pada interval waktu tertentu.

Masalah Umum

  • Memanggil metode GoogleAnalyticsTracker di thread berbeda dapat mengakibatkan error yang tidak jelas. Pastikan untuk melakukan semua panggilan dari thread yang sama.
  • Melacak Kampanye

    SDK mendukung dua jenis pelacakan kampanye.

    - Pelacakan Kampanye Google Play – Memungkinkan Anda melacak rujukan penginstalan melalui Google Play.
    - Pelacakan Kampanye Umum – Memungkinkan Anda melacak kampanye apa pun yang merujuk pengguna ke aplikasi Anda.

    Pelacakan Kampanye Google Play

    Rilis OS Android 1.6 mendukung penggunaan parameter URL referrer dalam link download ke Google Play. Google Analytics SDK untuk Android menggunakan parameter ini untuk mengisi informasi kampanye secara otomatis di Google Analytics untuk aplikasi Anda. Hal ini memungkinkan sumber penginstalan aplikasi dicatat dan dikaitkan dengan tayangan halaman dan peristiwa di masa mendatang, yang dapat berguna untuk mengukur keefektifan iklan tertentu untuk aplikasi Anda, misalnya.

    Agar pelacakan rujukan berfungsi, Anda harus menambahkan cuplikan kode berikut ke file manifes AndroidManifest.xml project:

    <!-- Used for install referrer tracking -->
    <receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true">
      <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
    

    Untuk menyiapkan pelacakan kampanye Google Analytics melalui Google Play, gunakan Pembuat URL di bawah ini untuk membuat link rujukan. Gunakan link ini untuk mengarahkan pengguna ke aplikasi Anda. Analytics SDK akan secara otomatis mengurai dan mencatat informasi rujukan serta mengisinya dalam laporan Analytics.

    Untuk membuat link rujukan, Anda dapat menggunakan Pembuat URL Kampanye Google Play. Nama Paket, Sumber Kampanye, Media Kampanye, dan Nama Kampanye wajib diisi. Untuk deskripsi terperinci dari setiap parameter, lihat tabel di bawah.

    Pelacakan Kampanye Umum

    Dengan SDK Google Analytics versi 1.3 untuk Android, kini Anda dapat melacak kampanye untuk sumber selain Google Play. Misalnya, jika ingin mengetahui bahwa aplikasi Anda diluncurkan dari link di sebuah iklan, Anda dapat memeriksa informasi rujukan kampanye dalam intent yang menyebabkan aplikasi Anda diluncurkan, lalu menyimpan informasi kampanye tersebut di Google Analytics.

    Untuk menetapkan informasi rujukan kampanye, gunakan metode setReferrer seperti berikut:

      tracker.setReferrer(referrer);
    

    Ada dua batasan untuk menggunakan fitur ini. Pertama, Anda harus memanggil startNewSession sebelum memanggil setReferrer. Anda harus melakukannya karena database SQLite yang digunakan oleh Google Analytics tidak disiapkan sebelum memanggil startNewSession dan setReferrer memerlukan database tersebut. Jika belum memanggil startNewSession, Anda akan mendapatkan IllegalStateException.

    Batasan kedua adalah string rujukan yang diteruskan ke setReferrer harus mengikuti format tertentu. Parameter ini harus berupa sekumpulan parameter URL dan harus menyertakan setidaknya satu parameter gclid atau salah satu parameter utm_campaign, utm_medium, dan utm_source. Dalam kasus terakhir, parameter tersebut juga dapat memiliki parameter utm_term dan utm_content.

    Parameter gclid adalah bagian dari fitur pemberian tag otomatis yang secara otomatis menautkan Google Analytics ke Google Ads. Contoh rujukan kampanye yang menggunakan pemberian tag otomatis mungkin terlihat seperti ini:

    referrer = “gclid=gclidValue”;
    

    String rujukan kampanye manual mungkin terlihat seperti:

    referrer = “utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;
    

    Jika Anda meneruskan string perujuk dengan format yang salah ke setReferrer, informasi perujuk tidak akan berubah dan Anda akan mendapatkan nilai return salah. Nilai return true menunjukkan bahwa perujuk telah diperbarui dan akan ditambahkan ke setiap hit ke depannya.

    Perhatikan juga bahwa sesi baru akan dimulai saat Anda memanggil setReferrer dan menampilkan true.

    Parameter Wajib Deskripsi Contoh
    utm_campaign Ya Nama kampanye; digunakan untuk analisis kata kunci guna mengidentifikasi promosi produk atau kampanye strategis tertentu utm_campaign=spring_sale
    utm_source Ya Sumber kampanye; digunakan untuk mengidentifikasi mesin telusur, newsletter, atau sumber lainnya utm_source=google
    utm_medium Ya Media kampanye; digunakan untuk mengidentifikasi media seperti email atau biaya per klik (cpc) utm_medium=cpc
    utm_term Tidak Istilah kampanye; digunakan dengan penelusuran berbayar guna menyediakan kata kunci untuk iklan utm_term=running+shoes
    utm_content Tidak Konten kampanye; digunakan untuk pengujian A/B dan iklan bertarget konten untuk membedakan iklan atau link yang mengarah ke URL yang sama utm_content=logolink
    utm_content=textlink