Class: Google::Apis::FitnessV1::DataSource
- Inherits:
-
Object
- Object
- Google::Apis::FitnessV1::DataSource
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/fitness_v1/classes.rb,
lib/google/apis/fitness_v1/representations.rb,
lib/google/apis/fitness_v1/representations.rb
Overview
Definition of a unique source of sensor data. Data sources can expose raw data coming from hardware sensors on local or companion devices. They can also expose derived data, created by transforming or merging other data sources. Multiple data sources can exist for the same data type. Every data point inserted into or read from this service has an associated data source. The data source contains enough information to uniquely identify its data, including the hardware device and the application that collected and/or transformed the data. It also holds useful metadata, such as the hardware and application versions, and the device type. Each data source produces a unique stream of data, with a unique identifier. Not all changes to data source affect the stream identifier, so that data collected by updated versions of the same application/device can still be considered to belong to the same data stream.
Instance Attribute Summary collapse
-
#application ⇒ Google::Apis::FitnessV1::Application
Information about an application which feeds sensor data into the platform.
-
#data_quality_standard ⇒ Array<String>
DO NOT POPULATE THIS FIELD.
-
#data_stream_id ⇒ String
A unique identifier for the data stream produced by this data source.
-
#data_stream_name ⇒ String
The stream name uniquely identifies this particular data source among other data sources of the same type from the same underlying producer.
-
#data_type ⇒ Google::Apis::FitnessV1::DataType
The data type defines the schema for a stream of data being collected by, inserted into, or queried from the Fitness API.
-
#device ⇒ Google::Apis::FitnessV1::Device
Representation of an integrated device (such as a phone or a wearable) that can hold sensors.
-
#name ⇒ String
An end-user visible name for this data source.
-
#type ⇒ String
A constant describing the type of this data source.
Instance Method Summary collapse
-
#initialize(**args) ⇒ DataSource
constructor
A new instance of DataSource.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ DataSource
Returns a new instance of DataSource.
531 532 533 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 531 def initialize(**args) update!(**args) end |
Instance Attribute Details
#application ⇒ Google::Apis::FitnessV1::Application
Information about an application which feeds sensor data into the platform.
Corresponds to the JSON property application
456 457 458 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 456 def application @application end |
#data_quality_standard ⇒ Array<String>
DO NOT POPULATE THIS FIELD. It is never populated in responses from the
platform, and is ignored in queries. It will be removed in a future version
entirely.
Corresponds to the JSON property dataQualityStandard
463 464 465 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 463 def data_quality_standard @data_quality_standard end |
#data_stream_id ⇒ String
A unique identifier for the data stream produced by this data source. The
identifier includes: - The physical device's manufacturer, model, and serial
number (UID). - The application's package name or name. Package name is used
when the data source was created by an Android application. The developer
project number is used when the data source was created by a REST client. -
The data source's type. - The data source's stream name. Note that not all
attributes of the data source are used as part of the stream identifier. In
particular, the version of the hardware/the application isn't used. This
allows us to preserve the same stream through version updates. This also means
that two DataSource objects may represent the same data stream even if they're
not equal. The exact format of the data stream ID created by an Android
application is: type:dataType.name:application.packageName:device.manufacturer:
device.model:device.uid:dataStreamName The exact format of the data stream ID
created by a REST client is: type:dataType.name:developer project number:
device.manufacturer:device.model:device.uid:dataStreamName When any of the
optional fields that make up the data stream ID are absent, they will be
omitted from the data stream ID. The minimum viable data stream ID would be:
type:dataType.name:developer project number Finally, the developer project
number and device UID are obfuscated when read by any REST or Android client
that did not create the data source. Only the data source creator will see the
developer project number in clear and normal form. This means a client will
see a different set of data_stream_ids than another client with different
credentials.
Corresponds to the JSON property dataStreamId
490 491 492 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 490 def data_stream_id @data_stream_id end |
#data_stream_name ⇒ String
The stream name uniquely identifies this particular data source among other
data sources of the same type from the same underlying producer. Setting the
stream name is optional, but should be done whenever an application exposes
two streams for the same data type, or when a device has two equivalent
sensors.
Corresponds to the JSON property dataStreamName
499 500 501 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 499 def data_stream_name @data_stream_name end |
#data_type ⇒ Google::Apis::FitnessV1::DataType
The data type defines the schema for a stream of data being collected by,
inserted into, or queried from the Fitness API.
Corresponds to the JSON property dataType
505 506 507 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 505 def data_type @data_type end |
#device ⇒ Google::Apis::FitnessV1::Device
Representation of an integrated device (such as a phone or a wearable) that
can hold sensors. Each sensor is exposed as a data source. The main purpose of
the device information contained in this class is to identify the hardware of
a particular data source. This can be useful in different ways, including: -
Distinguishing two similar sensors on different devices (the step counter on
two nexus 5 phones, for instance) - Display the source of data to the user (by
using the device make / model) - Treat data differently depending on sensor
type (accelerometers on a watch may give different patterns than those on a
phone) - Build different analysis models for each device/version.
Corresponds to the JSON property device
518 519 520 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 518 def device @device end |
#name ⇒ String
An end-user visible name for this data source.
Corresponds to the JSON property name
523 524 525 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 523 def name @name end |
#type ⇒ String
A constant describing the type of this data source. Indicates whether this
data source produces raw or derived data.
Corresponds to the JSON property type
529 530 531 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 529 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
536 537 538 539 540 541 542 543 544 545 |
# File 'lib/google/apis/fitness_v1/classes.rb', line 536 def update!(**args) @application = args[:application] if args.key?(:application) @data_quality_standard = args[:data_quality_standard] if args.key?(:data_quality_standard) @data_stream_id = args[:data_stream_id] if args.key?(:data_stream_id) @data_stream_name = args[:data_stream_name] if args.key?(:data_stream_name) @data_type = args[:data_type] if args.key?(:data_type) @device = args[:device] if args.key?(:device) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end |