Class: JPush::Pusher
Instance Method Summary collapse
- #get_cid(count = nil, type = nil) ⇒ Object
-
#push(push_payload) ⇒ Object
POST api.jpush.cn/v3/push 向某单个设备或者某设备列表推送一条通知、或者消息.
-
#push_batch_alias(single_push_payloads) ⇒ Object
POST api.jpush.cn/v3/push/batch/alias/single 针对Alias方式批量单推(VIP专属接口) docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#vip.
-
#push_batch_regid(single_push_payloads) ⇒ Object
POST api.jpush.cn/v3/push/batch/regid/single 针对RegID方式批量单推(VIP专属接口) docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#vip.
-
#validate(push_payload) ⇒ Object
POST api.jpush.cn/v3/push/validate 验证推送调用是否能够成功,与推送 API 的区别在于:不向用户发送任何消息.
Methods inherited from Handler
Constructor Details
This class inherits a constructor from JPush::Handler
Instance Method Details
#get_cid(count = nil, type = nil) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/jpush/pusher.rb', line 30 def get_cid(count=nil, type=nil) params = { count: count, type: type }.select { |_, value| !value.nil? } url = base_url + 'cid' Http::Client.get(@jpush, url, params: params) end |
#push(push_payload) ⇒ Object
POST api.jpush.cn/v3/push 向某单个设备或者某设备列表推送一条通知、或者消息
18 19 20 21 22 23 24 25 |
# File 'lib/jpush/pusher.rb', line 18 def push(push_payload) if push_payload.cid.nil? cid_response = get_cid(count=1, type='push') cid = cid_response.body['cidlist'].at(0) push_payload.set_cid(cid) end send_push(base_url, push_payload) end |
#push_batch_alias(single_push_payloads) ⇒ Object
POST api.jpush.cn/v3/push/batch/alias/single 针对Alias方式批量单推(VIP专属接口) docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#vip
58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/jpush/pusher.rb', line 58 def push_batch_alias(single_push_payloads) cid_response = get_cid(count=single_push_payloads.size, type='push') cidlist = cid_response.body['cidlist'] body = {} body['pushlist'] = {} single_push_payloads.each { |payload| cid = cidlist.pop body['pushlist'][cid] = payload.to_hash } url = base_url + 'batch/alias/single' Http::Client.post(@jpush, url, body: body) end |
#push_batch_regid(single_push_payloads) ⇒ Object
POST api.jpush.cn/v3/push/batch/regid/single 针对RegID方式批量单推(VIP专属接口) docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#vip
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/jpush/pusher.rb', line 42 def push_batch_regid(single_push_payloads) cid_response = get_cid(count=single_push_payloads.size, type='push') cidlist = cid_response.body['cidlist'] body = {} body['pushlist'] = {} single_push_payloads.each { |payload| cid = cidlist.pop body['pushlist'][cid] = payload.to_hash } url = base_url + 'batch/regid/single' Http::Client.post(@jpush, url, body: body) end |
#validate(push_payload) ⇒ Object
POST api.jpush.cn/v3/push/validate 验证推送调用是否能够成功,与推送 API 的区别在于:不向用户发送任何消息
11 12 13 14 |
# File 'lib/jpush/pusher.rb', line 11 def validate(push_payload) url = base_url + 'validate' send_push(url, push_payload) end |