極光

require 'jpush'

master_secret = '7f4f6c4afa1c070f40e54'
app_key = 'e9a794f8d1a4d88204ab'

jpush = JPush::Client.new(app_key, master_secret)

pusher = jpush.pusher

push_payload = JPush::Push::PushPayload.new(
  platform: 'all',
  audience: 'all',
  notification: 'hello jpush',  #字符串設置最基本的'alert'屬性
  message: 'hello world'
)

pusher.push(push_payload)

##Report API
reporter = jpush.reporter
##
########################################################
##構建audience
##如果要發送廣播,不需要構建Audience對象。
##在新建PushPayload對象的時候,給'audience'參數傳'all'即可。
##在廣播之外還可以選擇4種類型
#tag
#tag_and
#alias
#registration_id
#幾種類型并存的時候隱含關系是AND
audience = JPush::Push::Audience.new
audience.set_tag(tag)             #最多包含20個有效的標簽字符串的數組
audience.set_tag_and(tag_and)      #最多包含20個有效的標簽字符串的數組
audience.set_alias(alias)         #最多包含1000個有效的別名字符串的數組
audience.set_registration_id(registration_ids) #最多包含1000個有效的registration id字符串數組
##上面可以 鏈式調用
########################################################

#若通知的內容在各個平臺上,都只有 'alert'基本屬性。
#不需要構建Notification,在新建PushPayload對象時,給'notification'直接傳'alert'字符串
#屬性包含3種,2個平臺,以及一個'alert'屬性

notification = JPush::Push::Notification.new

notification.set_alert(alert)
#Android
notification.set_android(
  alert: alert, #通知欄,可以為空字符串
  title: title, #通知標題,會替換通知里原來展示App名稱的地方
  builder_id: builder_id, #通知欄樣式ID
  extras: extras  #擴展字段,接受一個Hash對象,以供業務使用
)
#IOS
notification.set_ios(
  alert: alert,
  sound: sound, #是否設置提示聲音
  badge: badge, #把角標設置為指定數字
  available: available,#表示推送喚醒
  category: category, #IOS8才支持,設置APNS payload中的'category'字段值
  extras: extras
)
########################################################
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容