Panduan Penerapan Aplikasi Seluler

Dokumen ini ditujukan untuk developer seluler dan menjelaskan cara menggunakan Google Analytics untuk mengukur interaksi pengguna dan menjawab pertanyaan tentang penggunaan aplikasi.

Pengantar

Google Analytics untuk aplikasi seluler menyediakan platform untuk mengukur interaksi pengguna, sehingga Anda dapat lebih memahami dan mengoptimalkan interaksi pengguna dengan aplikasi Anda.

Implementasi default Google Analytics akan otomatis memberikan informasi berikut tentang aplikasi Anda:

  • Jumlah pengguna dan sesi
  • Durasi sesi
  • Sistem operasi
  • Model perangkat
  • Geografi

Panduan ini akan menjelaskan cara menerapkan fitur Google Analytics tambahan untuk lebih memahami pengguna dan perilaku mereka.

Sebelum memulai

Sebelum mengikuti panduan penyiapan Google Analytics untuk Aplikasi Seluler ini:

Ringkasan

Penangkap Naga

Panduan ini menggunakan aplikasi contoh untuk memandu Anda dalam menerapkan fitur Google Analytics tambahan. Aplikasi ini disebut Dragon Catcher dan memiliki karakteristik gameplay berikut:

  • Level terdiri dari pemain, naga, area berpagar, sumur, dan pohon
  • Sasaran pemain adalah menangkap naga dengan memindahkannya ke area berpagar
  • Pemain dapat mengunjungi berbagai area level dan objek seperti sumur atau pohon ajaib
  • Pemain maju ke level berikutnya setelah menangkap semua naga.
  • Pemain memulai game di level pertama yang bernama Barren Fields.

Menggunakan Google Analytics, beberapa pertanyaan tentang perilaku pengguna yang dapat dijawab tentang Dragon Catcher:

Bagian selanjutnya dari dokumen ini menggambarkan bagaimana pertanyaan ini dapat dijawab dengan menerapkan fitur Google Analytics untuk game Dragon Catcher.

Tindakan apa yang dilakukan pengguna saya? (Peristiwa)

Jika ada tindakan penting yang ingin Anda lacak dalam aplikasi, peristiwa dapat digunakan untuk menjelaskan tindakan ini di Google Analytics. Peristiwa terdiri dari empat parameter: category, action, label, dan value.

Misalnya, dalam Dragon Catcher, pengguna yang menyelamatkan naga atau mengunjungi area tertentu dalam level adalah tindakan penting yang ingin kita ukur menggunakan peristiwa. Cuplikan kode di bawah ini menggambarkan cara mengukur hal ini di Google Analytics.

Android SDK

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Rescue")
    .setLabel("Dragon")
    .setValue(1)
    .build());

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Visited")
    .setLabel("Magic Tree")
    .setValue(1)
    .build());

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Visited")
    .setLabel("Well")
    .setValue(1)
    .build());

iOS SDK

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Rescue"
                                                       label:@"Dragon"
                                                       value:@1] build]];

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Visited"
                                                       label:@"Magic Tree"
                                                       value:@1] build]];

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Visited"
                                                       label:@"Well"
                                                       value:@1] build]];

Plugin GA untuk Unity

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
googleAnalytics.LogEvent("Barren Fields", "Rescue", "Dragon", 1);

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
googleAnalytics.LogEvent("Barren Fields", "Visited", "Magic Tree", 1);

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
googleAnalytics.LogEvent("Barren Fields", "Visited", "Well", 1);

Mengukur "pencapaian" pemain

"Pencapaian" pemain dapat diukur menggunakan peristiwa di Google Analytics. Misalnya, untuk mengukur pencapaian penyelamatan 5 naga, jumlah naga yang diselamatkan pemain akan dicatat, lalu setelah pemain mencapai batas, peristiwa akan dikirim ke Google Analytics:

Android SDK

if (numDragonsRescued > 5) {
  if (!user.hasAchievement(RESCUED_ACHIEVEMENT) {
    tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Achievement")
        .setAction("Unlocked")
        .setLabel("5 Dragons Rescued")
        .setValue(1)
        .build());
  } else {
    tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Achievement")
        .setAction("Earned")
        .setLabel("5 Dragons Rescued")
        .setValue(1)
        .build());
  }
}

iOS SDK

if (numDragonsRescued > 5) {
  if (![user hasAchievement:RESCUED_ACHIEVEMENT]) {
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement"
                                                          action:@"Unlocked"
                                                           label:@"5 Dragons Rescued"
                                                           value:@1] build]];
  } else {
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement"
                                                          action:@"Earned"
                                                           label:@"5 Dragons Rescued"
                                                           value:@1] build]];
  }
}

Plugin GA untuk Unity

if (numDragonsRescued > 5) {
  if (!user.HasAchievement(RESCUED_ACHIEVEMENT)) {
    googleAnalytics.LogEvent("Achievement", "Unlocked", "5 Dragons Rescued", 1);
  } else {
    googleAnalytics.LogEvent("Achievement", "Earned", "5 Dragons Rescued", 1);
  }
}

Panduan developer untuk acara

Pelaporan untuk peristiwa

Data peristiwa tersedia di:

Berapa banyak uang yang dihabiskan pengguna di aplikasi saya? (Enhanced E-commerce)

Jika Anda ingin mengukur pembelian dalam aplikasi oleh pengguna, pelacakan e-commerce dapat digunakan untuk melacak pembelian dan memahami performa produk dan perilaku pengguna terkait. Pelacakan e-commerce dapat digunakan untuk mengukur pembelian item tertentu atau mata uang virtual.

Misalnya, di Dragon Catcher, untuk mengukur pembelian beberapa item, data transaksi dikirim ke Google Analytics dengan peristiwa:

Android SDK

Product product = new Product()
    .setName("Dragon Food")
    .setPrice(40.00);

ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T12345");

// Add the transaction data to the event.
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setCategory("In-Game Store")
    .setAction("Purchase")
    .addProduct(product)
    .setProductAction(productAction);

// Send the transaction data with the event.
tracker.send(builder.build());

iOS SDK

GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setName:@"Dragon Food"];
[product setPrice:@40.00];

GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init];
[productAction setAction:kGAIPAPurchase];
[productAction setTransactionId:@"T12345"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
// Add the transaction data to the event.
[builder setProductAction:productAction];
[builder addProduct:product];

// Send the transaction data with the event.
[tracker send:[builder build]];

Plugin GA untuk Unity

// Note: Using Android SDK v3 and standard Ecommerce tracking.

googleAnalytics.LogItem("T12345", "Dragon Food", "Food_SKU", "Items", 40.00, 1);
googleAnalytics.LogTransaction("T12345", "In-Game Store", 40.00, 0.00, 0.00);

Jika pengguna membeli mata uang virtual, sebaiknya ukur pertukaran uang sungguhan saat mengirimkan data transaksi ke Google Analytics. Saat pengguna membelanjakan mata uang virtual untuk membeli item, ukur hal ini menggunakan peristiwa. Contoh:

Android SDK

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */
Product product = new Product()
    .setName("2500 Gems")
    .setPrice(5.99);

ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T67890");

// Add the transaction to the screenview.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

// Send the transaction with the screenview.
tracker.setScreenName("In-Game Store");
tracker.send(builder.build());


/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setCategory("In-Game Store")
    .setAction("Purchase")
    .setLabel("Sword")
    .setValue(35);
tracker.send(builder.build());

iOS SDK

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setName:@"2500 Gems"];
[product setPrice:@5.99];

GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init];
[productAction setAction:kGAIPAPurchase];
[productAction setTransactionId:@"T67890"];

GAIDictionaryBuilder *viewBuilder = [GAIDictionaryBuilder createScreenView];

// Add the transaction data to the screenview.
[viewBuilder setProductAction:productAction];
[viewBuilder addProduct:product];

// Send the transaction with the screenview.
[tracker set:kGAIScreenName value:@"In-Game Store"];
[tracker send:[viewBuilder build]];


/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
GAIDictionaryBuilder *eventBuilder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store"
                                                                       action:@"Purchase"
                                                                        label:@"Sword"
                                                                        value:@35];
[tracker send:[eventBuilder build]];

Plugin GA untuk Unity

// Note: Using Android SDK v3 and standard Ecommerce tracking.

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */

googleAnalytics.LogItem("T12345", "2500 Gems", "GEM2500_SKU", "Items", 5.99, 1);
googleAnalytics.LogTransaction("T12345", "In-Game Store", 5.99, 0.00, 0.00);

/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
googleAnalytics.LogEvent("In-Game Store", "Purchase", "Sword", 35);

Panduan developer untuk Enhanced E-commerce

Pelaporan untuk Enhanced E-commerce

Data e-commerce tersedia dalam bahasa:

Apakah pengguna menyelesaikan tujuan aplikasi saya? (Sasaran)

Jika Anda memiliki tujuan spesifik untuk aplikasi yang Anda inginkan agar diselesaikan pengguna, Anda dapat menentukan dan mengukur tujuan ini menggunakan Sasaran di Google Analytics. Misalnya, sasaran dapat berupa pengguna mencapai level game tertentu atau membeli item. Untuk mempelajari lebih lanjut cara kerja sasaran, lihat Tentang sasaran (Pusat Bantuan).

Dalam game Dragon Catcher, sasaran dapat ditetapkan untuk mengukur waktu pembelian dalam aplikasi jika suatu peristiwa dikirim ke Google Analytics untuk setiap pembelian. Sasaran ini dapat ditentukan di admin antarmuka web, tanpa kode tambahan, menggunakan parameter berikut:

  • Jenis Sasaran (Sama dengan): Peristiwa
  • Kategori (Sama dengan): In-Game Store
  • Tindakan (Sama dengan): Purchase
  • Menggunakan nilai Peristiwa sebagai Nilai Sasaran untuk konversi: Ya

Pelaporan Sasaran

Data sasaran tersedia dalam bahasa:

Bagaimana perilaku pengguna dengan sifat tertentu? (Dimensi & Metrik Kustom)

Jika Anda ingin melacak pengguna dengan atribut/ciri/metadata tertentu, dimensi kustom dapat digunakan untuk mengirim jenis data ini ke Google Analytics dan dalam analisis. Lihat Referensi fitur Dimensi & Metrik Kustom untuk mempelajari cara kerja dimensi kustom lebih lanjut.

Misalnya, di Dragon Catcher, untuk mengetahui persentase pengguna yang berada di tingkat pertama, tingkat kedua, dst. dimensi kustom dapat ditetapkan dengan tingkat pengguna saat ini dan dikirim ke Google Analytics. Langkah-langkahnya adalah:

  1. Buat dimensi kustom dengan cakupan User. Cakupan User digunakan karena nilai ini harus tetap ada di semua sesi pengguna tersebut. Lihat Menyiapkan atau mengedit dimensi kustom (Pusat Bantuan).
  2. Perbarui nilai dimensi kustom jika tingkat pengguna telah diubah.

Cuplikan berikut menggambarkan cara memperbarui status pengguna di Google Analytics dengan indeks dimensi kustom tingkat pengguna adalah 1 dan level pengguna telah diubah menjadi Barren Fields:

Android SDK

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
tracker.setScreenName("BarrenFields");
tracker.send(new HitBuilders.ScreenViewBuilder()
    .setCustomDimension(1, "Barren Fields")
    .build()
);

iOS SDK

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
[tracker set:kGAIScreenName value:@"BarrenFields"];
[tracker send:[[[GAIDictionaryBuilder createScreenView]
         set:@"Barren Fields"
      forKey:[GAIFields customDimensionForIndex:1]] build]];

Plugin GA untuk Unity

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("BarrenFields").SetCustomDimension(1, "Barren Fields"));

Panduan developer untuk Dimensi & Metrik Kustom

Pelaporan untuk Dimensi & Metrik Kustom

Dimensi kustom dapat disertakan di dan diterapkan sebagai segmen untuk:

Menerapkan dimensi kustom sebagai segmen akan memungkinkan Anda menganalisis pengguna yang saat ini berada di level tertentu dalam game.

Berapa lama waktu yang dibutuhkan pengguna untuk menyelesaikan suatu tugas? (Waktu Kustom)

Jika Anda ingin mengukur durasi penyelesaian sesuatu di aplikasi, waktu pengguna dapat digunakan untuk pengukuran berbasis waktu di Google Analytics. Waktu pengguna mirip dengan peristiwa, tetapi berbasis waktu, dan dapat mencakup category, value, name (variable), dan label. Untuk mempelajari cara kerja waktu pengguna, lihat Tentang Kecepatan Situs.

Misalnya, di Dragon Catcher untuk mengukur berapa lama waktu yang diperlukan pengguna untuk menyelamatkan naga pertamanya, Anda dapat mengirimkan sesuatu seperti:

Android SDK

// Build and send a timing hit.
tracker.send(new HitBuilders.TimingBuilder()
    .setCategory("Barren Fields")
    .setValue(45000)  // 45 seconds.
    .setVariable("First Rescue")
    .setLabel("Dragon")
    .build());

iOS SDK

[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:@"Barren Fields"
                                                     interval:@45000   // 45 seconds.
                                                         name:@"First Rescue"
                                                        label:@"Dragon"] build]];

Plugin GA untuk Unity

// Build and send a timing hit.
googleAnalytics.LogTiming("Barren Fields",45000,"First Rescue","Dragon");

Panduan developer untuk pengaturan waktu kustom

Pelaporan untuk pengaturan waktu kustom

Data pengaturan waktu kustom tersedia dalam bahasa:

  • Google Analytics Academy - Tingkatkan keterampilan Analytics Anda dengan kursus online gratis, termasuk dasar-dasar analisis aplikasi seluler.
  • API & SDK Pengumpulan - Pelajari semua cara untuk mengirimkan data ke Google Analytics