Google Analytics SDK untuk iOS v1 (Lama)

Google Analytics for Mobile Apps SDK untuk iOS memudahkan penerapan Google Analytics dalam aplikasi berbasis iOS. Dokumen ini menjelaskan cara mengintegrasikan SDK dengan aplikasi Anda.

Ringkasan SDK

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

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

Pelacakan Kunjungan Halaman
Kunjungan halaman adalah cara standar untuk mengukur volume traffic ke situs tradisional. 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 yang deskriptif pada permintaan untuk memanfaatkan penamaan jalur halaman dalam laporan Konten di Analytics. Nama yang Anda pilih akan diisi dalam laporan Analytics Anda sebagai jalur halaman meskipun sebenarnya itu bukan halaman HTML, tetapi Anda dapat memanfaatkannya untuk memperoleh keuntungan dengan menyusun jalur untuk memberikan pengelompokan tambahan bagi panggilan Anda.
Pelacakan Peristiwa
Di Analytics, peristiwa didesain untuk melacak interaksi pengguna ke elemen halaman web yang berbeda dari permintaan kunjungan halaman. Anda dapat menggunakan fitur Pelacakan Peristiwa di 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, yang memberikan fleksibilitas dalam pelaporan. Misalnya, aplikasi multimedia dapat memiliki tindakan play/stop/pause untuk kategori video dan menetapkan label untuk setiap nama video. Selanjutnya, laporan Google Analytics 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 kemudian dapat dilihat di bagian pelaporan E-commerce pada antarmuka Google Analytics. Untuk informasi lebih lanjut tentang Pelacakan E-commerce, lihat Panduan Pelacakan E-commerce.
Variabel Khusus
Variabel khusus adalah tag pasangan nilai nama yang dapat Anda sisipkan dalam kode pelacakan untuk menyaring pelacakan Google Analytics. Untuk informasi selengkapnya tentang cara menggunakan variabel khusus, baca Panduan Variabel Khusus.
Dukungan NoThumb
SDK untuk iPhone kini hadir 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 memerlukan hal berikut:

Penyiapan

  • Buka Xcode dan buat project 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.

Google Analytics for Mobile Apps SDK akan berfungsi di iPhone atau iPod Touch apa pun yang menjalankan iOS 2.0 atau versi lebih tinggi -- library ini kompatibel dengan semua versi iOS yang mendukung aplikasi native.

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

Menggunakan SDK

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

Anda harus memberi tahu pengguna, baik di aplikasi itu sendiri atau di persyaratan layanan Anda, bahwa Anda berhak melacak dan melaporkan aktivitas pengguna secara anonim di dalam aplikasi Anda. Penggunaan Anda atas Google Analytics SDK juga diatur oleh Persyaratan Layanan Google Analytics, yang harus Anda setujui saat mendaftar ke akun.

Contoh dan Praktik Terbaik

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

Library EasyTracker

Library EasyTracker tersedia. Library ini menyediakan pelacakan level aplikasi dan UIViewController tanpa perlu 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]. Sering kali lebih mudah untuk memanggil metode ini secara langsung di metode applicationDidFinishLaunching dari delegasi aplikasi Anda. Meneruskan 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 Kunjungan Halaman dan Peristiwa

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

Menggunakan Variabel Khusus

Menambahkan variabel khusus juga mudah: cukup gunakan metode setCustomVariableAtIndex yang disediakan oleh SDK seluler. Sebaiknya rencanakan lebih awal yang mengindeks setiap variabel khusus, sehingga tidak ada penimpaan variabel yang sudah ada sebelumnya. Untuk informasi selengkapnya tentang variabel khusus, lihat Panduan Variabel Khusus. Perhatikan bahwa metode setCustomVariableAtIndex tidak langsung mengirim data sendiri. Data dikirim dengan kunjungan halaman atau peristiwa yang dilacak berikutnya. Anda harus memanggil setCustomVariableAtIndex sebelum melacak kunjungan halaman atau peristiwa. Perhatikan bahwa cakupan default Variabel Khusus adalah cakupan halaman.

Menggunakan Pelacakan E-commerce

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

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

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

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

Kode contoh berikut dapat membantu Anda 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 lebih lanjut tentang E-commerce, lihat Panduan Pelacakan E-commerce.

Anonimkan IP

Untuk menganonimkan informasi IP pengguna, tetapkan properti anonymizeIp ke YA. Ini akan memberi tahu Google Analytics untuk menganonimkan informasi yang dikirim oleh SDK dengan menghapus oktet terakhir alamat IP sebelum penyimpanan dilakukan.

Berikut adalah contoh cara menyetelnya:

 [[GANTracker sharedTracker] setAnonymizeIp:YES];

Anda dapat menyetel anonymizeIp kapan saja.

Menetapkan Rasio Sampel

Anda dapat menetapkan rasio sampel menggunakan properti sampleRate. Jika aplikasi Anda menghasilkan banyak traffic Analytics, menetapkan rasio sampel dapat mencegah laporan Anda dibuat menggunakan data sampel. Pengambilan sampel terjadi secara konsisten di seluruh pengguna unik, sehingga akan ada integritas dalam trending 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 lebih lanjut pengambilan sampel dari Panduan Konsep Pengambilan Sampel.

Pengelompokan Hit

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

Masalah Umum

  • Rujukan/Sumber Traffic: saat ini tidak mungkin untuk melacak sumber kampanye/rujukan dari download aplikasi di perangkat iOS.
  • Kami sangat tidak menyarankan untuk memanggil dispatch dalam situasi berikut:
    • Dalam metode applicationWillTerminate
    • Di applicationDidEnterBackground
    • Sebelum menelepon stopTracker
    Hal ini dapat mengakibatkan 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 rangkaian pesan yang sama.
  • Kampanye Pelacakan

    Pelacakan Kampanye Umum

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

    Untuk menetapkan informasi rujukan kampanye, gunakan metode setReferrer seperti:

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

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

    Batasan kedua adalah string rujukan yang diteruskan ke setReferrer harus mengikuti format tertentu. Kolom ini harus berbentuk kumpulan parameter URL dan harus menyertakan setidaknya parameter gclid atau masing-masing parameter utm_campaign, utm_medium, dan utm_source. Dalam kasus terakhir, parameter ini 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 dapat terlihat seperti ini:

    referrer = @“gclid=gclidValue”;
    

    String rujukan kampanye manual mungkin terlihat seperti ini:

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

    Jika Anda meneruskan string perujuk dengan format yang buruk ke setReferrer, informasi perujuk tidak akan diubah dan Anda akan mendapatkan nilai false. Nilai yang ditampilkan dengan true menunjukkan bahwa perujuk telah diperbarui dan akan ditambahkan ke setiap hit di masa mendatang. Anda juga akan mendapatkan error yang ditampilkan, yang dapat diperiksa untuk mengetahui detail masalah yang terjadi jika panggilan gagal.

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

    Parameter Wajib Deskripsi Contoh
    utm_campaign Ya Nama kampanye; digunakan untuk analisis kata kunci untuk mengidentifikasi promosi atau kampanye strategis produk 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 untuk 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