Class: JPush::Tag

Inherits:
Handler show all
Defined in:
lib/jpush/device.rb

Instance Method Summary collapse

Methods inherited from Handler

#initialize

Constructor Details

This class inherits a constructor from JPush::Handler

Instance Method Details

#add_devices(tag_value, registration_ids) ⇒ Object

下面两个方法接受一个参数,其类型为数组或字符串



108
109
110
# File 'lib/jpush/device.rb', line 108

def add_devices(tag_value, registration_ids)
  update(tag_value, devices_add: registration_ids)
end

#delete(tag_value, platform = nil) ⇒ Object

DELETE /v3/tags/tag_value 删除一个标签,以及标签与设备之间的关联关系



118
119
120
121
122
# File 'lib/jpush/device.rb', line 118

def delete(tag_value, platform = nil)
  params = platform.nil? ? nil : { platform: [platform].flatten.join(',') }
  url = base_url + tag_value
  Http::Client.delete(@jpush, url, params: params)
end

#has_device?(tag_value, registration_id) ⇒ Boolean

GET /v3/tags/tag_value/registration_ids/registration_id 查询某个设备是否在 tag 下

Returns:

  • (Boolean)


90
91
92
93
# File 'lib/jpush/device.rb', line 90

def has_device?(tag_value, registration_id)
  url = base_url + "#{tag_value}/registration_ids/#{registration_id}"
  Http::Client.get(@jpush, url)
end

#listObject

GET /v3/tags/ 获取当前应用的所有标签列表。



83
84
85
86
# File 'lib/jpush/device.rb', line 83

def list
  url = base_url
  Http::Client.get(@jpush, url)
end

#remove_devices(tag_value, registration_ids) ⇒ Object



112
113
114
# File 'lib/jpush/device.rb', line 112

def remove_devices(tag_value, registration_ids)
  update(tag_value, devices_remove: registration_ids)
end

#update(tag_value, devices_add: nil, devices_remove: nil) ⇒ Object

POST /v3/tags/tag_value 为一个标签添加或者删除设备。



97
98
99
100
101
102
103
104
105
# File 'lib/jpush/device.rb', line 97

def update(tag_value, devices_add: nil, devices_remove: nil)
  rids = {}
  rids[:add] = [devices_add].flatten unless devices_add.nil?
  rids[:remove] = [devices_remove].flatten unless devices_remove.nil?

  body = { registration_ids: rids }
  url = base_url + tag_value
  Http::Client.post(@jpush, url, body: body)
end