iphone & уведомления: максимальное количество уведомлений? - PullRequest
7 голосов
/ 03 ноября 2010

У меня есть приложение для iPhone, отправляющее уведомления, и все работает нормально ... За исключением иногда :)

Позвольте мне объяснить: я использую довольно простой PHP-скрипт для отправки уведомлений (используя stream_context_create метод), но некоторые пользователи сказали мне, что они не получают некоторые уведомления.Очевидно, я могу столкнуться с некоторыми случаями, когда мне нужно отправить до 50 000 уведомлений в течение минуты, и я думаю, что это может быть проблемой.Я использую один поток для отправки всех уведомлений.

Кто-нибудь из вас, ребята, сталкивался с такой проблемой?Нужно ли разделять на несколько потоков?Есть ли какая-либо информация о максимальном количестве уведомлений, которые я могу отправить в потоке?

Спасибо:)

Изменить 1

"Скорость" - этоне проблема здесь: я могу отправить все свои уведомления в Apple в течение минуты (у меня могут быть некоторые проблемы в будущем, если число моих пользователей увеличится, но это нормально, банкомат).Проблема, которую я вижу здесь, заключается в том, что Apple может считать меня спамером или чем-то и не доставляет все мои 50 000 уведомлений: / Ребята, вы знаете, как я могу в этом убедиться?

Ответы [ 4 ]

5 голосов
/ 10 ноября 2010

Я спросил представителя Apple по этому поводу, и мне сказали, что нет ограничений по скорости, и что система никогда не сбрасывала уведомление.

(Это было 12 месяцев назад, когда Push был еще относительно новым, поэтому с тех пор они могли изменить политику)

1 голос
/ 08 ноября 2010

Я бы скорее разработал код для отправки уведомлений на C. PHP, являясь языком сценариев, не может (вероятно) гарантировать требуемую скорость обработки уведомлений в 50 КБ в минуту. Кроме того, вам может понадобиться очень подготовленный сервер с процессорами последнего поколения и большим объемом памяти. Действительно, для удовлетворения требуемого QOS вы должны иметь возможность отправлять около 14 уведомлений в секунду. Я сомневаюсь, что PHP на самом деле способен справиться с этой скоростью.

В прошлом у меня был собственный провайдер, и мой QOS был намного меньше, чем тот, который вам нужен. Тогда я решил переключиться на поставщика коммерческих услуг, Urban Airship. Я обнаружил, что эта услуга работает как шарм. Никто из пользователей никогда не сообщал об отсутствии уведомления. Вы должны заплатить за это, но обработка этих вещей самостоятельно может оказаться невероятной проблемой.

0 голосов
/ 08 февраля 2013

Я столкнулся с точно такой же проблемой, но с гораздо меньшим количеством нажатий на поток.В моем случае я поместил все свои сообщения, около 250, в один поток, и ни одно из них не было доставлено.Похоже, что плохой токен, кажется, вызывает сбой, но пока я не уверен, что является плохим токеном.

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

Короче говоря, я отправляю одно сообщение на поток, и оно работает нормально.Чтобы отправить 250 сообщений, требуется порядка секунд, что кажется ужасно неэффективным, но для меня это всего лишь незначительная неприятность.

0 голосов
/ 06 ноября 2011

Если в потоке уведомлений произошел сбой (то есть плохой токен), то пропускаются несколько токенов, проходящих через него. Это был мой опыт, поэтому я отправляю по одному токену за раз. Больше никаких сбоев, кроме одного плохого токена.

...