Gibt es ein tägliches Limit für Nummern-Push-Benachrichtigungen (GCM), die an einen bestimmten Benutzer einer Android-Anwendung gesendet werden können?
Gibt es ein tägliches Limit für Nummern-Push-Benachrichtigungen (GCM), die an einen bestimmten Benutzer einer Android-Anwendung gesendet werden können?
Antworten:
Nachdem Google C2DM durch GCM ersetzt hatte, wurden alle Grenzen überschritten.
QUELLE: http://developer.android.com/google/gcm/c2dm.html#history
Vor GCM (als es noch C2DM hieß): https://developers.google.com/android/c2dm/#limitations )
Die einzigen Einschränkungen, auf die Sie in der GCM-Dokumentation stoßen, sind folgende: http://developer.android.com/google/gcm/adv.html#lifetime
Zitat aus dem obigen Link:
Hinweis: Die Anzahl der Nachrichten, die ohne Zusammenbruch gespeichert werden können, ist begrenzt. Dieses Limit beträgt derzeit 100. Wenn das Limit erreicht ist, werden alle gespeicherten Nachrichten verworfen. Wenn das Gerät wieder online ist, erhält es eine spezielle Meldung, dass das Limit erreicht wurde. Die Anwendung kann dann ordnungsgemäß mit der Situation umgehen, indem sie normalerweise eine vollständige Synchronisierung anfordert.
Ich bin mir jedoch nicht sicher, ob dies für Ihre Frage relevant ist.
There is a limit on how many messages can be stored without collapsing. That limit is currently 100. If the limit is reached, all stored messages are discarded....
Das ist nur für einen bestimmten Benutzer, richtig? dh. Möglicherweise hat ein Benutzer sein Gerät für längere Zeit ausgeschaltet, sodass sich GCM-Nachrichten häufen und wenn kein Endpunkt vorhanden ist, zusammenbrechen. oder sind das 100 für ALLE Benutzer?
Es gibt eine limit
von 1000
notifications
an einem gehen.
Angenommen, Sie haben 50000 regids
. Sie können nicht alle 50000
zusammen senden . Nach dem ersten 1000
müssen Sie den nächsten separat auswählen 1000
und so weiter.
Es scheint nicht, dass es eine festgelegte numerische Grenze gibt, aber es gibt Drosselungsmaßnahmen.
Um Missbrauch zu verhindern (z. B. das Senden einer Flut von Nachrichten an ein Gerät) und die gesamte Netzwerkeffizienz und Akkulaufzeit von Geräten zu optimieren, implementiert GCM die Drosselung von Nachrichten mithilfe eines Token-Bucket-Schemas.
Wenn ein Anwendungskollapsschlüssel das Angebot an verfügbaren Token erschöpft, werden neue Nachrichten in einer ausstehenden Warteschlange gepuffert, bis zum Zeitpunkt der regelmäßigen Gewährung neue Token verfügbar werden.
Über: https://developers.google.com/cloud-messaging/server#throttling
Bearbeiten / Aktualisieren:
Nur zum Aktualisieren finden Sie das Dokument zum Drosseln jetzt in den erweiterten GCM-Themen: http://www.androiddocs.com/google/gcm/adv.html#throttling
Es gibt KEIN tägliches Limit für Number Push Notifications (GCM), aber über Official Source GCM Advanced Topics heißt es
Die Anzahl der Nachrichten, die ohne Zusammenbruch gespeichert werden können, ist begrenzt. Dieses Limit beträgt derzeit 100. Wenn das Limit erreicht ist, werden alle gespeicherten Nachrichten verworfen. Wenn das Gerät wieder online ist, erhält es eine spezielle Meldung, dass das Limit erreicht wurde. Die Anwendung kann dann ordnungsgemäß mit der Situation umgehen, indem sie normalerweise eine vollständige Synchronisierung anfordert.
Hoffe es wird helfen.
Es wurde versucht, über 1000 Pushs vom Java-Code com.google.android.gcm.server.Sender "send" zu senden. Der Versuch schlägt fehl.
https://developers.google.com/cloud-messaging/http-server-ref Für Downstream-HTTP-Nachrichten (JSON):
Parametername - Typ der Registrierungs-IDs - String-Array
Dieser Parameter gibt eine Liste von Geräten (Registrierungstoken oder IDs) an, die eine Multicast-Nachricht empfangen. Es muss mindestens 1 und höchstens 1000 Registrierungstoken enthalten.
Verwenden Sie diesen Parameter nur für Multicast-Nachrichten, nicht für einzelne Empfänger. Multicast-Nachrichten (Senden an mehr als 1 Registrierungstoken) sind nur im HTTP-JSON-Format zulässig.
Laut offiziellem Dokument KEINE Grenze.
Sie können maximal 1.000 Geräte pro SEND_ID senden!
Hier ist die Originalquelle.
register_ids
Dieser Parameter gibt eine Liste von Geräten (Registrierungstoken oder IDs) an, die eine Multicast-Nachricht empfangen. Es muss mindestens 1 und höchstens 1000 Registrierungstoken enthalten.
Seit GCM jetzt in die Firebase umgezogen ist, ist der Messaging-Service völlig kostenlos.