Class: Google::Apis::FitnessV1::DataSource

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/fitness_v1/classes.rb,
generated/google/apis/fitness_v1/representations.rb,
generated/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

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ DataSource

Returns a new instance of DataSource



527
528
529
# File 'generated/google/apis/fitness_v1/classes.rb', line 527

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

Instance Attribute Details

#applicationGoogle::Apis::FitnessV1::Application

Corresponds to the JSON property application



451
452
453
# File 'generated/google/apis/fitness_v1/classes.rb', line 451

def application
  @application
end

#data_quality_standardArray<String>

Corresponds to the JSON property dataQualityStandard

Returns:

  • (Array<String>)


456
457
458
# File 'generated/google/apis/fitness_v1/classes.rb', line 456

def data_quality_standard
  @data_quality_standard
end

#data_stream_idString

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 comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number Finally, the developer project number is 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. Corresponds to the JSON property dataStreamId

Returns:

  • (String)


485
486
487
# File 'generated/google/apis/fitness_v1/classes.rb', line 485

def data_stream_id
  @data_stream_id
end

#data_stream_nameString

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

Returns:

  • (String)


494
495
496
# File 'generated/google/apis/fitness_v1/classes.rb', line 494

def data_stream_name
  @data_stream_name
end

#data_typeGoogle::Apis::FitnessV1::DataType

Corresponds to the JSON property dataType



499
500
501
# File 'generated/google/apis/fitness_v1/classes.rb', line 499

def data_type
  @data_type
end

#deviceGoogle::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


514
515
516
# File 'generated/google/apis/fitness_v1/classes.rb', line 514

def device
  @device
end

#nameString

An end-user visible name for this data source. Corresponds to the JSON property name

Returns:

  • (String)


519
520
521
# File 'generated/google/apis/fitness_v1/classes.rb', line 519

def name
  @name
end

#typeString

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

Returns:

  • (String)


525
526
527
# File 'generated/google/apis/fitness_v1/classes.rb', line 525

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



532
533
534
535
536
537
538
539
540
541
# File 'generated/google/apis/fitness_v1/classes.rb', line 532

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