# GoogleInteractiveMediaAds Framework Reference

# IMAStreamManagerDelegate

    @protocol IMAStreamManagerDelegate

A callback protocol for IMAStreamManager.
- `


  ### [-streamManager:didReceiveAdEvent:](https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Protocols/IMAStreamManagerDelegate#/c:objc(pl)IMAStreamManagerDelegate(im)streamManager:didReceiveAdEvent:)


  ` Called when there is an IMAAdEvent.

  #### Declaration

  Swift

      func streamManager(_ streamManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAStreamManager.html, didReceive event: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdEvent.html)

  Objective-C

      - (void)streamManager:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAStreamManager.html *)streamManager
          didReceiveAdEvent:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdEvent.html *)event;

  #### Parameters

  |---|---|
  | ` streamManager ` | the IMAStreamManager receiving the event |
  | ` event ` | the IMAAdEvent received |

- `


  ### [-streamManager:didReceiveAdError:](https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Protocols/IMAStreamManagerDelegate#/c:objc(pl)IMAStreamManagerDelegate(im)streamManager:didReceiveAdError:)


  ` Called when there is an IMAAdEvent.

  #### Declaration

  Swift

      func streamManager(_ streamManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAStreamManager.html, didReceive error: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdError.html)

  Objective-C

      - (void)streamManager:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAStreamManager.html *)streamManager
          didReceiveAdError:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdError.html *)error;

  #### Parameters

  |---|---|
  | ` streamManager ` | the IMAStreamManager receiving the error |
  | ` error ` | the IMAAdError received |

- `


  ### [-streamManager:adDidProgressToTime:adDuration:adPosition:totalAds:adBreakDuration:adPeriodDuration:](https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Protocols/IMAStreamManagerDelegate#/c:objc(pl)IMAStreamManagerDelegate(im)streamManager:adDidProgressToTime:adDuration:adPosition:totalAds:adBreakDuration:adPeriodDuration:)


  ` Called when the ad is playing to give updates about ad progress.

  #### Declaration

  Swift

      optional func streamManager(_ streamManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAStreamManager.html, adDidProgressToTime time: TimeInterval, adDuration: TimeInterval, adPosition: Int, totalAds: Int, adBreakDuration: TimeInterval, adPeriodDuration: TimeInterval)

  Objective-C

      - (void)streamManager:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAStreamManager.html *)streamManager
          adDidProgressToTime:(NSTimeInterval)time
                   adDuration:(NSTimeInterval)adDuration
                   adPosition:(NSInteger)adPosition
                     totalAds:(NSInteger)totalAds
              adBreakDuration:(NSTimeInterval)adBreakDuration
             adPeriodDuration:(NSTimeInterval)adPeriodDuration;

  #### Parameters

  |---|---|
  | ` streamManager ` | the IMAStreamManager tracking ad playback |
  | ` time ` | the current ad playback time in seconds |
  | ` adDuration ` | the total duration of the current ad in seconds |
  | ` adPosition ` | the ad position of the current ad in the current ad break |
  | ` totalAds ` | the total number of ads in the current ad break |
  | ` adBreakDuration ` | the total duration of the current ad break in seconds |
  | ` adPeriodDuration ` | the total duration of the current ad period in seconds. This includes ads duration plus slate. |