Google Analytics SDK untuk iOS v1 (Lama)

Google Analytics untuk SDK Aplikasi Seluler untuk iOS memudahkan penerapan Google Analytics di aplikasi berbasis iOS. 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, panggil metode addTransaction untuk membuat transaksi secara keseluruhan serta metode addItem untuk 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.
Dukungan NoThumb
SDK untuk iPhone kini dilengkapi dengan Library versi NoThumb serta versi Thumb standar. Untuk menggunakan Library versi NoThumb, gunakan file libGoogleAnalytics_NoThumb.a, bukan file libGoogleAnalytics.a.

Memulai

Persyaratan

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

Penyiapan

  • Buka Xcode dan buat proyek iPhone OS baru.
  • Tarik GANTracker.h dan libGoogleAnalytics.a dari direktori Library SDK ke project baru Anda.
  • Sertakan framework CFNetwork dalam project Anda dan tautkan ke libsqlite3.0.dylib.

SDK Google Analytics untuk Aplikasi Seluler akan berfungsi dengan iPhone atau iPod Touch yang menjalankan iOS 2.0 atau yang lebih tinggi -- pustaka ini kompatibel dengan semua versi iOS yang mendukung aplikasi asli.

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 UIViewController hampir tanpa upaya pengembangan. Anda dapat menemukannya di bagian Download pada project analytics-api-samples.

Memulai Pelacak

Mulai pelacak dengan memanggil metode startTrackerWithAccountID pada singleton pelacak yang diperoleh melalui [GANTracker sharedTracker]. Biasanya lebih mudah untuk memanggil metode ini secara langsung di metode applicationDidFinishLaunching dari delegasi aplikasi Anda. Teruskan ID properti web, periode pengiriman yang diperlukan, dan delegasi opsional. Contoh:

#import "BasicExampleAppDelegate.h"

#import "GANTracker.h"

// Dispatch period in seconds
static const NSInteger kGANDispatchPeriodSec = 10;

@implementation BasicExampleAppDelegate

@synthesize window = window_;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
  // **************************************************************************
  // PLEASE REPLACE WITH YOUR ACCOUNT DETAILS.
  // **************************************************************************
  [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
                                        dispatchPeriod:kGANDispatchPeriodSec
                                              delegate:nil];

  NSError *error;
  if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1
                                                       name:@"iPhone1"
                                                      value:@"iv1"
                                                  withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackEvent:@"my_category"
                                       action:@"my_action"
                                        label:@"my_label"
                                        value:-1
                                   withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
                                   withError:&error]) {
    // Handle error here
  }

  [window_ makeKeyAndVisible];
}

- (void)dealloc {
  [[GANTracker sharedTracker] stopTracker];
  [window_ release];
  [super dealloc];
}

@end

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 setCustomVariableAtIndex 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 setCustomVariableAtIndex tidak langsung mengirim data sendiri. Sebaliknya, data dikirim dengan kunjungan halaman atau peristiwa yang dilacak berikutnya. Anda harus memanggil setCustomVariableAtIndex 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.

  /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   */
- (void) processPurchase:Purchase purchase {
  [[GANTracker sharedTracker] addTransaction:[purchase transactionId]
                                  totalPrice:[purchase totalPrice]
                                   storeName:[purchase store]
                                    totalTax:[purchase tax]
                                shippingCost:[purchase shipping]
                                   withError:&error];
  if (error) {
    // Handle error
  }
  for (PurchaseItem item in [purchase items]) {
    [[GANTracker sharedTracker] addItem:[purchase transactionId]
                                itemSKU:[item itemSKU]
                              itemPrice:[item price]
                              itemCount:[item count]
                           itemCategory:[item category]
                              withError:&error];
    if (error) {
      // Handle error
    }
  }

  if ([purchase isConfirmed]) {
    [[GANTracker sharedTracker] trackTransactions:&error];
  } 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.
    [[GANTracker sharedTracker] clearTransactions:&error];
  }
}

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

Anonimkan IP

Untuk menganonimkan informasi IP pengguna, tetapkan properti anonymizeIp ke YA. Tindakan ini akan memberi tahu Google Analytics untuk menganonimkan informasi yang dikirim oleh SDK dengan menghapus octet terakhir alamat IP sebelum penyimpanannya.

Berikut adalah contoh cara menyetelnya:

 [[GANTracker sharedTracker] setAnonymizeIp:YES];

Anda dapat menetapkan anonymizeIp kapan saja.

Menetapkan Frekuensi Sampel

Anda dapat menetapkan frekuensi sampel menggunakan properti sampleRate. 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. Parameter sampleRate adalah NSUInteger dan dapat memiliki nilai antara 0 dan 100, inklusif. Berikut adalah contoh yang mengubah sampleRate menjadi 95%:

 [[GANTracker sharedTracker] setSampleRate:95];

Rasio 0 menonaktifkan pembuatan hit, sedangkan rasio 100 mengirim semua data ke Google Analytics. Sebaiknya tetapkan sampleRate 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

  • Rujukan/Sumber Traffic: saat ini pelacakan sumber rujukan/kampanye dari download aplikasi tidak dapat dilakukan di perangkat iOS.
  • Sebaiknya jangan panggil dispatch dalam situasi berikut:
    • Dalam metode applicationWillTerminate
    • Di applicationDidEnterBackground
    • Sebelum memanggil stopTracker
    Hal ini dapat menyebabkan hit dikirim dua kali. Sebagai gantinya, gunakan metode dispatchSynchronous:.
  • Memanggil metode GANTracker pada thread yang berbeda dapat mengakibatkan error SQLite yang tidak jelas. Pastikan untuk melakukan semua panggilan dari thread yang sama.
  • Melacak Kampanye

    Pelacakan Kampanye Umum

    Dengan versi 1.3 SDK Google Analytics untuk iOS, kini Anda dapat melacak rujukan kampanye. Misalnya, jika aplikasi Anda menerapkan Skema URL Kustom, Anda dapat membuat URL yang berisi parameter kueri kampanye. Saat aplikasi diluncurkan sebagai respons terhadap URL tersebut, Anda dapat mengambil parameter kueri dan meneruskannya ke setReferrer, sehingga informasinya disimpan di Google Analytics.

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

      [[GANTracker sharedTracker] setReferrer:referrer withError:&error];
    

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

    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. Anda juga akan menerima pesan error yang dapat diperiksa untuk mendapatkan detail tentang masalah yang terjadi jika panggilan gagal.

    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