# GoogleInteractiveMediaAds Framework Reference

# IMAAdsManagerDelegate

    @protocol IMAAdsManagerDelegate

A callback protocol for IMAAdsManager.
- `


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


  ` Called when there is an IMAAdEvent.

  #### Declaration

  Swift

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

  Objective-C

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

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager receiving the event |
  | ` event ` | the IMAAdEvent received |

- `


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


  ` Called when there was an error playing the ad.
  Log the error and resume playing content.

  #### Declaration

  Swift

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

  Objective-C

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

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager that errored |
  | ` error ` | the IMAAdError received |

- `


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


  ` Called when an ad is ready to play.
  The implementing code should pause the content playback and prepare the UI
  for ad playback.

  #### Declaration

  Swift

      func adsManagerDidRequestContentPause(_ adsManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html)

  Objective-C

      - (void)adsManagerDidRequestContentPause:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html *)adsManager;

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager requesting content pause |

- `


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


  ` Called when an ad has finished or an error occurred during the playback.
  The implementing code should resume the content playback.

  #### Declaration

  Swift

      func adsManagerDidRequestContentResume(_ adsManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html)

  Objective-C

      - (void)adsManagerDidRequestContentResume:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html *)adsManager;

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager requesting content resume |

- `


  ### [-adsManager:adDidProgressToTime:totalTime:](https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Protocols/IMAAdsManagerDelegate#/c:objc(pl)IMAAdsManagerDelegate(im)adsManager:adDidProgressToTime:totalTime:)


  ` Called every 200ms to provide time updates for the current ad.

  #### Declaration

  Swift

      optional func adsManager(_ adsManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html, adDidProgressToTime mediaTime: TimeInterval, totalTime: TimeInterval)

  Objective-C

      - (void)adsManager:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html *)adsManager
          adDidProgressToTime:(NSTimeInterval)mediaTime
                    totalTime:(NSTimeInterval)totalTime;

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager tracking ad playback |
  | ` mediaTime ` | the current media time in seconds |
  | ` totalTime ` | the total media length in seconds |

- `


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


  ` Called when the current ad is sufficiently buffered and playback is likely
  to keep up.

  #### Declaration

  Swift

      optional func adsManagerAdPlaybackReady(_ adsManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html)

  Objective-C

      - (void)adsManagerAdPlaybackReady:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html *)adsManager;

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager with ad playback ready |

- `


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


  ` Called when the current ad media buffer is empty and playback did stall.

  #### Declaration

  Swift

      optional func adsManagerAdDidStartBuffering(_ adsManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html)

  Objective-C

      - (void)adsManagerAdDidStartBuffering:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html *)adsManager;

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager tracking the stalled ad |

- `


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


  ` Called as the current ad media buffers.

  #### Declaration

  Swift

      optional func adsManager(_ adsManager: https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html, adDidBufferToMediaTime mediaTime: TimeInterval)

  Objective-C

      - (void)adsManager:(nonnull https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMAAdsManager.html *)adsManager
          adDidBufferToMediaTime:(NSTimeInterval)mediaTime;

  #### Parameters

  |---|---|
  | ` adsManager ` | the IMAAdsManager tracking the ad's media buffer |
  | ` mediaTime ` | the current buffered media time in seconds |