Module: JPush::Tag

Extended by:
Tag
Included in:
Tag
Defined in:
lib/jpush/device.rb

Instance Method Summary collapse

Instance Method Details

#add_devices(tag_value, registration_ids) ⇒ Object

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



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

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 删除一个标签,以及标签与设备之间的关联关系



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

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

#has_device?(tag_value, registration_id) ⇒ Boolean

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

Returns:

  • (Boolean)


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

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

#listObject

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



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

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

#remove_devices(tag_value, registration_ids) ⇒ Object



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

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 为一个标签添加或者删除设备。



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

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(url, body: body)
end