Class: Google::Apis::ProximitybeaconV1beta1::Beacon
- Inherits:
-
Object
- Object
- Google::Apis::ProximitybeaconV1beta1::Beacon
- 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
-
#advertised_id ⇒ Google::Apis::ProximitybeaconV1beta1::AdvertisedId
Defines a unique identifier of a beacon as broadcast by the device.
-
#beacon_name ⇒ String
Resource name of this beacon.
-
#description ⇒ String
Free text used to identify and describe the beacon.
-
#ephemeral_id_registration ⇒ Google::Apis::ProximitybeaconV1beta1::EphemeralIdRegistration
Write-only registration parameters for beacons using Eddystone-EID format.
-
#expected_stability ⇒ String
Expected location stability.
-
#indoor_level ⇒ Google::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.
-
#lat_lng ⇒ Google::Apis::ProximitybeaconV1beta1::LatLng
An object representing a latitude/longitude pair.
-
#place_id ⇒ String
The Google Places API Place ID of the place where the beacon is deployed.
-
#properties ⇒ Hash<String,String>
Properties of the beacon device, for example battery type or firmware version.
-
#provisioning_key ⇒ String
Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power).
-
#status ⇒ String
Current status of the beacon.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Beacon
constructor
A new instance of Beacon.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Beacon
Returns a new instance of Beacon
223 224 225 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 223 def initialize(**args) update!(**args) end |
Instance Attribute Details
#advertised_id ⇒ Google::Apis::ProximitybeaconV1beta1::AdvertisedId
Defines a unique identifier of a beacon as broadcast by the device.
Corresponds to the JSON property advertisedId
94 95 96 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 94 def advertised_id @advertised_id end |
#beacon_name ⇒ String
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
104 105 106 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 104 def beacon_name @beacon_name end |
#description ⇒ String
Free text used to identify and describe the beacon. Maximum length 140
characters.
Optional.
Corresponds to the JSON property description
111 112 113 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 111 def description @description end |
#ephemeral_id_registration ⇒ Google::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:
- Perform an ECDH key exchange via this API, including a previous call
to
GET /v1beta1/eidparams
. In this case the fieldsbeacon_ecdh_public_key
andservice_ecdh_public_key
should be populated andbeacon_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. - 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 ofbeacon_ecdh_public_key
norservice_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 propertyephemeralIdRegistration
135 136 137 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 135 def ephemeral_id_registration @ephemeral_id_registration end |
#expected_stability ⇒ String
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
142 143 144 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 142 def expected_stability @expected_stability end |
#indoor_level ⇒ Google::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
148 149 150 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 148 def indoor_level @indoor_level end |
#lat_lng ⇒ Google::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
187 188 189 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 187 def lat_lng @lat_lng end |
#place_id ⇒ String
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
195 196 197 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 195 def place_id @place_id end |
#properties ⇒ Hash<String,String>
Properties of the beacon device, for example battery type or firmware
version.
Optional.
Corresponds to the JSON property properties
202 203 204 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 202 def properties @properties end |
#provisioning_key ⇒ String
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.
215 216 217 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 215 def provisioning_key @provisioning_key end |
#status ⇒ String
Current status of the beacon.
Required.
Corresponds to the JSON property status
221 222 223 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 221 def status @status end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
228 229 230 231 232 233 234 235 236 237 238 239 240 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 228 def update!(**args) @advertised_id = args[:advertised_id] if args.key?(:advertised_id) @beacon_name = args[:beacon_name] if args.key?(:beacon_name) @description = args[:description] if args.key?(:description) @ephemeral_id_registration = args[:ephemeral_id_registration] if args.key?(:ephemeral_id_registration) @expected_stability = args[:expected_stability] if args.key?(:expected_stability) @indoor_level = args[:indoor_level] if args.key?(:indoor_level) @lat_lng = args[:lat_lng] if args.key?(:lat_lng) @place_id = args[:place_id] if args.key?(:place_id) @properties = args[:properties] if args.key?(:properties) @provisioning_key = args[:provisioning_key] if args.key?(:provisioning_key) @status = args[:status] if args.key?(:status) end |