Android v1 (Eski) için Google Analytics SDK'sı

Android için Mobil Uygulamalar İçin Google Analytics SDK'sı, Google Analytics'i Android tabanlı uygulamalarda kullanmayı kolaylaştırır. Bu dokümanda, SDK'yı uygulamalarınıza nasıl entegre edeceğiniz açıklanmaktadır.

SDK'ya Genel Bakış

Bu SDK, kullanıcıları geleneksel web sitelerine gitme 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ı izlemeyle eşleştirilir. Bu SDK'nın nasıl çalıştığını anlamak için Analytics izleme hakkında 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 sitesinin aldığı 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 hangi sıklıkta) tetikleneceğine karar vermeniz gerekir. Ayrıca, sayfa görüntüleme istekleri dizin yapılarını raporlamak üzere tasarlandığından, Analytics'teki İçerik raporlarında sayfa yolu adlandırmasından yararlanmak amacıyla istekler için açıklayıcı adlar sağlamanız gerekir. Seçtiğiniz adlar, aslında HTML sayfaları olmasalar bile Analytics raporlarınızda sayfa yolu olarak doldurulur ancak yolları çağrılarınız için ek gruplamalar sağlayacak şekilde yapılandırarak bu özellikten yararlanabilirsiniz.
Etkinlik İzleme
Analytics'te etkinlikler, kullanıcıların web sayfası öğeleriyle olan etkileşimini sayfa görüntüleme isteklerinden ayrı olarak izlemek için tasarlanmıştır. Analytics rapor arayüzünün Etkinlik İzleme bölümünde raporlanacak ek aramalar yapmak 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 etiketler de kullanılabilir. Örneğin, bir multimedya uygulamasının video kategorisi için oynatma/durdurma/duraklatma işlemleri olabilir ve her video adına bir etiket atanabilir. Daha sonra Google Analytics raporları, video kategorisiyle etiketlenmiş tüm etkinliklere ait etkinlikleri 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 amacıyla genel satın alma bilgilerini temsil etmek için Transaction sınıfını, alışveriş sepetindeki her bir ürünü temsil etmek için de Item sınıfını kullanın. Toplanan veriler, Google Analytics arayüzünün E-ticaret raporlama bölümünde görüntülenebilir. E-ticaret İzleme hakkında daha fazla bilgi için E-ticaret İzleme Kılavuzu'nu inceleyin.
Özelleştirilebilen Değişkenler
Özelleştirilebilen değişkenler, Google Analytics izleme sürecini 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'nu okuyun.

Başlarken

Koşullar

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

Kurulum

  • Projenizin /libs dizinine libGoogleAnalytics.jar 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" />

Projenizin başarıyla ayarlanması halinde nasıl görünmesi gerektiğini gösteren örnek bir uygulama SDK'ya eklenmiştir. Bu şablonu, kendi Analytics'le entegre 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 o hesapta sahte ancak açıklayıcı bir web sitesi URL'si (ör. http://mymobileapp.mywebsite.com) kullanarak yeni bir web mülkü oluşturmanız gerekir. Mülkü oluşturduktan sonra, yeni oluşturulan mülk için oluşturulan web mülkü kimliğini bir yere not edin veya bir kopyasını saklayın.

Kullanıcılarınıza uygulamanızın kendisinde veya hizmet şartlarınızda, bir kullanıcının uygulamanızdaki etkinliğini anonim olarak izleme ve bildirme hakkını saklı tuttuğunuzu belirtmelisiniz. Google Analytics SDK'sını kullanımınız ayrıca, bir hesaba kaydolurken kabul etmeniz gereken Google Analytics Hizmet Şartları'na tabidir.

Örnekler ve En İyi Uygulamalar

Code.google.com adresinde, analytics-api-samples projesinin altında örnek kod ve en iyi uygulamaları bulabilirsiniz.

EasyTracker Kitaplığı

EasyTracker Kitaplığı mevcuttur. Neredeyse hiçbir geliştirme çabası gerektirmeden uygulama ve etkinlik düzeyinde izleme sağlar. Bu aracı analytics-api-samples projesinin İndirilenler bölümünde bulabilirsiniz.

Takip cihazını başlatma

GoogleAnalyticsTracker.getInstance() yöntemini çağırarak takip teknisini edinin. Ardından, izlenen web mülkü kimliğini ve etkinliği ileterek startNewSession yöntemini çağırın. Uygulamanızın yalnızca bir Etkinliği varsa bu yöntemi doğrudan Etkinliğinizin onCreate yönteminden ç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 İndirmeler bölümünde sağlanan EasyTracker Kitaplığı'nı kullanabilirsiniz.

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

Sayfa görüntülemelerini ve etkinlikleri izlemek oldukça kolaydır: Bir sayfa görüntülemeyi tetiklemek her istediğinizde izleyici nesnenin trackPageView öğesini çağırmanız yeterlidir. 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 oldukça basittir: Mobil SDK tarafından sağlanan setCustomVar yöntemini kullanmanız yeterlidir. Önceden var olan herhangi bir değişkenin üzerine yazmamak için, her bir özelleştirilebilen değişkenin eşleneceği dizini önceden planlamanız gerekir. Ö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 doğrudan kendi başına veri göndermediğini unutmayın. Veriler bir sonraki izlenen sayfa görüntüleme veya etkinlikle birlikte gönderilir. Sayfa görüntüleme veya etkinlik izlemeden önce setCustomVar numaralı telefonu çağırmanız gerekir. Özelleştirilebilen Değişkenlerin varsayılan kapsamının sayfa kapsamlı olduğunu unutmayın.

E-ticaret İzlemeyi Kullanma

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

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

addTransaction ve addItem çağrılarının yapılması, işlemi veya öğeyi dahili bir E-ticaret arabelleğine ekler. Bu arabelleğe daha fazla öğe ve işlem eklenebilir. Yalnızca trackTransactions çağrısı yapıldığında, işlemler ve öğeler görev dağıtıcıya 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: Daha önce görev dağıtıcıya gönderilmiş olan işlemleri veya Google Analytics tarafından toplanmış işlemleri geri çağırmaz.

Aşağıdaki örnek kod başlamanıza 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-ticaretle ilgili daha fazla bilgi edinmek için E-ticaret İzleme Kılavuzu'nu inceleyin.

IP Anonimleştirme

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

setAnonymizeIp adlı kişiyi istediğiniz zaman arayabilirsiniz.

Örnek Oranını Ayarlama

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

0 oranı isabet oluşturmayı devre dışı bırakırken 100 oranı tüm verileri Google Analytics'e gönderir. Herhangi bir izleme yöntemini çağırmadan önce setSampleRate numaralı telefonu aramak en iyi seçenektir.

Örnekleme Kavramları Kılavuzu'nda örneklemeyle ilgili daha fazla bilgi edinebilirsiniz.

İsabetleri Gruplama

Bağlantıdan ve pilden tasarruf etmek için izleme isteklerinizi toplu olarak işlemenizi öneririz. Toplu istek yapmak istediğiniz zaman izleme nesnesinde dispatch işlevini çağırabilirsiniz. Bunu manuel olarak veya belirli zaman aralıklarında yapabilirsiniz.

Bilinen sorunlar

  • Farklı iş parçacıklarında GoogleAnalyticsTracker yöntemlerinin çağrılması, anlaşılması zor hatalara neden olabilir. Tüm aramalarınızın aynı ileti dizisinden yapıldığından emin olun.
  • Kampanyaları İzleme

    SDK, iki tür kampanya izlemeyi destekler.

    - Google Play Kampanya İzleme – Google Play üzerinden yükleme yönlendirmelerini izlemenizi sağlar.
    - 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'e indirme bağlantılarında referrer URL parametresinin kullanımını destekler. Android için Google Analytics SDK'sı, bu parametreyi Google Analytics'te uygulamanızın kampanya bilgilerini otomatik olarak doldurmak için kullanır. Bu, uygulama yükleme kaynağının kaydedilmesini ve gelecekteki sayfa görüntülemeleri ve etkinliklerle ilişkilendirilmesini sağlar. Bu da, örneğin uygulamanız için belirli bir reklamın etki düzeyini ölçerken yararlı olabilir.

    Yönlendirme izlemenin ç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 üzerinden Google Analytics kampanya izlemeyi 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ıp kaydeder ve Analytics raporunuza girer.

    Tavsiye 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 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 başlatıldığını öğrenmek istiyorsanız, uygulamanızın başlatılmasına neden olan amaçtaki kampanya yönlendirme bilgilerini kontrol edebilir ve 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 numaralı telefonu aramadan önce startNewSession numarasını aramanız gerekir. Google Analytics tarafından kullanılan SQLite veritabanı, startNewSession çağrısından önce kurulmadığından ve setReferrer bu veritabanına ihtiyaç duyduğundan bunu yapmanız gerekir. startNewSession numaralı telefonu aramadıysanız IllegalStateException kazanırsınız.

    İkinci kısıtlama, setReferrer içine aktarılan yönlendirme dizesinin belirli bir biçime sahip olması gerektiğidir. Bu parametre, bir dizi URL parametresi biçiminde olmalı ve en az bir gclid parametresi veya utm_campaign, utm_medium ve utm_source öğelerinin her birinden bir parametre içermelidir. İkinci durumda, utm_term ve utm_content parametreleri de olabilir.

    gclid parametresi, Google Analytics'i otomatik olarak Google Ads'e bağlayan otomatik etiketleme özelliğinin bir parçasıdır. Otomatik etiketleme kullanan kampanya yönlendirme örneği şu şekilde 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”;
    

    setReferrer öğesine kötü biçimlendirilmiş bir yönlendiren dizesi iletirseniz yönlendiren bilgileri değiştirilmez ve false değerinde bir değer döndürülür. True (doğru) değerinin döndürülmesi, yönlendirenin güncellendiğini ve bundan sonraki her isabete ekleneceğini gösterir.

    Ayrıca, setReferrer çağrısı yaptığınızda yeni bir oturum başlatılacağını ve bu oturumun true (doğru) değerini döndüreceğini unutmayın.

    Parametre Gerekli Açıklama Örnekler
    utm_campaign Evet Kampanya adı; belirli bir ürün promosyonunu veya stratejik kampanyayı tanımlamak amacıyla anahtar kelime analizi için kullanılır utm_campaign=spring_sale
    utm_source Evet Kampanya kaynağı; bir arama motorunu, bülteni veya başka bir kaynağı 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ı 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 aramayla birlikte kullanılır utm_term=running+shoes
    utm_content Hayır Kampanya içeriği; A/B testi ve aynı URL'ye yönlendiren reklamları veya bağlantıları ayırt etmek amacıyla içerik hedefli reklamlar için kullanılır utm_content=logolink
    utm_content=textlink