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 edenItem
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:
- Android geliştirici SDK'sı (Windows, Mac OS X ve Linux'ta kullanılabilir)
- Mobil Uygulamalar için Google Analytics Android SDK'sı
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
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.
Yönlendirme bağlantısı parametreleri
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
|