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.

Penerapan 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 ini untuk menyiapkan Google Analytics untuk Aplikasi Seluler:

Ringkasan

Penangkap Naga

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

  • Level terdiri dari pemain, naga, area berpagar, sumur, dan pohon
  • Tujuan pemain adalah menangkap naga dengan menggerakkannya ke area berpagar
  • Pemain dapat mengunjungi berbagai area level dan objek seperti pohon sumur atau pohon ajaib
  • Pemain maju ke level berikutnya setelah berhasil menangkap semua naga
  • Pemain memulai game pada level pertama yang diberi nama Barren Fields.

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

Bagian lain dari dokumen ini menjelaskan cara menjawab pertanyaan ini dengan menerapkan fitur Google Analytics untuk game Dragon Catcher.

Tindakan apa yang dilakukan pengguna saya? (Acara)

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

Misalnya, di Dragon Catcher, pengguna yang menyelamatkan naga atau mengunjungi area tertentu di level tersebut merupakan tindakan penting yang ingin diukur 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"

Pemutar "pencapaian" 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 ambang batas, peristiwa 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 dibelanjakan 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 terkait dan perilaku pengguna. 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 Anda mengukur pertukaran uang sungguhan saat mengirim 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 tertentu untuk aplikasi yang ingin diselesaikan pengguna, Anda dapat menentukan dan mengukur tujuan ini menggunakan Sasaran di Google Analytics. Misalnya, sasaran dapat berarti 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 disiapkan untuk mengukur waktu pembelian dalam aplikasi dilakukan jika peristiwa dikirim ke Google Analytics untuk setiap pembelian. Sasaran 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): Pembelian
  • Gunakan nilai Peristiwa sebagai Nilai Sasaran untuk konversi: Ya

Pelaporan Sasaran

Data sasaran tersedia di:

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

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

Misalnya, di Dragon Catcher, untuk mengetahui persentase pengguna yang berada di tingkat pertama, tingkat kedua, dll. 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 saat level pengguna berubah.

Cuplikan berikut mengilustrasikan cara memperbarui status pengguna di Google Analytics dengan indeks dimensi kustom tingkat pengguna adalah 1 dan tingkat pengguna telah berubah 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 Metrik & Kustom

Pelaporan untuk Metrik &Dimensi Kustom

Dimensi kustom dapat disertakan 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 diperlukan pengguna untuk menyelesaikan tugas? (Waktu Kustom)

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

Misalnya, dalam Dragon Catcher untuk mengukur waktu yang diperlukan pengguna untuk menyelamatkan naga pertama, Anda dapat mengirim 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 waktu kustom

Pelaporan untuk pengaturan waktu kustom

Data pengaturan waktu khusus tersedia di:

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