Error de límite de tarifa excedido al utilizar Google Cloud Messaging API

Cuando se utiliza la API de mensajería en la nube de Google para enviar mensajes entre un servidor backend y un cliente Android / Chrome, el servidor backend puede, a veces, recibir un límite de velocidad superior al código de respuesta. Este código es "DeviceMessageRateExceeded" para un servidor de conexión HTTP y "DEVICE_MESSAGE_RATE_EXCEEDED" para un servidor de conexión en nube .

¿Qué es este código de error y cómo debe ser administrado?

El código de excepción de límite de velocidad indica que está enviando mensajes de un servidor back-end con demasiada frecuencia. Para garantizar un servicio estable, hay un límite superior de la aplicación por minuto / por dispositivo en el número de mensajes que se pueden enviar desde un servidor back-end. Este límite se establece alto por lo que la mayoría de las aplicaciones de buen comportamiento no deben verse afectados, todas las aplicaciones deben estar preparados para recibir este código de error.

Como se especifica en la pregunta, en el caso de un servidor de conexión HTTP , el código de error será "DeviceMessageRateExceeded". Y para un servidor de conexión en nube , será "DEVICE_MESSAGE_RATE_EXCEEDED", que está reemplazando el código de error anterior "QUOTA_EXCEEDED".

Si su servidor backend recibe este código de error, debe reducir la velocidad que envía mensajes al cliente, idealmente mediante la implementación de backoff exponencial .

CCS aguas abajo ack no se contabilizan en el cupo.

La cuota de DeviceMessageRateExceeded se recibe cuando envía demasiados mensajes a un solo dispositivo – no es necesario que rechace todo el envío, solo a ese ID de registro. Asegúrese de manejar la respuesta "canónica" de ID de registro – es posible tener múltiples regids apuntando al mismo dispositivo.

El 'quota_exceeded' se utilizó en C2DM – GCM no lo devuelve actualmente. Si alguien todavía está usando C2DM – la manipulación es para acelerar / enviar backoff para todos los mensajes. O mejor aún: migrar a GCM que no tiene esta cuota global.

  • Inicio de sesión de Google sin perfil de Google+
  • Instalar GooglePlayServices con NuGet me da un error de Install-Package
  • Android: comprobación de si la ubicación de los ajustes de Google está habilitada
  • Los servicios de Google Play están desactualizados. Requiere 3159100 pero encontrado 3158130
  • ¿Cómo personalizar los servicios de Google Play para reducir el tamaño del frasco?
  • Los servicios de Google Play están desactualizados. Requiere 4030500 pero fue encontrado 3266132
  • ¿Cómo hacer referencia a paquetes de dependencias en una Biblioteca de Android como .aar?
  • Mi botón de Google + 1 está atenuado y no funciona?
  • Google Play Games - Actividad que llama automáticamente a beginUserInitiatedSignIn ()
  • Android M - GoogleAccountCredential setSelectedAccount no funciona - el nombre no debe ser nulo
  • Google Play Services rompe la red GSM
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.