groups:
  - id: registry.device
    prefix: device
    type: attribute_group
    brief: >
        Describes device attributes.
    attributes:
      - id: id
        type: string
        stability: experimental
        brief: >
          A unique identifier representing the device
        note: >
          The device identifier MUST only be defined using the values outlined below. This value is not an advertising
          identifier and MUST NOT be used as such.
          On iOS (Swift or Objective-C), this value MUST be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor).
          On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique
          UUID which is persisted across sessions in your application. More information can be found [here](https://developer.android.com/training/articles/user-data-ids)
          on best practices and exact implementation details.
          Caution should be taken when storing personal data or anything which can identify a user. GDPR and
          data protection laws may apply, ensure you do your own due diligence.
        examples: ['2ab2916d-a51f-4ac8-80ee-45ac31a28092']
      - id: manufacturer
        type: string
        stability: experimental
        brief: >
          The name of the device manufacturer
        note: >
          The Android OS provides this field via [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER).
          iOS apps SHOULD hardcode the value `Apple`.
        examples: ['Apple', 'Samsung']
      - id: model.identifier
        type: string
        stability: experimental
        brief: >
          The model identifier for the device
        note: >
          It's recommended this value represents a machine-readable version of
          the model identifier rather than the market or consumer-friendly name
          of the device.
        examples: ['iPhone3,4', 'SM-G920F']
      - id: model.name
        type: string
        stability: experimental
        brief: >
          The marketing name for the device model
        note: >
          It's recommended this value represents a human-readable version of the
          device model rather than a machine-readable alternative.
        examples: ['iPhone 6s Plus', 'Samsung Galaxy S6']
