Android 1.0 sürümü için Google Analytics SDK'sı (Eski)

Android için Mobil Uygulamalar SDK'sı Google Analytics, Google Analytics'in Android tabanlı uygulamalarda uygulanmasını kolaylaştırır. Bu dokümanda, SDK'nın uygulamalarınızla nasıl entegre edileceği açıklanmaktadır.

SDK'ya Genel Bakış

Bu SDK, kullanıcıları geleneksel web sitelerine izlemek ve geleneksel web sayfalarındaki widget'larla etkileşimi izlemek için tasarlanmış bir izleme modeli kullanır. Bu nedenle, aşağıda kullanılan terimler geleneksel web sitesi izleme modelini yansıtır ve mobil uygulamaların izlenmesiyle eşleştirilir. Bu SDK'nın işleyiş şeklini anlamak için Analytics izleme özelliğiyle ilgili bilgi sahibi olmanız gerekir.

Aşağıdaki Analytics etkileşim türleriyle telefon uygulamalarınızı izlemek için mobil izleme SDK'sını kullanın:

Sayfa Görüntüleme İzleme
Sayfa görüntüleme, geleneksel bir web sitesine gelen trafik hacmini ölçmek için kullanılan standart bir yöntemdir. Mobil uygulamalar HTML sayfaları içermediğinden, sayfa görüntüleme isteğinin ne zaman (ve ne sıklıkta) tetikleneceğine karar vermeniz gerekir. Ayrıca, sayfa görüntüleme istekleri, dizin yapıları hakkında rapor verecek şekilde tasarlandığından, isteklerin Analytics'teki İçerik raporlarında sayfa yolu adlandırmasından yararlanmak için açıklayıcı adlar sağlamanız gerekir. Seçtiğiniz adlar, Analytics raporlarınızda gerçek HTML sayfaları olmasalar bile sayfa yolları olarak doldurulur. Ancak telefon aramalarınız için ek gruplamalar sağlamak üzere yollar yapılandırarak bu avantajdan yararlanabilirsiniz.
Etkinlik İzleme
Analytics'te etkinlikler, kullanıcıların web sayfası öğeleriyle etkileşimini sayfa görüntüleme isteklerinden farklı şekilde izlemek için tasarlanmıştır. Analytics rapor arayüzünün Etkinlik İzleme bölümünde raporlanacak ek çağrılar oluşturmak için Google Analytics'in Etkinlik İzleme özelliğini kullanabilirsiniz. Etkinlikler, kategoriler kullanılarak gruplandırılır ve raporlamada esneklik sağlayan etkinlik başına etiketleri de kullanabilir. Örneğin, bir multimedya uygulamasının video kategorisi için oynat/durdur/duraklat işlemleri olabilir ve her video adı için bir etiket atanabilir. Ardından Google Analytics raporları, video kategorisiyle etiketlenmiş tüm etkinlikler için etkinlik toplar. Etkinlik İzleme hakkında daha fazla bilgi için Etkinlik İzleme Kılavuzu'na bakın.
E-ticaret İzleme
Alışveriş sepeti işlemlerini ve uygulama içi satın alma işlemlerini izlemek için E-ticaret izleme özelliğini kullanın. Bir işlemi izlemek için genel satın alma bilgilerini göstermek üzere Transaction sınıfını ve alışveriş sepetindeki her bir ürünü temsil eden Item sınıfını kullanın. Toplanan veriler, Google Analytics arayüzünün E-ticaret raporlaması bölümünde görüntülenebilir. E-ticaret İzleme hakkında daha fazla bilgi için E-ticaret İzleme Kılavuzu'na bakın.
Özelleştirilebilen Değişkenler
Özelleştirilebilen değişkenler, Google Analytics izlemeyi hassaslaştırmak için izleme kodunuza ekleyebileceğiniz ad-değer çifti etiketleridir. Özel değişkenleri nasıl kullanabileceğiniz hakkında daha fazla bilgi için Özelleştirilebilen Değişken Kılavuzu'na göz atın.

Başlayın

Koşullar

Google Analytics izleme özelliklerini Android uygulamanızla entegre etmek için aşağıdakilere ihtiyacınız olacaktır:

Kurulum

  • libGoogleAnalytics.jar adlı kullanıcıyı projenizin /libs dizinine ekleyin.
  • Projenizin AndroidManifest.xml manifest dosyasına aşağıdaki izinleri ekleyin:
    • <uses-permission android:name="android.permission.INTERNET" />
    • <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

SDK başarılı bir şekilde ayarlanırsa projenizin nasıl görünmesi gerektiğini gösteren örnek bir uygulamayı SDK'ya ekler. Bunu, Analytics ile entegre ettiğiniz uygulamalarınız için bir şablon olarak kullanabilirsiniz.

SDK'yı kullanma

SDK'yı kullanmaya başlamadan önce www.google.com/analytics adresinde ücretsiz bir hesap oluşturmanız ve bu hesapta sahte ancak açıklayıcı bir web sitesi URL'si kullanarak yeni bir web mülkü (ör. http://mymobileapp.mywebsite.com) oluşturmanız gerekir. Mülkü oluşturduktan sonra, yeni oluşturulan mülk için oluşturulan web mülkü kimliğinin bir kopyasını not edin veya bir kopyasını saklayın.

Kullanıcılarınıza, uygulamanın kendisinde veya hizmet şartlarınızda, bir kullanıcının uygulamanızın içindeki etkinliğini anonim olarak izleme ve bildirme hakkınızı saklı tuttuğunuzu belirtmeniz gerekir. Ayrıca, Google Analytics SDK'sını kullanmanız Google Analytics Hizmet Şartları'na da tabidir. Bu hesap için kaydolurken kabul etmeniz gerekir.

Örnekler ve En İyi Uygulamalar

Örnek kodu ve en iyi uygulamaları code.google.com adresinde analytics-api-samples projesi altında bulabilirsiniz.

EasyTracker Kitaplığı

EasyTracker Kitaplığı mevcuttur. Geliştirme ve çaba gerektirmeyen neredeyse uygulama ve Etkinlik izleme programları sunar. Bunu analytics-api-samples projesinin İndirilenler bölümünde bulabilirsiniz.

İzleyiciyi başlatma

GoogleAnalyticsTracker.getInstance() çağırarak izleyici teklisini edinin. Ardından, izlenecek web mülkü kimliğini ve etkinliği ileterek startNewSession yöntemini çağırın. Uygulamanızda yalnızca bir Etkinlik varsa bu yöntemi doğrudan Etkinliğinizin onCreate yönteminde çağırabilirsiniz. Örneğin:

package com.google.android.apps.analytics.sample;

import com.google.android.apps.analytics.GoogleAnalyticsTracker;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class TestActivity extends Activity {

  GoogleAnalyticsTracker tracker;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    tracker = GoogleAnalyticsTracker.getInstance();

    // Start the tracker in manual dispatch mode...
    tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this);

    // ...alternatively, the tracker can be started with a dispatch interval (in seconds).
    //tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", 20, this);

    setContentView(R.layout.main);
    Button createEventButton = (Button)findViewById(R.id.NewEventButton);
    createEventButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        tracker.trackEvent(
            "Clicks",  // Category
            "Button",  // Action
            "clicked", // Label
            77);       // Value
      }
    });

    Button createPageButton = (Button)findViewById(R.id.NewPageButton);
    createPageButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        // Add a Custom Variable to this pageview, with name of "Medium" and value "MobileApp" and
        // scope of session-level.
        tracker.setCustomVar(1, "Navigation Type", "Button click", 2);
        // Track a page view. This is probably the best way to track which parts of your application
        // are being used.
        // E.g.
        // tracker.trackPageView("/help"); to track someone looking at the help screen.
        // tracker.trackPageView("/level2"); to track someone reaching level 2 in a game.
        // tracker.trackPageView("/uploadScreen"); to track someone using an upload screen.
        tracker.trackPageView("/testApplicationHomeScreen");
      }
    });

    Button quitButton = (Button)findViewById(R.id.QuitButton);
    quitButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        finish();
      }
    });

    Button dispatchButton = (Button)findViewById(R.id.DispatchButton);
    dispatchButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        // Manually start a dispatch, not needed if the tracker was started with a dispatch
        // interval.
        tracker.dispatch();
      }
    });
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    // Stop the tracker when it is no longer needed.
    tracker.stopSession();
  }
}

Uygulamanızda birden fazla etkinlik varsa analytics-api-samples projesinin İndirilenler bölümünde sunulan EasyTracker Kitaplığı'nı kullanabilirsiniz.

Sayfa Görüntülemelerini ve Etkinlikleri İzleme

Sayfa görüntülemelerini ve etkinlikleri izlemek kolaydır: Her sayfa görüntüleme tetiklemek istediğinizde izleyici nesnesinin trackPageView çağrısını yapmanız yeterlidir. Bir etkinlik kaydetmek için trackEvent numaralı telefonu arayın. Sayfa görüntülemeleri ve etkinlikler hakkında daha fazla bilgi için yukarıdaki SDK'ya Genel Bakış bölümüne bakın.

Özelleştirilebilen Değişkenleri Kullanma

Özelleştirilebilen değişken eklemek de çok kolaydır: Mobil SDK tarafından sağlanan setCustomVar yöntemini kullanmanız yeterlidir. Her bir özelleştirilebilen değişkenin eşleneceği şeyi önceden planlamanız gerekir. Bu nedenle, önceden mevcut olan herhangi bir değişkenin üzerine yazmazsınız. Özelleştirilebilen değişkenler hakkında daha fazla bilgi için Özelleştirilebilen Değişken Kılavuzu'na bakın. setCustomVar yönteminin kendi başına doğrudan veri göndermediğini unutmayın. Bunun yerine, veriler bir sonraki izlenen sayfa görüntüleme veya etkinlikle birlikte gönderilir. Bir sayfa görüntülemeyi veya etkinliği takip etmeden önce setCustomVar yöntemini aramanız gerekir. Özelleştirilebilen Değişkenlerin varsayılan kapsamının sayfa kapsamlı olduğunu unutmayın.

E-ticaret İzlemeyi Kullanma

Uygulamanızda E-ticaret izlemeyi etkinleştirmek için kullandığınız 4 yöntem vardır:

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

addTransaction ve addItem çağırmak, işlemi veya öğeyi dahili bir E-ticaret arabelleğine ekler. Böylece, daha fazla öğe ve işlem eklenebilir. Yalnızca trackTransactions çağrılırken, işlemler ve öğeler distribütöre gönderilir ve Google Analytics'e gönderilmek üzere sıraya alınır.

Arabelleği temizlemek için clearTransactions yöntemini çağırabilirsiniz. Not: Gönderime daha önce gönderilen veya Google Analytics tarafından daha önce toplanmış olan işlemleri hatırlamaz.

Aşağıdaki örnek kod size yardımcı olabilir. Satın alma işlemi onaylandığında veya reddedildiğinde onPurchaseCompleted yönteminin çağrıldığını varsayarız.

  /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   *
   * @param purchase A PurchaseObject containing all of the transaction information needed to
   *     send the ecommerce hit to Google Analytics.
   */
  public void onPurchaseCompleted(PurchaseObject purchase) {
    tracker.addTransaction(new Transaction.Builder(
        purchase.getTransactionId(),
        purchase.getTotal())
        .setStoreName(purchase.getStoreName())
        .setTotalTax(purchase.getTotalTax())
        .setShippingCost(purchase.getShippingCost())
        .build());
    for (PurchaseLineItem lineItem : purchase.getLineItems()) {
        tracker.addItem(new Item.Builder(
            purchase.getTransactionId(),
            lineItem.getItemSKU(),
            lineItem.getItemCost(),
            lineItem.getQuantity())
            .setItemName(lineItem.getItemName())
            .setItemCategory(lineItem.getItemCategory())
            .build());
    }
    if (purchase.isConfirmed()) {
      tracker.trackTransactions();
    } 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.
      tracker.clearTransactions();
    }
  }

E-ticaret hakkında daha fazla bilgi için E-ticaret İzleme Kılavuzu'na bakın.

IP Anonimleştirme

Kullanıcı IP bilgilerini anonimleştirmek için setAnonymizeIp yöntemini kullanın. Bu işlem, Google Analytics'e, IP adresinin depolama alanından önce son sekizliğini kaldırarak SDK tarafından gönderilen bilgileri anonimleştirmesini söyler.

setAnonymizeIp numaralı telefonu istediğiniz zaman arayabilirsiniz.

Örnek Oranını Ayarlama

Örnek oranını setSampleRate yöntemini kullanarak ayarlayabilirsiniz. Uygulamanız çok fazla Analytics trafiği oluşturuyorsa örnek hızını ayarlamak, örneklenmiş veriler kullanılarak raporlarınızın oluşturulmasını engelleyebilir. Örnekleme, benzersiz kullanıcılar arasında tutarlı bir şekilde gerçekleştiği için örnek hızı etkinleştirildiğinde trendler ve raporlamada bütünlük vardır. setSampleRate yöntemi bir int parametresini kabul eder. Bu parametre için geçerli değerler, 0 ile 100 arasında (ikisi de dahil) herhangi bir tam sayıdır.

Oranın 0 olması isabet oluşturmayı devre dışı bırakır. 100 değeri ise tüm verileri Google Analytics'e gönderir. İzleme yöntemlerini çağırmadan önce setSampleRate yöntemini çağırmanız önerilir.

Örnekleme hakkında daha fazla bilgi edinmek için Örnekleme Kavramları Kılavuzu'na bakabilirsiniz.

Toplanan İsabetler

Bağlantı ve pil tasarrufu sağlamak için izleme isteklerinizi gruplandırmanızı öneririz. Toplu istekte bulunmak istediğiniz zaman izleme nesnesinde dispatch çağrılabilir ve bunu manuel olarak veya belirli zaman aralıklarında yapabilirsiniz.

Bilinen Sorunlar

  • Google AnalyticsTracker yöntemlerinin farklı mesaj dizilerinde çağrılması belirsiz hatalara neden olabilir. Tüm aramalarınızı aynı ileti dizisi üzerinden yaptığınızdan emin olun.
  • Kampanyaları İzleme

    SDK iki tür kampanya izlemeyi destekler.

    - Google Play Kampanya İzleme: Google Play üzerinden yapılan yükleme yönlendirmelerini izlemenize olanak tanır.
    - Genel Kampanya İzleme: Kullanıcıları uygulamanıza yönlendiren tüm kampanyaları izlemenize olanak tanır.

    Google Play Kampanya İzleme

    Android 1.6 OS sürümü, Google Play'in indirme bağlantılarında bir referrer URL parametresinin kullanılmasını destekler. Android için Google Analytics SDK'sı, uygulamanız için Google Analytics'teki kampanya bilgilerini otomatik olarak doldurmak üzere bu parametreyi kullanır. Bu, uygulama yükleme kaynağının kaydedilmesini ve gelecekteki sayfa görüntülemeler ve etkinliklerle ilişkilendirilmesini sağlar. Bu, örneğin uygulamanız için belirli bir reklamın etki düzeyini ölçmek açısından faydalı olabilir.

    Yönlendirme izleme özelliğinin çalışması için projenizin AndroidManifest.xml manifest dosyasına aşağıdaki kod snippet'ini eklemeniz gerekir:

    <!-- Used for install referrer tracking -->
    <receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true">
      <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
    

    Google Play'de Google Analytics kampanya izleme özelliğini ayarlamak için aşağıdaki URL oluşturucuyu kullanarak bir yönlendirme bağlantısı oluşturun. Kullanıcıları uygulamanıza yönlendirmek için bağlantıyı kullanın. Analytics SDK'sı, yönlendirme bilgilerini otomatik olarak ayrıştırır ve kaydeder ve Analytics raporunuzda doldurur.

    Yönlendirme bağlantısını oluşturmak için Google Play Kampanya URL'si Oluşturucu'yu kullanabilirsiniz. Paket Adı, Kampanya Kaynağı, Kampanya Aracısı ve Kampanya Adı zorunludur. Her bir parametrenin ayrıntılı açıklaması için aşağıdaki tabloya bakın.

    Genel Kampanya İzleme

    Android için Google Analytics SDK'sının 1.3 sürümüyle, artık Google Play dışındaki kaynaklara yönelik kampanyaları izleyebilirsiniz. Örneğin, uygulamanızın bir reklamdaki bağlantıdan kullanıma sunulduğunu öğrenmek istiyorsanız uygulamanızın kullanıma sunulmasına neden olan amaca yönelik kampanya yönlendirme bilgilerini kontrol edebilir, ardından bu kampanya bilgilerini Google Analytics'te saklayabilirsiniz.

    Kampanya yönlendirme bilgilerini ayarlamak için setReferrer yöntemini kullanın. Örneğin:

      tracker.setReferrer(referrer);
    

    Bu özelliğin kullanımıyla ilgili iki kısıtlama vardır. setReferrer numarasını aramadan önce startNewSession numarasını aramanız gerekir. Google Analytics tarafından kullanılan SQLite veritabanı startNewSession işlevini çağırmadan önce oluşturulmadığı ve setReferrer bu veritabanına ihtiyaç duyduğundan bunu yapmanız gerekir. startNewSession adlı kullanıcıyı aramadıysanız IllegalStateException alırsınız.

    İkinci kısıtlama ise setReferrer alanına iletilen yönlendirme dizesinin belirli bir biçime sahip olması gerektiğidir. Bir dizi URL parametresi şeklinde olmalı ve en az bir gclid parametresi veya bir utm_campaign, utm_medium ve utm_source parametresinin her birini içermelidir. İkinci durumda, utm_term ve utm_content parametreleri de içerebilir.

    "gclid" parametresi, Google Analytics'i Google Ads'e otomatik olarak bağlayan otomatik etiketleme özelliğinin bir parçasıdır. Otomatik etiketlemeyi kullanan örnek bir kampanya yönlendirmesi aşağıdaki gibi görünebilir:

    referrer = “gclid=gclidValue”;
    

    Manuel kampanya yönlendirme dizesi aşağıdaki gibi görünebilir:

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

    Bozuk biçimlendirilmiş bir dizeyi setReferrer adresine aktarırsanız yönlendiren bilgisi değişmez ve yanlış dönüş değeri alırsınız. Doğru değerinin döndürülmesi, yönlendirenin güncellendiğini ve sonraki her isabete ekleneceğini belirtir.

    Ayrıca, setReferrer çağırdığınızda yeni bir oturumun başlayacağını ve doğru değerini döndüreceğini unutmayın.

    Parametre Zorunlu Açıklama Örnekler
    utm_campaign Evet Kampanya adı; belirli bir ürün promosyonunu veya stratejik kampanyayı tanımlamak için anahtar kelime analizi için kullanılır utm_campaign=spring_sale
    utm_source Evet Kampanya kaynağı; arama motorunu, bülten veya diğer kaynakları tanımlamak için kullanılır utm_source=google
    utm_medium Evet Kampanya aracısı; e-posta veya tıklama başına maliyet (tbm) gibi bir aracıyı tanımlamak için kullanılır utm_medium=cpc
    utm_term Hayır Kampanya terimi; reklamlar için anahtar kelimeleri sağlamak üzere ücretli arama ile kullanılır utm_term=running+shoes
    utm_content Hayır Kampanya içeriği; aynı URL'ye yönlendiren reklamları veya bağlantıları ayırt etmek için A/B testi ve içerik hedefli reklamlar için kullanılır utm_content=logolink
    utm_content=textlink