Class: BaiduPush::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/baidu_push/client.rb

Constant Summary collapse

API_HOST =
'channel.api.duapp.com'
DEFAULT_RESOURCE =
'channel'
DEFAULT_OPTIONS =
{
  use_ssl: false,
  api_version: '2.0'
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key, secret_key, options = {}) ⇒ Client

Returns a new instance of Client.



15
16
17
18
19
20
21
22
# File 'lib/baidu_push/client.rb', line 15

def initialize(api_key, secret_key, options = {})
  @api_key, @secret_key = (api_key || '').strip, (secret_key || '').strip
  @options = DEFAULT_OPTIONS.merge options

  set_api_url
  @resource ||= DEFAULT_RESOURCE
  @request = Request.new(self)
end

Instance Attribute Details

#api_keyObject (readonly)

Returns the value of attribute api_key.



12
13
14
# File 'lib/baidu_push/client.rb', line 12

def api_key
  @api_key
end

#api_urlObject (readonly)

Returns the value of attribute api_url.



12
13
14
# File 'lib/baidu_push/client.rb', line 12

def api_url
  @api_url
end

#optionsObject (readonly)

Returns the value of attribute options.



12
13
14
# File 'lib/baidu_push/client.rb', line 12

def options
  @options
end

#requestObject (readonly)

Returns the value of attribute request.



12
13
14
# File 'lib/baidu_push/client.rb', line 12

def request
  @request
end

#resourceObject

Returns the value of attribute resource.



13
14
15
# File 'lib/baidu_push/client.rb', line 13

def resource
  @resource
end

#secret_keyObject (readonly)

Returns the value of attribute secret_key.



12
13
14
# File 'lib/baidu_push/client.rb', line 12

def secret_key
  @secret_key
end

Instance Method Details

#delete_app_ioscert(params = {}) ⇒ Object



55
56
57
# File 'lib/baidu_push/client.rb', line 55

def delete_app_ioscert(params = {})
  @request.fetch(:delete_app_ioscert, params)
end

#delete_msg(user_id, msg_ids, params = {}) ⇒ Object



90
91
92
93
94
95
96
# File 'lib/baidu_push/client.rb', line 90

def delete_msg(user_id, msg_ids, params = {})
  params.merge!({
    user_id: user_id,
    msg_ids: msg_ids.to_json
  })
  @request.fetch(:delete_msg, params)
end

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



111
112
113
114
115
116
117
# File 'lib/baidu_push/client.rb', line 111

def delete_tag(tag, params = {})
  set_to_default_resource
  params.merge!({
    tag: tag
  })
  @request.fetch(:delete_tag, params)
end

#fetch_msg(user_id, params = {}) ⇒ Object



76
77
78
79
80
81
# File 'lib/baidu_push/client.rb', line 76

def fetch_msg(user_id, params = {})
  params.merge!({
    user_id: user_id
  })
  @request.fetch(:fetch_msg, params)
end

#fetch_msgcount(user_id, params = {}) ⇒ Object



83
84
85
86
87
88
# File 'lib/baidu_push/client.rb', line 83

def fetch_msgcount(user_id, params = {})
  params.merge!({
    user_id: user_id
  })
  @request.fetch(:fetch_msgcount, params)
end

#fetch_tag(params = {}) ⇒ Object



106
107
108
109
# File 'lib/baidu_push/client.rb', line 106

def fetch_tag(params = {})
  set_to_default_resource
  @request.fetch(:fetch_tag, params)
end

#init_app_ioscert(name, description, release_cert, dev_cert, params = {}) ⇒ Object



41
42
43
44
45
46
47
48
49
# File 'lib/baidu_push/client.rb', line 41

def init_app_ioscert(name, description, release_cert, dev_cert, params = {})
  params.merge!({
    name: name,
    description: description,
    release_cert: release_cert,
    dev_cert: dev_cert
  })
  @request.fetch(:init_app_ioscert, params)
end

#push_msg(push_type, messages, msg_keys, params = {}) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/baidu_push/client.rb', line 31

def push_msg(push_type, messages, msg_keys, params = {})
  set_to_default_resource
  params.merge!({
    push_type: push_type,
    messages: messages.to_json,
    msg_keys: msg_keys
  })
  @request.fetch(:push_msg, params)
end

#query_app_ioscert(params = {}) ⇒ Object



59
60
61
# File 'lib/baidu_push/client.rb', line 59

def query_app_ioscert(params = {})
  @request.fetch(:query_app_ioscert, params)
end

#query_bindlist(params = {}) ⇒ Object

Basic API



27
28
29
# File 'lib/baidu_push/client.rb', line 27

def query_bindlist(params = {})
  @request.fetch(:query_bindlist, params)
end

#query_device_type(params = {}) ⇒ Object



127
128
129
# File 'lib/baidu_push/client.rb', line 127

def query_device_type(params = {})
  @request.fetch(:query_device_type, params)
end

#query_user_tags(user_id, params = {}) ⇒ Object



119
120
121
122
123
124
125
# File 'lib/baidu_push/client.rb', line 119

def query_user_tags(user_id, params = {})
  set_to_default_resource
  params.merge!({
    user_id: user_id
  })
  @request.fetch(:query_user_tags, params)
end

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



98
99
100
101
102
103
104
# File 'lib/baidu_push/client.rb', line 98

def set_tag(tag, params = {})
  set_to_default_resource
  params.merge!({
    tag: tag
  })
  @request.fetch(:set_tag, params)
end

#update_app_ioscert(params = {}) ⇒ Object



51
52
53
# File 'lib/baidu_push/client.rb', line 51

def update_app_ioscert(params = {})
  @request.fetch(:update_app_ioscert, params)
end

#verify_bind(user_id, params = {}) ⇒ Object

Advanced API



69
70
71
72
73
74
# File 'lib/baidu_push/client.rb', line 69

def verify_bind(user_id, params = {})
  params.merge!({
    user_id: user_id
  })
  @request.fetch(:verify_bind, params)
end