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

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çin addTransaction 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ı yerine libGoogleAnalytics_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:

Kurulum

  • Xcode'u açın ve yeni bir iPhone OS projesi oluşturun.
  • GANTracker.h ve libGoogleAnalytics.a SDK'larının Kitaplık dizininden yeni projenize sürükleyin.
  • Projenize CFNetwork çerçevesini ekleyin ve libsqlite3.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

  • Yönlendirmeler/Trafik Kaynakları: iOS cihazına indirilen bir uygulamanın kampanya/yönlendirme kaynağını izlemek şu anda mümkün değildir.
  • Aşağıdaki durumlarda dispatch numaralı telefonu aramanızı kesinlikle önermiyoruz:
    • applicationWillTerminate yönteminde
    • applicationDidEnterBackground
    • stopTracker numaralı telefonu aramadan önce
    Bu, isabetlerin iki kez gönderilmesine neden olabilir. Bunun yerine, dispatchSynchronous: yöntemini kullanın.
  • Farklı ileti dizilerinde GANTracker yöntemlerinin çağrılması, SQLite hatalarının kapatılmasına neden olabilir. Tüm aramalarınızı aynı ileti dizisi üzerinden yaptığınızdan emin olun.
  • 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.

    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