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

iOS için Mobil Uygulamalar için Google Analytics SDK'sı, Google Analytics'in iOS tabanlı uygulamalarda uygulanmasını 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 istiyorsanız genel işlem oluşturmak için addTransaction yöntemini ve alışveriş sepetindeki her bir ürün için addItem yöntemini çağırı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.
NoThumb Desteği
iPhone için SDK artık Kitaplık'ın NoThumb sürümünün yanı sıra standart Thumb'ın sürümüyle birlikte geliyor. Kitaplığın NoThumb sürümünü kullanmak için libGoogleAnalytics.a dosyası yerine libGoogleAnalytics_NoThumb.a dosyasını kullanın.

Başlarken

Koşullar

Google Analytics'in 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 öğelerini, SDK'nın Kitaplık dizininden yeni projenize sürükleyin.
  • CFNetwork çerçevesini projenize dahil edin ve libsqlite3.0.dylib ile bağlantılandırın.

Mobil Uygulamalar için Google Analytics SDK'sı, iOS 2.0 veya üzeri sürümleri çalıştıran tüm iPhone veya iPod Touch ile çalışmalıdır. Kitaplık, yerel uygulamaları destekleyen tüm iOS sürümleriyle uyumludur.

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ç geliştirme çabası gerektirmeden uygulama ve UIViewController düzeyinde izleme sağlar. Bu aracı analytics-api-samples projesinin İndirilenler bölümünde bulabilirsiniz.

Takip cihazını başlatma

[GANTracker sharedTracker] aracılığıyla elde edilen izleyici teklisinde startTrackerWithAccountID yöntemini çağırarak takip cihazını başlatın. Bu yöntemi doğrudan uygulamanızın yetki verilmiş kullanıcının applicationDidFinishLaunching yönteminden çağırmak genellikle kullanışlı olur. Web mülkü kimliğini, gerekli dağıtım dönemini ve isteğe bağlı yetkiyi geçirin. Ö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 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 setCustomVariableAtIndex 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. setCustomVariableAtIndex 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 setCustomVariableAtIndex 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.

  /**
   * 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-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 anonymizeIp özelliğini EVET olarak ayarlayı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.

Bunu nasıl ayarlayacağınıza ilişkin bir örnek:

 [[GANTracker sharedTracker] setAnonymizeIp:YES];

anonymizeIp ayarını istediğiniz zaman yapabilirsiniz.

Örnek Oranını Ayarlama

sampleRate özelliğini kullanarak örnek hızını 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. sampleRate parametresi bir NSUInteger parametresidir ve 0 ile 100 arasında (ikisi de dahil) değere sahip olabilir. sampleRate değerini %95'e düşüren bir örneği aşağıda görebilirsiniz:

 [[GANTracker sharedTracker] setSampleRate:95];

0 oranı isabet oluşturmayı devre dışı bırakırken 100 oranı tüm verileri Google Analytics'e gönderir. En iyi yöntem, herhangi bir izleme yöntemini çağırmadan önce sampleRate'i ayarlamaktır.

Ö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

  • Yönlendirmeler/Trafik Kaynakları: iOS cihazda indirilen bir uygulamanın kampanyasını/yönlendirme kaynağını izlemek şu an için mümkün değildir.
  • Aşağıdaki durumlarda dispatch numaralı telefonu aramanızı kesinlikle önermiyoruz:
    • applicationWillTerminate yöntemiyle
    • applicationDidEnterBackground içinde
    • stopTracker numaralı telefonu aramadan önce
    Bu işlem, isabetlerin iki kez gönderilmesine neden olabilir. Bunun yerine dispatchSynchronous: yöntemini kullanın.
  • Farklı iş parçacıklarında GANTracker yöntemlerinin çağrılması, anlaşılması güç SQLite hatalarına neden olabilir. Tüm aramalarınızın aynı ileti dizisinden yapıldığından 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 Özel URL Şeması uyguluyorsa kampanya sorgu parametrelerini içeren bir URL oluşturabilirsiniz. Uygulamanız böyle bir URL'ye yanıt olarak başlatıldığında, sorgu parametrelerini alabilir ve setReferrer'a ileterek bilgilerin Google Analytics'te depolanması için kullanabilirsiniz.

    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 numaralı telefonu aramadan önce startTrackerWithAccountID numarasını aramanız gerekir. Google Analytics tarafından kullanılan SQLite veritabanı, startTrackerWithAccountID çağrısından önce kurulmadığından ve setReferrer bu veritabanına ihtiyaç duyduğundan bunu yapmanız gerekir. startTrackerWithAccountID numaralı telefonu aramadıysanız bir hata mesajı alı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, aramanın başarısız olması durumunda sorunun ne olduğuyla ilgili ayrıntıları öğrenmek için inceleyebileceğiniz bir hata mesajı da alırsınız.

    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