çalışma kutusu-google-analytics

Çevrimdışı çalışan bir uygulama geliştiriyorsanız kullanıcıların bağlantısı olmadığında uygulamanızla nasıl etkileşimde bulunduklarını anlamak, bu deneyimi optimize etmek açısından çok önemlidir.

Google Analytics gibi Analytics sağlayıcıları, sunucularına veri göndermek için ağ bağlantısı gerektirir. Bu nedenle, bağlantı mevcut değilse bu istekler başarısız olur ve bu etkileşimler analiz raporlarınızda eksik olur. Bunlar hiç gerçekleşmemiş gibi olacak.

Workbox Google Analytics, Service Worker'ın başarısız istekleri algılama özelliğinden yararlanarak Google Analytics kullanıcıları için bu sorunu çözer.

Google Analytics, tüm verileri Measurement Protocol'e gönderilen HTTP istekleri aracılığıyla alır. Bu, bir Hizmet Çalışanı komut dosyasının Measurement Protocol'e gönderilen başarısız istekleri algılamak için bir getirme işleyicisi ekleyebileceği anlamına gelir. Bu istekleri IndexedDB'de saklayabilir ve daha sonra bağlantı yeniden kurulduktan sonra tekrar deneyebilir.

Workbox Google Analytics, tam olarak bunu yapar. Ayrıca, analytics.js ve gtag.js komut dosyalarını önbelleğe almak için getirme işleyicileri ekler. Böylece bu komut dosyaları çevrimdışı olarak da çalıştırılabilir. Son olarak, başarısız istekler yeniden denedikten sonra, Workbox Google Analytics, qt Google Analytics'teki zaman damgalarının orijinal kullanıcı etkileşiminin süresi.

Workbox Google Analytics'i etkinleştirme

Workbox Google Analytics'i etkinleştirmek için initialize() yöntemini çağırın:

import * as googleAnalytics from 'workbox-google-analytics';

googleAnalytics.initialize();

Google Analytics'e gönderilen başarısız isteklerin sıraya alınması ve yeniden denenmesi için gereken tek kod budur. Ayrıca, Google Analytics'i çevrimdışı çalıştırmanın en basit yoludur.

Ancak yalnızca yukarıdaki kodu kullanıyorsanız yeniden denenen istekler ilk denemede başarılı olan isteklerden ayırt edilemez. Bu, çevrimdışı kullanıcıların tüm etkileşim verilerini aldığınız ancak kullanıcı çevrimdışıyken hangi etkileşimlerin gerçekleştiğini anlayamadığınız anlamına gelir.

Bu sorunu gidermek için gönderilen verileri değiştirmek veya ek açıklama eklemek için yeniden denendi.

Gönderilen verileri değiştirme

Yeniden denenen istekler ile yeniden denenemeyen istekleri ayırt edebilmek istiyorsanız parameterOverrides veya hitFilter değerini belirtebilirsiniz yapılandırma seçeneklerini kullanın.

Bu seçenekler, yeniden denemeye gönderilen Measurement Protocol parametrelerini değiştirmenize olanak tanır. parameterOverrides seçeneği belirli bir web sitesi için aynı değeri ayarlamak istediğinizde parametresini kullanın. hitFilter seçeneği, belirli bir parametrenin değerinin çalışma zamanında hesaplanmasının veya başka bir parametrenin değerinden türetilmesinin gerektiği durumlarda kullanılmalıdır.

Aşağıdaki örneklerde her iki seçeneği nasıl kullanabileceğiniz gösterilmektedir.

Örnekler

Online ve çevrimdışı etkileşimleri izlemek için özel boyut kullanma

Google Analytics'te, online ve çevrimdışı etkileşimler için yerleşik bir boyut yoktur. Ancak, tam olarak bu boyut için kendi boyutunuzu oluşturabilirsiniz bir amaca hizmet eden özel boyutları kullanın.

Hizmet çalışanı tarafından özel bir kod kullanılarak tekrar oynatılan istekleri izlemek için boyutunu Workbox Google Analytics ile kullanmak için aşağıdaki adımları uygulayın:

  1. Google Analytics'te yeni bir özel boyut oluşturun. "Ağ Durumu" gibi bir ad verin ve "isabet" kapsamı (her etkileşim çevrimdışı olabileceğinden).
  2. Yeni oluşturulan boyut için atanan dizini not edin ve bunu Workbox Google Analytics kodunuzdaki parameterOverrides yapılandırma seçeneğine parametre adı olarak iletin.

    Örneğin, bu ilk özel boyutunuzsa dizini 1 olur. parametre adı da cd1 olur (dizin 8 olsaydı cd8):

    import * as googleAnalytics from 'workbox-google-analytics';
    
    googleAnalytics.initialize({
      parameterOverrides: {
        cd1: 'offline',
      },
    });
    
  3. (İsteğe bağlı) parameterOverrides içindeki değerler yalnızca yeniden denenen ("çevrimdışı") isteklere uygulandığından, diğer tüm istekler için varsayılan "online" değerini de ayarlayabilirsiniz. Bu çok gerekli olmasa da raporlarınızın daha kolay okunmasını sağlar.

    Örneğin, Google Etiket Yöneticisi'ni yüklemek için varsayılan analytics.js izleme snippet'ini ga('set', 'dimension1', 'online') satırını ekleyebilirsiniz. kullanarak "Ağ Durumu" için varsayılan 'online' değerini kullanın özel boyut hizmet çalışanı tarafından tekrar oynatılmayan tüm istekler için geçerlidir.

    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
    
      ga('create', 'UA-XXXXX-Y', 'auto');
    
      // Set default value of custom dimension 1 to 'online'
      ga('set', 'dimension1', 'online');
    
      ga('send', 'pageview');
    </script>
    
ziyaret edin.

İstekler kuyrukta geçirdiği süreyi izlemek için özel metrik kullanma

Çevrimdışı bir etkinliğin gerçekleşmesi arasında ne kadar zaman geçtiğini merak ediyorsanız etkileşimin ne zaman gerçekleştiğini, bağlantının yeniden ne zaman kurulduğunu ve tekrar denendiğini öğrenmek için şunu kullanarak takip edebilirsiniz: özel metrik ve hitFilter yapılandırma seçeneği:

  1. Yeni özel metrik oluşturma Analytics'ten ulaşabilirsiniz. "Çevrimdışı Sıralama Süresi" gibi bir ad verin, kapsamını "hit" olarak ayarlayın ve biçimlendirme türünü "Süre" (saniye cinsinden) olarak ayarlayın.
  2. hitFilter öğesini kullanarak qt değerini değiştirin ve 1000'e bölün (saniyeye dönüştürmek için). Ardından bu değeri yeni oluşturulan metriğin dizinini içeren bir parametre olarak kullanılır. Bu ilk özel metrik, parametre adı 'cm1' olur:

    import * as googleAnalytics from 'workbox-google-analytics';
    
    googleAnalytics.initialize({
      hitFilter: (params) => {
        const queueTimeInSeconds = Math.round(params.get('qt') / 1000);
        params.set('cm1', queueTimeInSeconds);
      },
    });
    

Çalışma Kutusu Google Analytics'i Test Etme

Workbox Google Analytics, etkinlikleri yeniden oynatmak için arka plan senkronizasyonunu kullandığından test edilmesi kolay olmayabilir. Daha fazla bilgi için Workbox Arka Plan Senkronizasyonunu Test Etme başlıklı makaleyi inceleyin.

Türler

GoogleAnalyticsInitializeOptions

Özellikler

  • cacheName

    dize isteğe bağlı

  • parameterOverrides

    nesne isteğe bağlı

  • hitFilter

    geçersiz isteğe bağlı

    hitFilter işlevi şu şekilde görünür:

    (params: URLSearchParams) => {...}

    • params

      URLSearchParams

Yöntemler

initialize()

workbox-google-analytics.initialize(
  options?: GoogleAnalyticsInitializeOptions,
)

Parametreler