Class: Google::Apis::ProximitybeaconV1beta1::Beacon

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/proximitybeacon_v1beta1/classes.rb,
generated/google/apis/proximitybeacon_v1beta1/representations.rb,
generated/google/apis/proximitybeacon_v1beta1/representations.rb

Overview

Details of a beacon device.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Beacon

Returns a new instance of Beacon



751
752
753
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 751

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#advertised_idGoogle::Apis::ProximitybeaconV1beta1::AdvertisedId

Defines a unique identifier of a beacon as broadcast by the device. Corresponds to the JSON property advertisedId



651
652
653
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 651

def advertised_id
  @advertised_id
end

#beacon_nameString

Resource name of this beacon. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are 3 for Eddystone, 1 for iBeacon, or 5 for AltBeacon. This field must be left empty when registering. After reading a beacon, clients can use the name for future operations. Corresponds to the JSON property beaconName

Returns:

  • (String)


639
640
641
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 639

def beacon_name
  @beacon_name
end

#descriptionString

Free text used to identify and describe the beacon. Maximum length 140 characters. Optional. Corresponds to the JSON property description

Returns:

  • (String)


742
743
744
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 742

def description
  @description
end

#ephemeral_id_registrationGoogle::Apis::ProximitybeaconV1beta1::EphemeralIdRegistration

Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported:

  1. Perform an ECDH key exchange via this API, including a previous call to GET /v1beta1/eidparams. In this case the fields beacon_ecdh_public_key and service_ecdh_public_key should be populated and beacon_identity_key should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them.
  2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case beacon_identity_key field should be populated, and neither of beacon_ecdh_public_key nor service_ecdh_public_key fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See the Eddystone specification at GitHub. Corresponds to the JSON property ephemeralIdRegistration


688
689
690
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 688

def ephemeral_id_registration
  @ephemeral_id_registration
end

#expected_stabilityString

Expected location stability. This is set when the beacon is registered or updated, not automatically detected in any way. Optional. Corresponds to the JSON property expectedStability

Returns:

  • (String)


646
647
648
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 646

def expected_stability
  @expected_stability
end

#indoor_levelGoogle::Apis::ProximitybeaconV1beta1::IndoorLevel

Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. Corresponds to the JSON property indoorLevel



629
630
631
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 629

def indoor_level
  @indoor_level
end

#lat_lngGoogle::Apis::ProximitybeaconV1beta1::LatLng

An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r <= 90.0: return r, NormalizeLongitude(longitude) elif r >= 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) Corresponds to the JSON property latLng



727
728
729
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 727

def lat_lng
  @lat_lng
end

#place_idString

The Google Places API Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. Corresponds to the JSON property placeId

Returns:

  • (String)


735
736
737
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 735

def place_id
  @place_id
end

#propertiesHash<String,String>

Properties of the beacon device, for example battery type or firmware version. Optional. Corresponds to the JSON property properties

Returns:

  • (Hash<String,String>)


749
750
751
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 749

def properties
  @properties
end

#provisioning_keyString

Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to GET /v1beta1/beacons/3!beaconId from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. Corresponds to the JSON property provisioningKey NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


664
665
666
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 664

def provisioning_key
  @provisioning_key
end

#statusString

Current status of the beacon. Required. Corresponds to the JSON property status

Returns:

  • (String)


623
624
625
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 623

def status
  @status
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



756
757
758
759
760
761
762
763
764
765
766
767
768
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 756

def update!(**args)
  @status = args[:status] if args.key?(:status)
  @indoor_level = args[:indoor_level] if args.key?(:indoor_level)
  @beacon_name = args[:beacon_name] if args.key?(:beacon_name)
  @expected_stability = args[:expected_stability] if args.key?(:expected_stability)
  @advertised_id = args[:advertised_id] if args.key?(:advertised_id)
  @provisioning_key = args[:provisioning_key] if args.key?(:provisioning_key)
  @ephemeral_id_registration = args[:ephemeral_id_registration] if args.key?(:ephemeral_id_registration)
  @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
  @place_id = args[:place_id] if args.key?(:place_id)
  @description = args[:description] if args.key?(:description)
  @properties = args[:properties] if args.key?(:properties)
end