Understanding Events with the Native SDK for iOS

In this topic, you will learn about the most common events triggered and listened for by the Native SDK for iOS.

Overview

The Native SDK uses delegation to respond to user action and video playback events. The lifecycle event delegate method provides events to signal changes in playback state.

iOS frameworks

Your iOS app is a combination of custom code, the Native SDK framework and the system frameworks. These frameworks use a model-view-controller design pattern along with delegation to provide functionality for your app.

model-view-controller design pattern
model-view-controller design pattern

Common lifecycle events

This diagram shows some of the common lifecycle events and how they interact with the components in the Brightcove Player SDK for iOS.

Common lifecycle events
Common lifecycle events

Lifecycle events

You can listen for and act upon the lifecycle events from the Brightcove Player SDK for iOS. For the most current list of events along with their associated engineering notes, see the BCOVPlaybackSession.h file.

  • kBCOVPlaybackSessionLifecycleEventReady
  • kBCOVPlaybackSessionLifecycleEventFail
  • kBCOVPlaybackSessionLifecycleEventPlay
  • kBCOVPlaybackSessionLifecycleEventPause
  • kBCOVPlaybackSessionLifecycleEventPlayRequest
  • kBCOVPlaybackSessionLifecycleEventPauseRequest
  • kBCOVPlaybackSessionLifecycleEventFailedToPlayToEndTime
  • kBCOVPlaybackSessionLifecycleEventResumeBegin
  • kBCOVPlaybackSessionLifecycleEventResumeComplete
  • kBCOVPlaybackSessionLifecycleEventResumeFail
  • kBCOVPlaybackSessionLifecycleEventEnd

  • kBCOVPlaybackSessionLifecycleEventPlaybackStalled
  • kBCOVPlaybackSessionLifecycleEventPlaybackRecovered
  • kBCOVPlaybackSessionLifecycleEventPlaybackBufferEmpty
  • kBCOVPlaybackSessionLifecycleEventPlaybackLikelyToKeepUp

  • kBCOVPlaybackSessionLifecycleEventTerminate
  • kBCOVPlaybackSessionLifecycleEventStartCastSession
  • kBCOVPlaybackSessionLifecycleEventEndCastSession
  • kBCOVPlaybackSessionLifecycleEventError

  • kBCOVPlaybackSessionLifecycleEventBumperEnter
  • kBCOVPlaybackSessionLifecycleEventBumperExit
  • kBCOVPlaybackSessionLifecycleEventBumperPause
  • kBCOVPlaybackSessionLifecycleEventBumperResume
  • kBCOVPlaybackSessionLifecycleEventBumperProgress
  • kBCOVPlaybackSessionLifecycleEventBumperFailedToPlayToEndTime
  • kBCOVPlaybackSessionLifecycleEventPropertiesKeyBumperVideo
  • kBCOVPlaybackSessionLifecycleEventPropertiesKeyBumperProgress

  • kBCOVPlaybackSessionLifecycleEventAdSequenceEnter
  • kBCOVPlaybackSessionLifecycleEventAdSequenceExit
  • kBCOVPlaybackSessionLifecycleEventAdEnter
  • kBCOVPlaybackSessionLifecycleEventAdExit
  • kBCOVPlaybackSessionLifecycleEventAdProgress
  • kBCOVPlaybackSessionLifecycleEventAdPause
  • kBCOVPlaybackSessionLifecycleEventAdResume
  • kBCOVPlaybackSessionLifecycleEventAdSkipped

  • kBCOVPlaybackSessionLifecycleEventThumbnailAssetFailedToLoad
  • kBCOVPlaybackSessionEventKeyError
  • kBCOVPlaybackSessionEventKeyPreviousTime
  • kBCOVPlaybackSessionEventKeyCurrentTime
  • kBCOVPlaybackSessionEventKeyCuePoints

  • kBCOVPlaybackSessionErrorDomain
  • kBCOVPlaybackSessionErrorCodeLoadFailed
  • kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd
  • kBCOVPlaybackSessionErrorCodeNoPlayableSource
  • kBCOVPlaybackSessionErrorCodeWifiUnavailable

You now have a basic understanding of the Brightcove Player SDK for iOS. Next, you can walk through the steps of building an app which uses the Player SDK.