Interface PTChannelManagerDelegate


  • public interface PTChannelManagerDelegate
    API-Since: 16.0
    • Method Detail

      • channelManagerChannelUUIDDidBeginTransmittingFromSource

        void channelManagerChannelUUIDDidBeginTransmittingFromSource​(@NotNull
                                                                     @NotNull PTChannelManager channelManager,
                                                                     @NotNull
                                                                     @NotNull NSUUID channelUUID,
                                                                     long source)
        This method is called when the user begins pressing the Talk button in the system user interface, when a programmatic transmit start request succeeds, or transmitting began due to a hands-free accessory button press.
      • channelManagerChannelUUIDDidEndTransmittingFromSource

        void channelManagerChannelUUIDDidEndTransmittingFromSource​(@NotNull
                                                                   @NotNull PTChannelManager channelManager,
                                                                   @NotNull
                                                                   @NotNull NSUUID channelUUID,
                                                                   long source)
        This method is called when the user stops pressing the Talk button in the system user interface, when a programmatic transmit stop request succeeds, or transmitting ends due to a hands-free accessory button press.
      • channelManagerDidActivateAudioSession

        void channelManagerDidActivateAudioSession​(@NotNull
                                                   @NotNull PTChannelManager channelManager,
                                                   @NotNull
                                                   @NotNull AVAudioSession audioSession)
      • channelManagerDidDeactivateAudioSession

        void channelManagerDidDeactivateAudioSession​(@NotNull
                                                     @NotNull PTChannelManager channelManager,
                                                     @NotNull
                                                     @NotNull AVAudioSession audioSession)
      • channelManagerDidJoinChannelWithUUIDReason

        void channelManagerDidJoinChannelWithUUIDReason​(@NotNull
                                                        @NotNull PTChannelManager channelManager,
                                                        @NotNull
                                                        @NotNull NSUUID channelUUID,
                                                        long reason)
        This method is called when your channel becomes active in the system user interface
      • channelManagerDidLeaveChannelWithUUIDReason

        void channelManagerDidLeaveChannelWithUUIDReason​(@NotNull
                                                         @NotNull PTChannelManager channelManager,
                                                         @NotNull
                                                         @NotNull NSUUID channelUUID,
                                                         long reason)
        This method is called once your channel is ended
      • channelManagerFailedToBeginTransmittingInChannelWithUUIDError

        default void channelManagerFailedToBeginTransmittingInChannelWithUUIDError​(@NotNull
                                                                                   @NotNull PTChannelManager channelManager,
                                                                                   @NotNull
                                                                                   @NotNull NSUUID channelUUID,
                                                                                   @NotNull
                                                                                   @NotNull NSError error)
      • channelManagerFailedToJoinChannelWithUUIDError

        default void channelManagerFailedToJoinChannelWithUUIDError​(@NotNull
                                                                    @NotNull PTChannelManager channelManager,
                                                                    @NotNull
                                                                    @NotNull NSUUID channelUUID,
                                                                    @NotNull
                                                                    @NotNull NSError error)
      • channelManagerFailedToLeaveChannelWithUUIDError

        default void channelManagerFailedToLeaveChannelWithUUIDError​(@NotNull
                                                                     @NotNull PTChannelManager channelManager,
                                                                     @NotNull
                                                                     @NotNull NSUUID channelUUID,
                                                                     @NotNull
                                                                     @NotNull NSError error)
      • channelManagerFailedToStopTransmittingInChannelWithUUIDError

        default void channelManagerFailedToStopTransmittingInChannelWithUUIDError​(@NotNull
                                                                                  @NotNull PTChannelManager channelManager,
                                                                                  @NotNull
                                                                                  @NotNull NSUUID channelUUID,
                                                                                  @NotNull
                                                                                  @NotNull NSError error)
      • channelManagerReceivedEphemeralPushToken

        void channelManagerReceivedEphemeralPushToken​(@NotNull
                                                      @NotNull PTChannelManager channelManager,
                                                      @NotNull
                                                      @NotNull NSData pushToken)
        This method is called when your channel manager receives a push token after joining a channel. This token is ephemeral and is only valid while joined to the channel; it is invalidated when the user or a push request leave the channel. When sending pushes, the apns-topic header field must use your app’s bundle ID with .voip-ptt appended to the end
      • incomingPushResultForChannelManagerChannelUUIDPushPayload

        @NotNull
        @NotNull PTPushResult incomingPushResultForChannelManagerChannelUUIDPushPayload​(@NotNull
                                                                                        @NotNull PTChannelManager channelManager,
                                                                                        @NotNull
                                                                                        @NotNull NSUUID channelUUID,
                                                                                        @NotNull
                                                                                        @NotNull NSDictionary<java.lang.String,​?> pushPayload)
        This method is called for each incoming push. You must instantiate and return nonnil PTPushResult for each incoming push. The system will fulfill the action specified by the PTPushResult on your behalf automatically.
      • incomingServiceUpdatePushForChannelManagerChannelUUIDPushPayloadIsHighPriorityRemainingHighPriorityBudgetWithCompletionHandler

        default void incomingServiceUpdatePushForChannelManagerChannelUUIDPushPayloadIsHighPriorityRemainingHighPriorityBudgetWithCompletionHandler​(@NotNull
                                                                                                                                                    @NotNull PTChannelManager channelManager,
                                                                                                                                                    @NotNull
                                                                                                                                                    @NotNull NSUUID channelUUID,
                                                                                                                                                    @NotNull
                                                                                                                                                    @NotNull NSDictionary<java.lang.String,​?> pushPayload,
                                                                                                                                                    boolean isHighPriority,
                                                                                                                                                    long remainingHighPriorityBudget,
                                                                                                                                                    @NotNull
                                                                                                                                                    @NotNull PTChannelManagerDelegate.Block_incomingServiceUpdatePushForChannelManagerChannelUUIDPushPayloadIsHighPriorityRemainingHighPriorityBudgetWithCompletionHandler completion)
        This method is called for each incoming service update push. Use this method to extract service update data from the notification's payload and to perform the relevant task for that data. When you finish the task, execute the provided `completion` handler block to let PushToTalk know you are finished. Service Update push notifications that are sent with high priority (priority=10) are subject to a budget of six per hour. Use the `remainingHighPriorityBudget` value to monitor the number of remaining high priority push notifications available to your app. Low-priority push notifications (priority<=5) are not subject to a budget limit and should be used whenever possible. API-Since: 17.2