2013-09-25 3 views
3

Мне нужно отправить push-уведомления (PN) в определенное время. Например, я не хочу разбудить своих пользователей до 8 утра, поэтому я хотел бы проинструктировать Google о том, чтобы отправлять PN в 9 утра каждый день.Рассылка Push-уведомлений

Проблема в том, что мои пользователи могут быть распространены по всему миру, я действительно не могу сказать, какое время локации существует ... дает ли Google возможность планировать PN-файлы по местному времени зарегистрированных приложений?

PS1: Я читал о UILocalNotification от iOS (возможно, для Android тоже есть), но я не хочу ничего устанавливать локально, я просто хочу отправить PN с удаленного сервера (с пользовательскими данными) и поставить ограничение времени доставки.

PS2: Я использую Phonegap для разработки приложения, и я уже могу отправлять мгновенные PN на определенные устройства.

ответ

3

Когда вы отправляете уведомление, вы не можете указать услугу push (ни APNS, ни GCM). Обе службы пытаются как можно скорее доставить уведомление (при условии, что устройство подключено к Интернету).

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

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

+0

спасибо за ваш ответ, даже если идентификатор не разрешает мою проблему, кажется правильным ответом. чтобы усложнить его, вы знаете, что люди много путешествуют, а изменение часового пояса, например, если вы путешествуете из Нью-Йорка в Гонконг ... – Adi

+1

@Adi Добро пожаловать. Вы можете сохранить часовой пояс на устройстве. Каждый раз, когда приложение запускается, проверьте, отличается ли текущий часовой пояс от сохраненного. Если это так, вы отправляете новый часовой пояс на свой сервер и локально сохраняете новый часовой пояс. – Eran

+0

Да, может быть приемлемым решением, но вы знаете, нажмите кнопку уведомления о работе с приложением закрыто, но опять же, да, это лучшее решение – Adi

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