Чи існує щоденний ліміт на кількість push-повідомлень (GCM), які можна надсилати певному користувачеві програми Android?
Чи існує щоденний ліміт на кількість push-повідомлень (GCM), які можна надсилати певному користувачеві програми Android?
Відповіді:
Після того, як Google замінив C2DM на GCM, вони зняли всі обмеження.
ДЖЕРЕЛО: http://developer.android.com/google/gcm/c2dm.html#history
До GCM (коли його ще називали C2DM): https://developers.google.com/android/c2dm/#limitations )
Єдине обмеження, на яке ви накладаєте документацію GCM, це: http://developer.android.com/google/gcm/adv.html#lifetime
Цитата за посиланням вище:
Примітка. Існує обмеження на кількість повідомлень, які можна зберігати, не згортаючи. На даний момент цей ліміт становить 100. Якщо ліміт досягнуто, усі збережені повідомлення відкидаються. Потім, коли пристрій знову в мережі, він отримує спеціальне повідомлення про те, що ліміт досягнутий. Потім програма може впоратись із ситуацією належним чином, як правило, запитуючи повну синхронізацію.
Я не впевнений, що це стосується Вашого питання.
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....
це саме для конкретного користувача, правильно? тобто у користувача може бути вимкнено пристрій на тривалий час, таким чином повідомлення GCM накопичуються, а якщо кінцевої точки немає, згортання? або це 100 для ВСІХ користувачів?
Існує limit
з 1000
notifications
в один йти.
Припустимо, що у вас є 50000 regids
. Ви не можете відправити всіх 50000
разом. Після першого 1000
вам доведеться окремо вибрати наступний 1000
тощо.
Здається, не існує встановленого числового обмеження, але існують обмежувальні заходи.
Для запобігання зловживанням (наприклад, надсилання потоку повідомлень на пристрій) та оптимізації загальної ефективності мережі та часу автономної роботи пристроїв, GCM реалізує дроселювання повідомлень за допомогою схеми сегментованого маркера.
Якщо ключ згортання програми вичерпує запас доступних токенів, нові повідомлення буферизуються в очікувальній черзі, поки нові маркери не стануть доступними на момент періодичного надання.
Через: https://developers.google.com/cloud-messaging/server#throttling
Редагування / оновлення:
Тільки для оновлення, документ для регулювання можна зараз знайти в Додаткових темах GCM: http://www.androiddocs.com/google/gcm/adv.html#throttling
Існує НЕ будь-який денний ліміт на кількість push-повідомлень (GCM), але через офіційні джерела GCM Advanced Topics він стверджує, що
Існує обмеження кількості повідомлень, які можна зберігати, не згортаючи. На даний момент цей ліміт становить 100. Якщо ліміт досягнуто, усі збережені повідомлення відкидаються. Потім, коли пристрій знову в мережі, він отримує спеціальне повідомлення про те, що ліміт досягнутий. Потім програма може впоратись із ситуацією належним чином, як правило, запитуючи повну синхронізацію.
Сподіваюся, це допоможе.
Спробував надіслати понад 1000 натискань з коду Java com.google.android.gcm.server. Відправте метод "надіслати", спроба не вдається.
https://developers.google.com/cloud-messaging/http-server-ref Для низових повідомлень HTTP (JSON):
ім'я параметра - тип реєстраційних_ід - масив рядків
Цей параметр визначає список пристроїв (маркери реєстрації або ідентифікатори), які отримують багатоадресне повідомлення. Він повинен містити принаймні 1 та максимум 1000 реєстраційних токенів.
Використовуйте цей параметр лише для багатоадресних повідомлень, а не для одержувачів. Багатоадресні повідомлення (надсилання більш ніж на 1 маркери реєстрації) дозволяються лише у форматі HTTP JSON.
Ви можете надіслати не більше 1000 пристроїв за SEND_ID!
Ось першоджерело.
registration_ids
Цей параметр визначає список пристроїв (маркери реєстрації або ідентифікатори), які отримують багатоадресне повідомлення. Він повинен містити принаймні 1 та максимум 1000 реєстраційних токенів.
Оскільки GCM перейшов до Firebase зараз, служба обміну повідомленнями є абсолютно безкоштовною.