![](https://developers.google.cn/static/ad-manager/dynamic-ad-insertion/images/dai-fullservice.png?authuser=0000)
Full service DAI
Full service Dynamic Ad Insertion (DAI) is Google's end-to-end implementation of server-side ad insertion (SSAI). It allows publishers to provide a content stream in either HLS or MPEG DASH format, and Google's DAI servers will select and insert appropriate advertisements into the stream, before presenting it to the user.
![](https://developers.google.cn/static/ad-manager/dynamic-ad-insertion/images/dai-fullservice-sdk.png?authuser=0000)
With the IMA DAI SDK
- The web page or app loads the IMA DAI SDK through:
- an embedded script tag for HTML5
- a native app for Android, Google Cast, iOS, tvOS, or Roku
- The SDK requests either a VOD stream or live stream from Google Ad Manager 360.
- Ad Manager 360 responds with the video stream that includes inserted ad breaks.
- The SDK parses the response, determines the correct media type based on environment, and delivers the video stream (and companion ads if needed) to the web page or app.
- The video player negotiates the playback details with the SDK and plays the content.
- The video player listens for instream metadata and passes it to the SDK for processing.
- The SDK fires impression pings and tracking events as needed.
For detailed instructions on how to implement a client video player using the IMA DAI SDK, check out our SDK guides:
![](https://developers.google.cn/static/ad-manager/dynamic-ad-insertion/images/dai-fullservice-api.png?authuser=0000)
With the DAI API
- The client's player app requests either a VOD stream or live stream from Google Ad Manager 360.
- Ad Manager 360 responds with the video stream that includes inserted ad breaks.
- The client's player app begins playback of the stream, and either requests ad metadata once (for VOD streams) OR begins regularly polling for ad metadata (for live streams).
- The client's player app listens for instream metadata, parses it, and compares it to the values in the ad metadata to identify ad events.
- The client's video player app fires ad impression pings and tracking events as needed.
For detailed instructions on how to implement a client video player, using the DAI REST API, check out our API guides: