struct NotificationTrait
This trait allows sending notifications as actions to structure members and is only for use with the Automation API. Household members must have the Google Home app installed.
-
The trait identifier.
Declaration
Swift
static let identifier: String
-
List of all event types on the given Trait.
Currently, only
MatterTrait
traits support any events, but this will likely expand to other traits in the future.Declaration
Swift
static let supportedEventTypes: [any Event.Type]
-
List of all commands supported by the Trait’s definition. The commands supported by a specific Trait instance may vary.
Declaration
Swift
static var supportedCommandTypes: [any Command.Type] { get }
-
Metadata about this
Trait
.Declaration
Swift
let metadata: TraitMetadata
-
Creates a new Trait instance using data read from the given
TraitDecoder
.Throws
HomeError.parseError
when parsing fails.Declaration
Swift
init(decoder: TraitDecoder, interactionProxy: (any InteractionProxy)?, metadata: TraitMetadata) throws
Parameters
decoder
The raw data representing this Trait.
interactionProxy
Proxy to the Interaction Client.
metadata
Metadata about this Trait.
-
Writes this object to the given
TraitEncoder
. ThrowsHomeError.encodingFailed
if the data could not be encoded.Declaration
Swift
func encode(with encoder: TraitEncoder) throws
-
Returns a Boolean value indicating whether two values are equal.
Equality is the inverse of inequality. For any values
a
andb
,a == b
implies thata != b
isfalse
.Declaration
Parameters
lhs
A value to compare.
rhs
Another value to compare.
-
Hashes the essential components of this value by feeding them into the given hasher.
Implement this method to conform to the
Hashable
protocol. The components used for hashing must be the same as the components compared in your type’s==
operator implementation. Callhasher.combine(_:)
with each of these components.Important
In your implementation of
hash(into:)
, don’t callfinalize()
on thehasher
instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.Declaration
Swift
func hash(into hasher: inout Hasher)
-
Send a notification to structure members
Declaration
Swift
func sendNotifications(title: String?, body: String?, optInMemberEmailsArray: [String]) async throws -> Google.NotificationTrait.SendNotificationsCommandResponse
Parameters
title
The title of the Google Home app notification.
body
The body of the Google Home app notification.
optInMemberEmailsArray
This is not available for use by developers. If included in the command request, the command will fail and throw an error.