Minhaz Kazi, Geliştirici Destekçisi, Google Analytics – Şubat 2023
Google Analytics Veri API'sını kullanarak uygulama geliştiriyorsanız API'nin kota ve sınırlarının işleyiş şeklini kavramalıdır. Eğer iyi tasarlanmışsa kullanıcıların kota sınırlarına ulaşma olasılığı daha düşüktür. Bazı Alakalı en iyi uygulamalar da API'de başarılı sorgular yapılmasını sağlar. Bu uygulamalarınızdaki raporları ve gösterge tablolarını hızlandırın ve istenen bir deneyim sunduğundan emin olun. Bu makalede kota sistemi ve bu sistemdeki en iyi uygulamaları göz önünde bulundurun.
Google Analytics Data API için kota sistemini anlama
Google Analytics milyonlarca geliştirici ve kullanıcı tarafından kullanıldığından, API kotası istekleri, sistemin, işlem sırasında işleyebileceğinden daha fazla veri işlemesini ve sistem kaynaklarının adil şekilde dağıtılmasını sağlamaktır. Google için Data API Analytics 4 mülkleri, API kotalarını yönetmek için jeton paketi sistemi kullanır. Alıcı: Kavramı anlayın: Sınırları en fazla ne kadar dolu olabilecek bir paket jeton sayısı. Tüm API istekleri öncelikle paketi kontrol eder. Herhangi bir jeton kaldıysa istek başarısız olur. Aksi takdirde istek yürütülür ve bağlı olarak paketten bir veya daha fazla jeton tüketir. talep ediyor. Jetonlar, paketteki sabit değerde maksimum değere göre yenilenir anlamına gelir.
Kullandığınız Data API yöntemine bağlı olarak, üç ayrı kota vardır kategoriler:
- Gerçek zamanlı (
runRealtimeReport
için) - Dönüşüm hunisi (
runFunnelReport
için) - Temel (diğer tüm yöntemler için)
Data API yöntemleri birden fazla paketi kontrol ederek kota jetonları:
- Tesis başına günlük
- Tesis başına saatlik
- Proje ve mülk başına saatlik
- Mülk başına eşzamanlı istek sayısı
- Mülk ve saatlik sunucu hatası sayısı
Veri API'si isteği geldiğinde bu beş paket Paketlerden herhangi biri boşsa istek hemen başarısız olur 429 hatasıyla sonuçlanır. Paketlerin hiçbiri boş değilse tek bir jeton Mülk başına eşzamanlı istek sayısı paketinden kullanılır ve API isteği yürütülür. İsteğin karmaşıklığına bağlı olarak, ilk üç paketin her birinden belirli sayıda jeton tüketilir ve yürütme aşamasını tamamlar. Mülk başına eşzamanlı istek sayısı da yenilenen bir jeton alabilirsiniz.
Saatlik mülk başına proje başına kotası, aşağıdaki tarihlerde kota tükenmesi: bir veya daha fazla kullanıcı uygulamanızın diğer kullanıcılarını etkilemez. Burada, proje uygulamanızın GCP projesi anlamına gelir. Saatlik mülk başına kotası: genellikle Saatlik mülk başına proje başına kotasının dört katıdır. Bu nedenle, bir mülke erişebilmek için en az dört farklı proje tarafından Saatlik mülk başına kotası tüketilebilir. Her ikisinde de kota yaptırımı proje ve mülk düzeyi sayesinde, kota sorunlarının tek bir mülk düzeyinde mülkü olan bir mülktür ve uygulamanızın eriştiği diğer mülkleri etkilemez.
Sunucu hataları kotası, 500 veya 503 kodları olabilir. Uygulamanız yüklenirken çok fazla hata bir mülke eriştiğinizde, her bir mülk için proje başına sunucu hatalarını saat başına mülk kotası.
Tüm kota jetonları, belirtilen aralıklarda sınıra göre yenilenir. Referans Güncellenen kota bilgileri için Google Analytics Data API Kotaları. Örneğin, Temel yöntemler, Proje başına saat başına mülk başına bölümünde 1,250 kota jetonu alır. paket. Uygulamanızdan gelen ortalama bir isteğin 10 kota tükettiğini varsayarsak belirtildikten sonra uygulamanız, bir veri kümesi için saatte 125 Core istek standart bir mülk olan ve herhangi bir Analytics için bu tutarın 10 katı (1.250 Temel istek) 360 mülkü hakkında daha fazla bilgi edinin. Daha yüksek kota jetonu sınırı, avantajlarına değineceğiz.
İlk üç paket için jeton tüketiminin karmaşıklığına bağlı olduğu için, istekte bulunmadan önce tam jeton kullanımını tahmin etmek zordur. birkaç adım var. Aşağıdakiler genellikle bir isteğin karmaşıklığını artırır. Bu da jeton kullanımına yol açar:
- Daha fazla boyut isteme
- Daha geniş zaman aralığı sorgulanıyor
- Daha yüksek kardinaliteye sahip boyutları dahil etme
- Etkinlik sayısı daha yüksek olan bir mülkü sorgulama
Bu nedenle, iki farklı mülk için aynı sorgu boyutların kardinalitesi farklı olabileceğinden tamamen farklı veya trafik hacmi farklı olabilir. Ancak, benzer trafik düzeyine ve benzer yapılandırmaya sahip mülkler için benzer jeton kullanımı. Bu varsayımı, müşteri jeton kullanımını tahmin etmek için kullanabilirsiniz. bu teknikleri ele alalım.
Kota kullanımını izleme
Kota kullanımını izlemek ve bu bilgiyi son kullanıcınıza iletmek için
"returnPropertyQuota": true
ekleyin. Bu,
API yanıtıyla birlikte PropertyQuota
nesnesi. PropertyQuota
nesnesi
beş tüketim miktarlarını ve bunların kalan kota durumunu içerir
paket. Aşağıda örnek bir istek gövdesi ve yanıt verilmiştir:
İstek
{ "dimensions": [ { "name": "medium" } ], "metrics": [ { "name": "activeUsers" } ], "dateRanges": [ { "startDate": "yesterday", "endDate": "yesterday" } ], "returnPropertyQuota": true }
Yanıt
{ "dimensionHeaders": [ { "name": "medium" } ], "metricHeaders": [ { "name": "activeUsers", "type": "TYPE_INTEGER" } ], ... "propertyQuota": { "tokensPerDay": { "consumed": 1, "remaining": 24997 }, "tokensPerHour": { "consumed": 1, "remaining": 4997 }, "concurrentRequests": { "consumed": 0, "remaining": 10 }, "serverErrorsPerProjectPerHour": { "consumed": 0, "remaining": 10 }, "potentiallyThresholdedRequestsPerHour": { "consumed": 0, "remaining": 120 }, "tokensPerProjectPerHour": { "consumed": 1, "remaining": 1247 } }, "kind": "analyticsData#runReport", ... }
Bu nedenle, her başarılı Data API isteğinden sonra, kota miktarı ve mülk için ne kadar kota kaldığı gösterilir. Evet Bu bilgiler, uygulamanız aracılığıyla kullanıcıya gösterilebilir. kullanır.
Kota yönetimi
Aşağıda ayrıntılı olarak açıklanan kota yönetimi en iyi uygulamalarını uygulamanızı öneririz: en iyi şekilde yararlanabilirsiniz. Ayrıca mülklerinizi 360 sürümüne geçirdiğinizde, API aracılığıyla erişilen veriler.
En iyi uygulamalar
Uygulamanızın kota kullanımını azaltmanın genel olarak iki yolu vardır:
- Daha az API isteği gönderme
- Daha basit API istekleri gönderme
Bu iki ilkeyi göz önünde bulundurarak uygulayabileceğiniz uygulamalar şunlardır:
- Önbelleğe alma: Önbelleğe alma katmanı uygulamak, hem kullanılabilirlik hem de kota yönetimi ekleyebilirsiniz. Google Analytics, API istekleriniz, ancak tekrarlanan istekler için kota jetonları uygulanmaya devam eder. Ölçüt önbelleğe alma işlemini tamamladığında, tekrarlanan dönüşüm sayısını büyük ölçüde azaltabilirsiniz. kabul edersiniz. Örneğin, standart mülklere ilişkin gün içi verilerde 4 adet olabilir. saat veya daha yüksek önbellek geçerlilik süresi. Google için veri güncelliği başlıklı makaleyi inceleyin. Analiz.
- İstekleri birleştirme: Birden fazla API isteğini tek bir istekte birleştirmeyi deneyin. Örneğin, 2 günlük bir zaman dilimi içinde veri için 5 istek 3 kez kullanılabilir 10 günlük bir zaman diliminde 1 istekle karşılaştırıldığında kota jetonları. Mevcut yalnızca tek bir boyutta farklılık gösteren birden fazla isteği birleştirebilirsiniz. bunları tek bir isteğe dönüştürebilir.
- İstekleri basitleştirme: İsteklerinizi minimum veri miktarıyla sınırlama
hem de kullanıcı tarafından zorunlu tutulabilir. Çok sayıda satır/sütun veya
daha fazla kota jetonu tüketir. Daha uzun tarih aralıkları
genellikle daha pahalıdır (ör. tarih aralığını 28 günden 365 gün olarak değiştirmek)
gün sayısı, kota jetonlarının 3 katını kullanabilir). Ayrıca şunu da deneyebilirsiniz:
Mümkün olduğunda daha düşük kardinaliteye sahip boyutlar (ör.
dateHour
isteğinde bulunun) (dateHourMinute
yerine). - Etkili
limit
kullanımı: API'dekilimit
değerini değiştirme döndürülen satır sayısını azaltma isteği, kota jetonları tüketilir. Örneğin, 10.000 satırlık 5 istek 50 bin sınırı olan 1 isteğe kıyasla beş kat kota jetonu tükettiğini varsayalım. - Doğru yöntem kategorisini kullanma: Yukarıda belirtildiği gibi, kota sınırları
üç yöntem kategorisine yayılmıştır. Sağ taraf için doğru yöntemi kullanmak
kotadan tasarruf edebileceğiniz anlamına gelir. Örneğin,
Temel yöntemlerdeki verileri kullanarak uygulamanızda kendi dönüşüm huninizi
dönüşüm hunisi oluşturmak için
runFunnelReport
yöntemini kullanın. - Varsayılan ayarları güncelleyin: platformunda, kullanıcılar tarafından sunulan varsayılan seçenekleri güncellemeyebilir yalnızca çalışma zamanında değiştirebilirsiniz. Uygulamanızda 365 günlük varsayılan bir tarih aralığının olması ve kullanıcı genellikle 28 günlük rapora bakar. düzenli olarak gerekenden daha fazla kota tüketirler. Varsayılan ayarlarda aralıkları ve seçimleri sınırlandırın. kullanıcılar kendi kullanım alanları için en uygun ayarları seçiyor. Bazı durumlarda, kullanıcıların değiştirebileceği varsayılan ayarları da sınırlayabilirsiniz.
- İstekleri sıraya ekleme ve geç yükleme: Eşzamanlı yüklemelere dikkat edin
Mülk Başına İstek Sayısı jeton sınırı. Uygulamanız
aynı anda çok fazla istek gönderebilir. Başvurunuzda çok sayıda
çok sayıda API isteğine yol açan UI öğesi oluşturmak için
kullanıcı arayüzünü sayfalara ayırma, geç yükleme ve istekleri üstel olarak sıralama
geri yükleme sayısını artırır. Agresif olmak için
returnPropertyQuota
yöntemini kullanın uygulamanızın Mülk Başına Eşzamanlı İstek Sayısı jeton kullanımını izleme
Kullanıcı Deneyimini ve Beklentileri Yönetme
- Olası yüksek jeton kullanımına sahip sorguları çalıştırmadan önce kullanıcılara geri bildirim verin. Örneğin, birden fazla yüksek kardinaliteli boyuta veya çok sayıda jeton kullanılabilir. Uyarı ve emin olmak, kullanıcıların belirli sorgular için raporlarda gereksiz değişiklikler yapmalı ve bu değişiklikleri yalnızca daha fazla bilgi edineceksiniz.
- Özelleştirilmiş raporlama çözümleri için kullanıcıların sorgu kullanımını ölçebilir. Örneğin, abonelik için Her rapor öğesi için kota jetonu kullanımını listeleyen hata ayıklama görünümü.
- Kota hatasının türü ile ilgili geri bildirim sağlayın ve kullanıcı talimatı verin eyleme dökülebilir.
- Google Analytics 360 mülkleri kota sınırının 5-10 katı olduğundan, standart mülkler yerine, Google Analytics 360 ile daha fazla esneklik özellikleri hakkında daha fazla bilgi edinin.
Varsayılan sınırların üzerindeki API kotası artışları Data API için şunun için kullanılamaz: Google Analytics 4 Google Analytics 360, Google Analytics 4 mülkleri için geçerlidir. Kullanıcılarınız kota sınırlarına ulaşırsa en iyi uygulamaları hayata geçirdikten sonra daha iyi performans gösteren mülklerini 360'a taşıma. Kullanıcıların başka bir seçenek de Google Analytics BigQuery Export. Bu sayede kullanıcılar etkinlik düzeyindeki verileri dışa aktarabilir. oluşturup kendi analizlerini çalıştırabilir.
Data API kotaları hakkında diğer sorularınız için GA Discord veya Stack Overflow'da soracağım. Veriler'le ilgili belirli özellik istekleriniz varsa sorun izleyicimizde yayınlayabilirsiniz.