Kullanım Sınırları

Google Play EMM API'si varsayılan olarak her EMM için dakika başına 60.000 sorgu içerir.

Kotayı aşarsanız Google Play EMM API HTTP 429 Too Many Requests değerini döndürür. Belirtilen kullanım sınırlarını aşmadığınızdan emin olmak ve kullanıcılarınıza en iyi deneyimi sunmak için aşağıdaki bölümde açıklanan en iyi uygulamalardan bazılarını uygulayabilirsiniz.

API kullanım sınırlarını aşmamanız için öneriler

Google Play EMM API'yi kullanırken istekleri dağıtmak ve kullanım sınırlarını aşma riskini azaltmak için uygulayabileceğiniz bazı en iyi uygulamalar vardır.

Başlangıç zamanlarını ve aralıkları rastgele seç

Cihazların aynı anda senkronize edilmesi veya check-in yapılması gibi etkinlikler, istek hacminde önemli ölçüde artış sağlayabilir. Bu etkinlikleri düzenli olarak planlanmış aralıklarda gerçekleştirmek yerine rastgele aralıklarla bu istek isteklerini dağıtabilirsiniz. Örneğin, her bir cihazı 24 saatte bir senkronize etmek yerine, her cihazı 23 ile 25 saat arasında rastgele seçilen bir zaman aralığında senkronize edebilirsiniz. Bu, isteklerin sayısını artırmaya yardımcı olur.

Benzer şekilde, arka arkaya çok sayıda API çağrısı yapan günlük bir iş çalıştırıyorsanız tüm kurumsal müşterilerinizin aynı anda çok sayıda istek yapmasını önlemek için işi her gün rastgele bir saatte başlatmayı düşünebilirsiniz.

İstekleri yeniden denemek için eksponansiyel geri yükleme kullan

Çok sayıda API çağrısından oluşan işler çalıştırıyorsanız kotaya yanıt olarak üstel geri çekilme stratejisini kullanın. Eksponansiyel geri yükleme, istekleri katlanarak yeniden deneyen bir algoritmadır. Basit üstel geri yükleme uygulamak için örnek akış aşağıdaki gibidir:

  1. Google Play EMM API'ye istekte bulunun.
  2. HTTP 429 yanıtı alın.
  3. 2 saniye + random_time bekleyin, ardından isteği yeniden deneyin.
  4. HTTP 429 yanıtı alın.
  5. 4 saniye + random_time bekleyin, ardından isteği yeniden deneyin.
  6. HTTP 429 yanıtı alın.
  7. 8 saniye + random_time bekleyin, ardından isteği yeniden deneyin.

random_time genellikle -0,5 * bekleme süresi ile +0,5 * bekleme süresi arasında değişen rastgele bir sayıdır. İsteğinizi tekrar denediğinizde yeni bir random_time tanımlayın. Kullanıcılara yönelik işlemleri tamamlamak için gereken API çağrıları daha sık yapılan bir plana göre (ör.0,5 sn, 1 sn ve 2 sn) yeniden denenebilir.

Hız sınırı toplu işlemler

Toplu işlem, kotaya her ulaştığında, API'yi çağıran kullanıcı işlemlerinin gecikmesi artar. Bu gibi durumlarda, eksponansiyel geri yükleme gibi stratejiler, kullanıcı işlemleri için düşük gecikmeyi korumakta yeterince etkili olmayabilir.

API'nin kullanım sınırlarına tekrar tekrar ulaşmak ve kullanıcılara yönelik işlemlerde gecikmeyi önlemek için toplu işlemlerinizde hız sınırlayıcı kullanmayı düşünebilirsiniz (Google'ın RateLimiter sayfası). Hız sınırlayıcı sayesinde API isteklerinizin oranını, kullanım sınırlarının altında kalacak şekilde ayarlayabilirsiniz.

Örneğin, varsayılan hız sınırı 50 QPS olan bir toplu işlem başlatın. API bir hata döndürmediği sürece hız sınırını yavaş yavaş artırın (her dakika% 1). Kotaya her ulaştığınızda istek oranınızı %20 azaltın. Bu uyarlanabilir yaklaşım, daha optimum bir istek oranı sağlarken kullanıcıya yönelik işlemlerde de gecikmeyi azaltır.