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
363 364 365 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 363 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
361 362 363 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 361 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
349 350 351 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 349 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
273 274 275 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 273 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
253 254 255 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 253 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
356 357 358 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 356 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
339 340 341 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 339 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
320 321 322 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 320 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
281 282 283 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 281 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
327 328 329 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 327 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.
266 267 268 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 266 def provisioning_key @provisioning_key end |
#status ⇒ String
Current status of the beacon.
Required.
Corresponds to the JSON property status
333 334 335 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 333 def status @status end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
368 369 370 371 372 373 374 375 376 377 378 379 380 |
# File 'generated/google/apis/proximitybeacon_v1beta1/classes.rb', line 368 def update!(**args) @ephemeral_id_registration = args[:ephemeral_id_registration] if args.key?(:ephemeral_id_registration) @provisioning_key = args[:provisioning_key] if args.key?(:provisioning_key) @description = args[:description] if args.key?(:description) @place_id = args[:place_id] if args.key?(:place_id) @lat_lng = args[:lat_lng] if args.key?(:lat_lng) @properties = args[:properties] if args.key?(:properties) @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) end |