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.

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

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
  • Tujuan pemain adalah menangkap naga dengan memindahkannya ke area berpagar
  • Pemain dapat mengunjungi berbagai area level dan objek, seperti sumur atau pohon ajaib
  • Pemain akan maju ke level berikutnya setelah menangkap semua naga
  • Pemain memulai game di level pertama yang bernama Barren Fields.

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

Bagian lain dari dokumen ini mengilustrasikan bagaimana pertanyaan ini dapat dijawab 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. Sebuah peristiwa terdiri dari empat parameter: category, action, label, dan value.

Misalnya, dalam Dragon Catcher, pengguna yang menyelamatkan naga atau mengunjungi area tertentu pada level tersebut adalah tindakan penting yang ingin kita ukur menggunakan peristiwa. Cuplikan kode di bawah mengilustrasikan cara mengukurnya 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 keberhasilan penyelamatan 5 naga, jumlah naga yang diselamatkan pemain akan dicatat. Kemudian, setelah pemain mencapai nilai minimum, 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 peristiwa

Pelaporan untuk peristiwa

Data peristiwa tersedia dalam:

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 serta 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 Anda mengukur pertukaran uang sungguhan saat mengirim data transaksi ke Google Analytics. Saat pengguna membelanjakan mata uang virtual untuk membeli item, ukurnya 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 di:

Apakah pengguna menyelesaikan tujuan aplikasi saya? (Sasaran)

Jika Anda ingin pengguna menyelesaikan tujuan khusus untuk aplikasi, Anda dapat menentukan dan mengukur tujuan tersebut menggunakan Sasaran di Google Analytics. Misalnya, sasaran dapat ditujukan bagi pengguna untuk 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 kapan 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): Toko Dalam Game
  • Tindakan (Sama dengan): Pembelian
  • Gunakan nilai Peristiwa sebagai Nilai Sasaran untuk konversi: Ya

Pelaporan Sasaran

Data sasaran tersedia dalam:

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

Jika Anda ingin melacak pengguna dengan atribut/sifat/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 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 level 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 tingkat pengguna telah 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 Dimensi & Metrik Kustom

Pelaporan untuk Dimensi & Metrik 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 dibutuhkan pengguna untuk menyelesaikan sebuah tugas? (Waktu Kustom)

Jika Anda ingin mengukur berapa lama sesuatu akan selesai 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, dalam Dragon Catcher untuk mengukur waktu yang dibutuhkan pengguna untuk menyelamatkan naga pertamanya, 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 pengaturan waktu kustom

Pelaporan untuk waktu kustom

Data pengaturan waktu kustom tersedia di:

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