7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/umeng_pusher/params.rb', line 7
def send_params(platform, options)
params = {
"appkey" => UmengPusher.appkey(platform),
"timestamp" => Time.now.to_i.to_s,
"type" => options[:type],
"device_tokens" => options[:device_tokens],
"alias_type" => options[:alias_type], "alias" => options[:alias], "file_id" => options[:file_id], "policy" => { "start_time" => options[:start_time],
"expire_time" => options[:expire_time],
"max_send_num" => options[:max_send_num],
"out_biz_no" => options[:out_biz_no], },
"production_mode" => UmengPusher.production_mode,
"description" => options[:description], }
ios_payload = {
"payload" => {
"aps" => {
"alert" => options[:alert],
"badge" => options[:badge] || 1,
"sound" => options[:sound] || "default",
"content-available" => options["content-available".to_sym],
"category" => options[:category],
},
},
}
ios_payload["payload"]["body"] = options[:extra] if options.has_key?(:extra)
android_payload = {
"payload" => {
"display_type" => options[:display_type],
"body" => {
"ticker" => options[:ticker],
"title" => options[:title],
"text" => options[:text],
"icon" => options[:icon],
"largeIcon" => options[:largeIcon],
"img" => options[:img],
"sound" => options[:sound],
"builder_id" => (options[:builder_id] || 0),
"play_vibrate" => (options[:play_vibrate] || "true"),
"play_lights" => (options[:play_lights] || "true"),
"play_sound" => (options[:play_sound] || "true"),
"after_open" => (options[:after_open] || "go_app"),
"url" => options[:url],
"activity" => options[:activity],
"custom" => options[:custom],
},
"extra" => options[:extra] || {},
},
}
platform.downcase == "ios" ? params.merge!(ios_payload) : params.merge!(android_payload)
compact_params(params)
end
|