def set_push_info(action_loc_key, badge, message, sound, options = {})
      init_push_info
      @push_info.actionLocKey = action_loc_key
      @push_info.badge = badge.to_s
      @push_info.message = message
      @push_info.sound = sound
      @push_info.payload = options[:payload]
      @push_info.locKey = options[:loc_key]
      @push_info.locArgs = options[:loc_args]
      @push_info.launchImage = options[:launch_image]
      # validate method need refactoring.
      # Validate.new.validate(args)
    end
def set_push_info(action_loc_key, badge, message, sound, options = {})
      init_push_info
      @push_info.actionLocKey = action_loc_key
      @push_info.badge = badge.to_s
      @push_info.message = message
      @push_info.sound = sound
      @push_info.payload = options[:payload]
      @push_info.locKey = options[:loc_key]
      @push_info.locArgs = options[:loc_args]
      @push_info.launchImage = options[:launch_image]
      # validate method need refactoring.
      # Validate.new.validate(args)
    end
NOTE:
 iOS Pusher need the top four fields of 'push_info' are required.
 options can be includes [:payload, :loc_key, :loc_args, :launch_image]
 http://docs.igetui.com/pages/viewpage.action?pageId=590588