iOS için Mobil Uygulamalar SDK'sı için Google Analytics, Google Analytics'in iOS 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 üzere alışveriş sepetindeki her bir ürün için
addItem
yönteminin yanı sıra genel bir işlem oluşturmak içinaddTransaction
yöntemini çağırı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.
- NoThumb Desteği
-
iPhone'un SDK'sı artık Kitaplığın bir NoThumb sürümünün yanı sıra standart Thumb sürümüyle birlikte gelir. Kitaplık'ın NoThumb sürümünü kullanmak için
libGoogleAnalytics.a
dosyası yerinelibGoogleAnalytics_NoThumb.a
dosyasını kullanın.
Başlayın
Koşullar
Google Analytics izleme özelliklerini iOS uygulamanızla entegre etmek için aşağıdakilere ihtiyacınız olacaktır:
- iOS geliştirici SDK'sı (Mac OS X 10.5.3 ve sonraki sürümlerinde çalışan Xcode 3.1+ gerekir)
- Mobil Uygulamalar için Google Analytics iOS SDK'sı
Kurulum
- Xcode'u açın ve yeni bir iPhone OS projesi oluşturun.
GANTracker.h
velibGoogleAnalytics.a
SDK'larının Kitaplık dizininden yeni projenize sürükleyin.- Projenize
CFNetwork
çerçevesini ekleyin velibsqlite3.0.dylib
ile bağlantı oluşturun.
Mobil Uygulamalar için Google Analytics SDK'sı, iOS 2.0 veya sonraki sürümleri çalıştıran tüm iPhone ya da iPod Touch cihazlarında çalışır. Kitaplık, yerel uygulamaları destekleyen tüm iOS sürümleriyle uyumludur.
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. Neredeyse geliştirme çabasına gerek kalmadan uygulama ve UIViewController düzeyinde izleme sunar. Bunu analytics-api-samples projesinin İndirilenler bölümünde bulabilirsiniz.
İzleyiciyi başlatma
İzleyiciyi, [GANTracker sharedTracker]
üzerinde elde edilen izleyici tekerleğinde startTrackerWithAccountID
yöntemini çağırarak başlatın. Genellikle bu yöntemi, uygulamanızın yetki verilmiş kullanıcının applicationDidFinishLaunching
yönteminde doğrudan çağırmanız önerilir. Web mülkü kimliğini, gerekli gönderme dönemini ve isteğe bağlı yetkiyi iletebilirsiniz. Örneğin:
#import "BasicExampleAppDelegate.h" #import "GANTracker.h" // Dispatch period in seconds static const NSInteger kGANDispatchPeriodSec = 10; @implementation BasicExampleAppDelegate @synthesize window = window_; - (void)applicationDidFinishLaunching:(UIApplication *)application { // ************************************************************************** // PLEASE REPLACE WITH YOUR ACCOUNT DETAILS. // ************************************************************************** [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1" dispatchPeriod:kGANDispatchPeriodSec delegate:nil]; NSError *error; if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1 name:@"iPhone1" value:@"iv1" withError:&error]) { // Handle error here } if (![[GANTracker sharedTracker] trackEvent:@"my_category" action:@"my_action" label:@"my_label" value:-1 withError:&error]) { // Handle error here } if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point" withError:&error]) { // Handle error here } [window_ makeKeyAndVisible]; } - (void)dealloc { [[GANTracker sharedTracker] stopTracker]; [window_ release]; [super dealloc]; } @end
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 setCustomVariableAtIndex
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. setCustomVariableAtIndex
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 setCustomVariableAtIndex
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.
/** * The purchase was processed. We will track the transaction and its associated line items * now, but only if the purchase has been confirmed. */ - (void) processPurchase:Purchase purchase { [[GANTracker sharedTracker] addTransaction:[purchase transactionId] totalPrice:[purchase totalPrice] storeName:[purchase store] totalTax:[purchase tax] shippingCost:[purchase shipping] withError:&error]; if (error) { // Handle error } for (PurchaseItem item in [purchase items]) { [[GANTracker sharedTracker] addItem:[purchase transactionId] itemSKU:[item itemSKU] itemPrice:[item price] itemCount:[item count] itemCategory:[item category] withError:&error]; if (error) { // Handle error } } if ([purchase isConfirmed]) { [[GANTracker sharedTracker] trackTransactions:&error]; } 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. [[GANTracker sharedTracker] clearTransactions:&error]; } }
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 anonymizeIp
özelliğini EVET değerine ayarlayı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.
Nasıl ayarlanacağına dair bir örneği aşağıda bulabilirsiniz:
[[GANTracker sharedTracker] setAnonymizeIp:YES];
anonymizeIp
hizmetini dilediğiniz zaman ayarlayabilirsiniz.
Örnek Oranını Ayarlama
Örnek oranını, sampleRate
özelliğini 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.
sampleRate
parametresi bir NSUInteger'dır ve 0 ile 100 arasında (değerler dahil) değere sahip olabilir. sampleRate
değerini %95'e düşüren bir örnek:
[[GANTracker sharedTracker] setSampleRate:95];
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 sampleRate
ayarlamak en iyisidir.
Ö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
dispatch
numaralı telefonu aramanızı kesinlikle önermiyoruz:
-
applicationWillTerminate
yönteminde -
applicationDidEnterBackground
-
stopTracker
numaralı telefonu aramadan önce
dispatchSynchronous:
yöntemini kullanın.
Kampanyaları İzleme
Genel Kampanya İzleme
iOS için Google Analytics SDK'sının 1.3 sürümüyle artık kampanya yönlendirmelerini izleyebilirsiniz. Örneğin, uygulamanız bir Özel URL Şeması uyguluyorsa kampanya sorgu parametrelerini içeren bir URL oluşturabilirsiniz. Uygulamanız bu tür bir URL'ye yanıt olarak kullanıma sunulduğunda, sorgu parametrelerini alabilir ve bilgilerin Google Analytics'te depolanması için bunları SetReferrer'a iletebilirsiniz.
Kampanya yönlendirme bilgilerini ayarlamak için setReferrer
yöntemini kullanın. Örneğin:
[[GANTracker sharedTracker] setReferrer:referrer withError:&error];
Bu özelliğin kullanımıyla ilgili iki kısıtlama vardır. setReferrer
numarasını aramadan önce startTrackerWithAccountID
numarasını aramanız gerekir. Google Analytics tarafından kullanılan SQLite veritabanı startTrackerWithAccountID
işlevini çağırmadan önce oluşturulmadığı ve setReferrer
bu veritabanına ihtiyaç duyduğundan bunu yapmanız gerekir. startTrackerWithAccountID
numaralı telefonu aramadıysanız size bir hata mesajı gönderilir.
İ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, aramanın başarısız olması durumunda sorunun ne olduğunu öğrenmek için inceleyebileceğiniz bir hata görüntülenir.
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
|