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