# Advertisement

ByteArk Player SDK for Android supports advertisement playback through the Google IMA SDK following the VAST (opens new window) and VMAP standards, including Companion Ads.

# Enable in player builder

val playerBuilder = ByteArkPlayerBuilder.Builder()
  .withContext(this)
  .withControl()
  .withAds()
  .withAdTagUrl("https://example.com/vast/tag.xml")
  .build()
1
2
3
4
5
6

# Per-video ad tag

You can also set an ad tag per-video on ByteArkPlayerItem:

val playerItem = ByteArkPlayerItemBuilder.Builder()
  .withMediaId("VIDEO_ID")
  .withTitle("Big Buck Bunny")
  .withUrl("https://example.com/playlist.m3u8")
  .withAdTagUrl("https://example.com/vast/tag.xml")
  .build()
1
2
3
4
5
6

# Companion Ads

Use a container for Companion Ads next to the player:

val companionAdSlot = ByteArkPlayerFragment.createCompanionAdSlot(
  mCompanionAdsSlotContainer,
  728,
  90
)
mPlayerFragment = ByteArkPlayerFragment.createInstance(
  playerBuilder,
  mFragmentListener,
  companionAdSlot,
  // ...
)
1
2
3
4
5
6
7
8
9
10
11
12

Or use the default companion slot:

val playerBuilder = ByteArkPlayerBuilder.Builder()
  // ...
  .withDefaultCompanionAdSlot()
  .withDefaultCompanionAdSize(728, 90)
  .build()
1
2
3
4
5

# Receive ad events

override fun onAdsRequest() { }
override fun onAdsStart() { }
override fun onAdsEnd() { }
override fun onAdsComplete() { }
override fun onAdsError(errorMessage: String?) { }
1
2
3
4
5