Commit c155a030 by liangyuzhe

1.deal with huawei error 2.create pusher by device_platform

parent 953eb382
......@@ -13,7 +13,7 @@ module Push
device_tokens.each_slice(BATCH_PUSH_MAX) do |device_token_array|
res = res_push(message, device_token_array)
# 容错处理,华为的token异常问题,重新获取发送。
if res['code'] == '80300002'
if %w(80300002 80200001).include? res['code']
handle_token_res
res_push(message, device_token_array)
end
......
......@@ -5,6 +5,7 @@ module Push
PUSHERTYPES = %w[push_message_to_single push_message_to_list push_message_to_app].freeze
TEMPLATETYPES = %w[LinkTemplate NotificationTemplate TransmissionTemplate NotyPopLoadTemplate].freeze
DEVICEPLATFORMS = %w[android ios].freeze
def initialize(template_data, opts = {})
......@@ -14,6 +15,7 @@ module Push
@pusher_type = PUSHERTYPES.include?((opts[:pusher_type]).to_s) ? opts[:pusher_type] : 'push_message_to_single'
@template_type = TEMPLATETYPES.include?((opts[:template_type]).to_s) ? opts[:template_type] : 'NotificationTemplate'
::Push::Log.info("@template_data is #{@template_data.to_json}")
set_message
set_template_data
@message.data = @template
......@@ -42,11 +44,27 @@ module Push
private
def pusher
@pusher ||= IGeTui.pusher(
Settings.platform_settings.igetui['app_id'],
Settings.platform_settings.igetui['app_key'],
Settings.platform_settings.igetui['master_secret']
)
@pusher ||=
if DEVICEPLATFORMS.include?((@template_data['device_platform'].to_s))
case @template_data['device_platform'].to_s
when 'android'
IGeTui.pusher(
Settings.platform_settings.igetui.android['app_id'],
Settings.platform_settings.igetui.android['app_key'],
Settings.platform_settings.igetui.android['master_secret']
)
when 'ios'
IGeTui.pusher(
Settings.platform_settings.igetui.ios['app_id'],
Settings.platform_settings.igetui.ios['app_key'],
Settings.platform_settings.igetui.ios['master_secret']
)
end
else
::Push::Log.info("设备类型不正确#{@device_platform}")
raise "Failed to create pusher"
end
end
def set_message
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment