Class: Xinge::Base

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/xinge/base.rb

Direct Known Subclasses

Android, Ios

Constant Summary collapse

DEFAULT_OPTIONS =
{
  api_version: 'v2'
}
HOST =
"openapi.xg.qq.com"
HTTP_METHOD =
:post

Instance Method Summary collapse

Constructor Details

#initialize(accessId = nil, secretKey = nil, options = {}) ⇒ Base

Returns a new instance of Base.



27
28
29
30
31
32
33
# File 'lib/xinge/base.rb', line 27

def initialize(accessId = nil, secretKey = nil, options = {})
  raise 'accessId is invalid' unless accessId.is_a? Integer
  raise 'secretKey is invalid' if !secretKey.is_a?(String) or secretKey.strip.size == 0
  @accessId  =  accessId
  @secretKey =  secretKey.strip
  @options = DEFAULT_OPTIONS.merge options
end

Instance Method Details

#application_get_app_device_num(params = {}) ⇒ Object

查询应用覆盖的设备数



85
86
87
# File 'lib/xinge/base.rb', line 85

def application_get_app_device_num(params = {})
  self.send_request('application','get_app_device_num',params)
end

#push_all_device(message_type, message, params = {}) ⇒ Object

push消息(包括通知和透传消息)给app的所有设备



57
58
59
60
61
62
63
# File 'lib/xinge/base.rb', line 57

def push_all_device(message_type, message, params = {})
  params.merge!({
    message_type: message_type,
    message: message
    })
  self.send_request('push','all_device',params)
end

#push_cancel_timing_task(push_id, params = {}) ⇒ Object

取消尚未触发的定时群发任务



95
96
97
98
99
100
101
# File 'lib/xinge/base.rb', line 95

def push_cancel_timing_task(push_id, params = {})
  params.merge!({
    push_id: push_id
    })
  @request.fetch(params)
  self.send_request('push','cancel_timing_task',params)
end

#push_get_msg_status(push_ids, params = {}) ⇒ Object

查询群发消息发送状态



77
78
79
80
81
82
# File 'lib/xinge/base.rb', line 77

def push_get_msg_status(push_ids, params = {})
  params.merge!({
    push_ids: push_ids.to_json
    })
  self.send_request('push','get_msg_status',params)
end

#push_single_account(account, message_type, message, params = {}) ⇒ Object

push消息(包括通知和透传消息)给单个账户或别名



47
48
49
50
51
52
53
54
# File 'lib/xinge/base.rb', line 47

def (, message_type, message, params = {})
  params.merge!({
    account: ,
    message_type: message_type,
    message: message
    })
  self.send_request('push','single_account',params)
end

#push_single_device(device_token, message_type, message, params = {}) ⇒ Object

push消息(包括通知和透传消息)给单个设备



37
38
39
40
41
42
43
44
# File 'lib/xinge/base.rb', line 37

def push_single_device(device_token, message_type, message, params = {})
  params.merge!({
    device_token: device_token,
    message: message,
    message_type: message_type
    })
  self.send_request('push','single_device',params)
end

#push_tags_device(message_type, message, tags_list, tags_op, params = {}) ⇒ Object

push消息(包括通知和透传消息)给tags指定的设备



66
67
68
69
70
71
72
73
74
# File 'lib/xinge/base.rb', line 66

def push_tags_device(message_type, message, tags_list, tags_op, params = {})
  params.merge!({
    message_type: message_type,
    message: message,
    tags_list: tags_list.to_json,
    tags_op: tags_op
    })
  self.send_request('push','tags_device',params)
end

#tags_batch_del(tag_token_list, params = {}) ⇒ Object

批量删除标签



112
113
114
115
116
117
# File 'lib/xinge/base.rb', line 112

def tags_batch_del(tag_token_list, params = {})
  params.merge!({
    tag_token_list: tag_token_list
    })
  self.send_request('tags','batch_del',params)
end

#tags_batch_set(tag_token_list, params = {}) ⇒ Object

批量设置标签



104
105
106
107
108
109
# File 'lib/xinge/base.rb', line 104

def tags_batch_set(tag_token_list, params = {})
  params.merge!({
    tag_token_list: tag_token_list
    })
  self.send_request('tags','batch_set',params)
end

#tags_query_app_tags(params = {}) ⇒ Object

查询应用的Tags



90
91
92
# File 'lib/xinge/base.rb', line 90

def tags_query_app_tags(params = {})
  self.send_request('tags','query_app_tags',params)
end

#tags_query_tag_token_num(tag, params = {}) ⇒ Object

查询应用某标签关联的设备数量



128
129
130
131
132
133
# File 'lib/xinge/base.rb', line 128

def tags_query_tag_token_num(tag, params = {})
  params.merge!({
    tag: tag
    })
  self.send_request('tags','query_tag_token_num',params)
end

#tags_query_token_tags(device_token, params = {}) ⇒ Object

查询应用某token设置的标签



120
121
122
123
124
125
# File 'lib/xinge/base.rb', line 120

def tags_query_token_tags(device_token, params = {})
  params.merge!({
    device_token: device_token
    })
  self.send_request('tags','query_token_tags',params)
end