<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PushToTalk",
  "identifier" : "/documentation/PushToTalk/PTPushResult",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Push to Talk"
    ],
    "preciseIdentifier" : "c:objc(cs)PTPushResult"
  },
  "title" : "PTPushResult"
}
-->

# PTPushResult

An object that represents a push result.

```
class PTPushResult
```

## Overview

When an app receives an Apple Push Notification service payload, return a [`PTPushResult`](/documentation/PushToTalk/PTPushResult) object as part of the delegate method. Use [`activeRemoteParticipant(_:)`](/documentation/PushToTalk/PTPushResult/activeRemoteParticipant(_:)) to show the latest participant information in the system user interface. Create a push result with [`leaveChannel`](/documentation/PushToTalk/PTPushResult/leaveChannel) to remove a user from the channel.

```swift
func incomingPushResult(channelManager: PTChannelManager,
                        channelUUID: UUID,
                        pushPayload: [String: Any]) -> PTPushResult {
    guard let activeSpeaker = pushPayload["activeSpeaker"] as? String else {
        // Report that there's no active speaker, so leave the channel.
        return .leaveChannel
    }

    let activeSpeakerImage = // Get the cached image for the active speaker.
    let participant = PTParticipant(name: activeSpeaker,
                                    image: activeSpeakerImage)
    // Report the active participant information to the system.
    return .activeRemoteParticipant(participant)
}
```

## Topics

### Updating the active participant

[`class func activeRemoteParticipant(PTParticipant) -> PTPushResult`](/documentation/PushToTalk/PTPushResult/activeRemoteParticipant(_:))

Creates a push result for reporting that a remote participant started to speak.

### Leaving the channel

[`class var leaveChannel: PTPushResult`](/documentation/PushToTalk/PTPushResult/leaveChannel)

Creates a push result for leaving a channel.

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)