Class: Pushable::Messenger
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- Pushable::Messenger
- Defined in:
- app/models/pushable/messenger.rb
Instance Method Summary collapse
- #perform(device_ids, payload) ⇒ Object
- #send_apns(tokens, payload) ⇒ Object
- #send_gcm(tokens, payload) ⇒ Object
Instance Method Details
#perform(device_ids, payload) ⇒ Object
4 5 6 7 |
# File 'app/models/pushable/messenger.rb', line 4 def perform(device_ids, payload) send_gcm Device.android.where(id: device_ids).pluck(:token), payload send_apns Device.ios.where(id: device_ids).pluck(:token), payload end |
#send_apns(tokens, payload) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'app/models/pushable/messenger.rb', line 21 def send_apns(tokens, payload) return unless tokens.any? Rails.logger.info "[APNS] Sending to #{tokens.size} tokens..." Rails.logger.info "[APNS] Payload: #{payload}" service = APNS::Service.new notification = APNS::Notification.new(payload) service.deliver notification, tokens end |
#send_gcm(tokens, payload) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/models/pushable/messenger.rb', line 9 def send_gcm(tokens, payload) return unless tokens.any? Rails.logger.info "[GCM] Sending to #{tokens.size} tokens..." Rails.logger.info "[GCM] Payload: #{payload}" service = GCM::Service.new notification = GCM::Notification.new(payload) result = service.deliver notification, tokens result.responses.each do |resp| Rails.logger.info "[GCM] Response: #{resp.}" end end |