Лучше использовать UrbanAirship Groupon версия .Их документы очень четко определяют каждую вещь, и это будет намного более аккуратным кодом.Работал и тестировался в моем приложении.
Из файла read me (с некоторыми дополнительными комментариями и всеми): -
Примечание: если вы используете Ruby 1.8, вам также следует установить system_timerдрагоценный камень для более надежного поведения тайм-аута.См. http://ph7spot.com/musings/system-timer для получения дополнительной информации.Baically
gem install system_timer
Установка
gem install urbanairship
# or specify in your gem file
gem "urbanairship"
Конфигурация определите все это в каталоге инициализации, а затем убедитесь, что вы перезапускаете приложение.
Urbanairship.application_key = 'application-key'
Urbanairship.application_secret = 'application-secret'
Urbanairship.master_secret = 'master-secret'
Urbanairship.logger = Rails.logger
Urbanairship.request_timeout = 5 # default
Использование
Регистрация токена устройства
Urbanairship.register_device 'DEVICE-TOKEN' # => true
Отмена регистрации токена устройства
Urbanairship.unregister_device 'DEVICE-TOKEN' # => true
Отправка push-уведомления(для мгновенной доставки удалите атрибут schedule_for)
notification = {
:schedule_for => 1.hour.from_now,
:device_tokens => ['DEVICE-TOKEN-ONE', 'DEVICE-TOKEN-TWO'],
:aps => {:alert => 'You have a new message!', :badge => 1}
}
Urbanairship.push notification # => true
Пакетная отправка push-уведомлений (для мгновенной доставки удалите атрибут schedule_for)
notifications = [
{
:schedule_for => 1.hour.from_now,
:device_tokens => ['DEVICE-TOKEN-ONE', 'DEVICE-TOKEN-TWO'],
:aps => {:alert => 'You have a new message!', :badge => 1}
},
{
:schedule_for => 3.hours.from_now,
:device_tokens => ['DEVICE-TOKEN-THREE'],
:aps => {:alert => 'You have a new message!', :badge => 1}
}
]
Urbanairship.batch_push notifications # => true
Отправка широковещательных уведомлений Urbanairship позволяет отправлять широковещательные уведомлениявсе активные зарегистрированные токены устройства для вашего приложения (для мгновенной доставки удалите атрибут schedule_for)
notification = {
:schedule_for => 1.hour.from_now,
:aps => {:alert => 'Important announcement!', :badge => 1}
}
Urbanairship.broadcast_push notification # => true