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
)
########################################################
极光
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 不得不说极光推送有一点做得是很不到位,swift都发布那么久了,官方提供的API尽然没有提供任何关于swift的A...
- 在3月30号下午 极光推送推送不了了,后台返回code=1009。解决办法就是,我们后台传给极光后台的数据 key...