2013-02-22 2 views

ответ

80

После того, как 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. Если предел достигнут, все сохраненных сообщений отбрасываются. Затем, когда устройство снова подключено к сети, оно получает специальное сообщение, указывающее, что предел был достигнут. Затем приложение может корректно обрабатывать ситуацию, обычно , запрашивая полную синхронизацию.

Я не уверен, что это относится к вашему вопросу.

+0

Отмечая: «Существует ограничение на количество сообщений, которые могут быть сохранены без сваливания. Этот предел в настоящее время 100. Если предел достигнут, все сохраненные сообщения отбрасываются .... ', то есть только для определенного пользователя, правильно? то есть. пользователь может отключить свое устройство в течение длительного времени, поэтому сообщения GCM накапливаются, а если нет конечной точки, сбой? или это 100 через ВСЕ пользователей? – Sauron

+4

@ Sauron: Это устройство. –

+0

Если это не правильно, сервер содержит последние 100, более старые сообщения отбрасываются. Когда устройство подключается к сети, самые свежие 100 сообщений отправляются вместе с сообщением о достижении предела? – ir2pid

1

Согласно официальному документу, предел NO.

7

Там НЕ любой дневной лимит на количество кнопочных уведомлений (ГКМ), но через официальный источник GCM Advanced Topics говорится, что

Существует ограничение на количество сообщений, могут быть сохранены без разрушения. Этот предел в настоящее время равен 100. Если предел достигнут, все сохраненные сообщения будут отброшены. Затем, когда устройство снова подключено к сети, оно получает специальное сообщение, указывающее, что предел был достигнут. Затем приложение может корректно обрабатывать ситуацию, обычно, запрашивая полную синхронизацию.

Надеюсь, что это поможет.

+0

вы можете мне помочь ?, см http://stackoverflow.com/questions/34826165/google-cloud-messaging-limit – ghanbari

+0

@Bhavesh Ссылка не найдено –

2

Вы можете отправить Max 1000 устройств в SEND_ID!

Here - оригинальный источник.

+1

Это не то, что говорит этот источник. –

+0

ROTFL ... Импликация этого источника составляет не более 1000 за один раз – humblerookie

+0

** Источник ** не найден, измените ссылку. –

9

Не похоже, что существует установленный численный предел, но есть меры регулирования на месте.

Для предотвращения злоупотреблений (например, посылая поток сообщений на устройство) и для оптимизации общей эффективности сети и автономной работой устройств, GCM реализует дросселирование сообщений с помощью маркеров ведра схемы.

Если ключ краха приложения истощает свой запас доступных лексем, новые сообщения хранятся в буфере в очереди ожидания, пока новые жетоны становятся доступными во время периодического гранта.

Via: https://developers.google.com/cloud-messaging/server#throttling

Edit/Update:

Просто обновить, док для дросселирования теперь можно найти в GCM Advanced Topics: http://www.androiddocs.com/google/gcm/adv.html#throttling

+1

Я просто заметил, когда смотрю больше на сайт, который я добавил. Я не совсем уверен, является ли androiddocs.com официальной документацией Google. @boltup_im_coding - Я был бы признателен, если бы вы могли добавить примечание об этом. :) –

14

Там является limit от 1000notifications за один раз.

Предположим, у вас есть 50000 regids. Вы не можете отправить все 50000 вместе. После первого 1000 вам придется отдельно выбрать следующий 1000 и так далее.

+1

У вас есть официальный источник этого? – pleshy

+1

@plexy официальные документы [здесь] (https://developers.google.com/cloud-messaging/http-server-ref), посмотрите под * registation_ids * – rion18

+0

, пожалуйста, посмотрите здесь, чтобы понять, что @doylefermi пытается сказать. https://github.com/ToothlessGear/node-gcm/issues/42 –

4

Пробовал отправить более 1000 нажатий из java-кода. Com.google.android.gcm.server.Sender «отправить» метод, попытка не удалась.

https://developers.google.com/cloud-messaging/http-server-ref Для Downstream сообщений HTTP (JSON): Имя

пар - registration_ids типа - строковый массив

Этого параметр определяет список устройств (регистрация маркеров или идентификаторов), получающих многоадресное сообщение. Он должен содержать не менее 1 и не более 1000 регистрационных токенов.

Используйте этот параметр только для многоадресной рассылки, а не для одиночных получателей. Многоадресные сообщения (отправка более 1 регистрационных токенов) разрешены только с использованием формата HTTP JSON.

+1

Прежде всего, добро пожаловать в сообщество :) Уже есть несколько высококачественных ответов на этот вопрос, большинство из которых были опубликованы три года назад, когда вопрос был спросил. Хотя может быть полезным упражнением, чтобы попытаться ответить на простые вопросы, такие как этот, чтобы продвигать ваши возможности программирования, публикация этого ответа в его текущем состоянии ничего не добавляет к вопросу. – MTCoster

0

registration_ids
Этот параметр указывает список устройств (регистрационных токенов или идентификаторов), получающих многоадресное сообщение. Он должен содержать не менее 1 и не более 1000 регистрационных токенов.

Смежные вопросы