我希望在更新数据库记录时自动发送推送通知。推送通知是针对Android设备的。这些记录来自Ruby on Rails应用程序。
任何帮助都会很明显。谢谢。
答案 0 :(得分:1)
您要做的是在表中的记录更新时向移动设备发送推送通知。我建议您必须以可以触发推送通知的方式设计表格和其他所有内容。请检查以下方案。为了在customers表中的记录更新时向Android设备发送推送通知。
<强>模型强>
<强> customer.rb 强>
class Customer < ActiveRecord::Base
after_save :send_push_notification
def send_push_notification
PushWorker.perform_async({id: self.id})
end
def send_push
require 'gcm'
gcm = GCM.new(ENV['API_KEY'])
registration_ids= Device.android.map(&:registration_id)
options = {
data: data,
collapse_key: collapse_key || 'my_app'
}
response = gcm.send(registration_ids, options)
end
end
异步工作者
<强> push_worker.rb 强>
class PushWorker
include Sidekiq::Worker
include Sidetiq::Schedulable
def perform(params)
customer = Customer.find(params[:id])
customer.send_push
end
end
答案 1 :(得分:0)
通过google尝试(firebase云消息传递)[https://firebase.google.com/docs/cloud-messaging/]服务,这是较新的GCM。
基本上在更新/插入时,您可以推送到消息服务以通知设备。