ruby Firebaseで指定ユーザーID群に一気に1,000件ずつプッシュ通知送る处理,简単('·‿·`)亚马逊SNSよりかなり扱いやすい感('·‿&
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Firebaseで指定ユーザーID群に一気に1,000件ずつプッシュ通知送る处理,简単('·‿·`)亚马逊SNSよりかなり扱いやすい感('·‿&相关的知识,希望对你有一定的参考价值。
def publish(user_ids:, title:, body:, click_action:, badge: 1, sound: 'original1.caf', priority: 'high')
registration_ids = Device.where(user: user_ids).pluck(:fcm_token)
options = { notification: {
badge: badge,
title: title,
body: body,
sound: sound,
click_action: click_action,
priority: priority
} }
registration_ids.each_slice(1000) do |sliced_tokens|
response = fcm.send(sliced_tokens, options)
results = JSON.parse(response[:body])['results']
errors = sliced_tokens.zip(results)
.map { |token, result| { token: token, error: result['error'] } }
.select { |e| e[:error].present? }
next if errors.empty?
Rails.logger.warn("Failed to publish. Errors:\n#{errors}")
# See: https://developers.google.com/cloud-messaging/http-server-ref
errors_to_delete = errors.select { |e| %w(MissingRegistration InvalidRegistration UnregisteredDevice).include?(e[:error]) }
unless errors_to_delete.empty?
Device.where(fcm_token: errors_to_delete.pluck(:token)).delete_all
Rails.logger.warn("Device deleted:\n#{errors_to_delete}")
end
end
end
以上是关于ruby Firebaseで指定ユーザーID群に一気に1,000件ずつプッシュ通知送る处理,简単('·‿·`)亚马逊SNSよりかなり扱いやすい感('·‿&的主要内容,如果未能解决你的问题,请参考以下文章
ruby ユーザー毎のアクセス履歴记录
CentOS7 + Apache2.4 + MySQL5.7 + PHP7
javascript ユーザーエージェント判别
php ユーザー认证:
markdown AWS IAMユーザーの设定
ruby Code Schoolのユーザ情报をリクエストしてJSON形式で取得