Class: FiveMobilePush::Device

Inherits:
Object
  • Object
show all
Defined in:
lib/five_mobile_push/device.rb

Constant Summary collapse

VALID_OPTION_KEYS =
[:alias, :email]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, device_uid) ⇒ Device

Returns a new instance of Device.

Parameters:

  • client (FiveMobilePush::Client)

    The Client to use to send this request

  • device_uid (String)

    The ID of the device being registered. Maximum of 64 characters.



12
13
14
15
# File 'lib/five_mobile_push/device.rb', line 12

def initialize(client, device_uid)
  @client     = client
  @device_uid = device_uid
end

Instance Attribute Details

#device_uidObject (readonly)

Returns the value of attribute device_uid.



6
7
8
# File 'lib/five_mobile_push/device.rb', line 6

def device_uid
  @device_uid
end

Instance Method Details

#register(device_info, registration_data = nil) ⇒ Hash

Registers a device for receiving push notifications from an application. If the device is already registered, this call can update the existing registration details.

Parameters:

  • registration_data (String) (defaults to: nil)

    Platform specific device registration data, e.g. iOS device token. Optional for some platforms

  • device_info (Hash)

    Information about the device being registered

Options Hash (device_info):

  • :manufacturer (String)

    The device manufacturer. E.g. Apple, HTC, Motorola, RIM. Maximum 64 characters.

  • :model (String)

    The model of the device. E.g. iPhone 4, Nexus One

  • :platform (String)

    The software platform. E.g. iOS, Android

  • :platform_ver (String)

    Software platform version.

Returns:

  • (Hash)

    Has unique device API key. Required for many other calls.



37
38
39
40
41
42
43
44
45
46
# File 'lib/five_mobile_push/device.rb', line 37

def register(device_info, registration_data=nil)
  options = {
    :device_id   => @device_uid,
    :device_info => MultiJson.encode(device_info)
  }

  options[:reg_data] = registration_data unless registration_data.nil?
  response = @client.post 'device/register', options
  MultiJson.decode(response.body)
end

#resumeObject



48
49
50
# File 'lib/five_mobile_push/device.rb', line 48

def resume
  @client.post 'device/resume', :id_type => FiveMobilePush::DEFAULT_ID_TYPE, :id_value => @device_uid
end

#suspendObject



52
53
54
# File 'lib/five_mobile_push/device.rb', line 52

def suspend
  @client.post 'device/suspend', :id_type => FiveMobilePush::DEFAULT_ID_TYPE, :id_value => @device_uid
end

#unregisterObject



56
57
58
# File 'lib/five_mobile_push/device.rb', line 56

def unregister
  @client.post 'device/unregister', :id_type => FiveMobilePush::DEFAULT_ID_TYPE, :id_value => @device_uid
end