6
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'lib/umeng_message/params.rb', line 6
def push_params(platform, options)
params = {
'appkey' => UmengMessage.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'],
},
'production_mode' => UmengMessage.production_mode,
'description' => options['description'],
'thirdparty_id' => options['thirdparty_id']
}
ios_payload = {
'payload' => {
'aps' => {
'alert' => options['alert'],
'badge' => options['badge'],
'sound' => options['sound'],
'content-available' => options['content-available'],
'category' => options['category']
},
'title' => options['title'],
'extra' => options['extra'] || {},
}
}
if options['screen']
ios_payload['payload'].merge!({'screen' => options['screen']})
end
if options['params']
ios_payload['payload'].merge!({'params' => options['params']})
end
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)
params = compact_params(params)
end
|