# Client-Side Ad Insertion (CSAI)
นอกเหนือจากการใช้ Ad tag URL เดียว ByteArk Player SDK for Android รองรับการแสดงโฆษณาในรูปแบบ Client-Side Ad Insertion (CSAI) โดยสามารถแทรกโฆษณาในตำแหน่งเวลาที่กำหนดผ่าน ByteArkAdsInsertionSetting ซึ่งเหมาะกับ Use case ที่ต้องการ Insert โฆษณาในตำแหน่งเฉพาะเจาะจง โดยเฉพาะใน Live streaming
# การตั้งค่า
val adsInsertionSetting = ByteArkAdsInsertionSettingBuilder.Builder()
.withAdsUrl("https://example.com/vast/tag.xml")
.withDefaultKeyName("midroll")
.withDefaultOffset(30_000L) // โฆษณาเริ่มที่นาทีที่ 30 วินาที
.build()
val playerBuilder = ByteArkPlayerBuilder.Builder()
.withContext(this)
.withControl()
.withAds()
.withAdsInsertionSetting(adsInsertionSetting)
.build()
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
| Builder method | Type | Description |
|---|---|---|
withAdsUrl(adsUrl: String) | String | URL ของ Ad tag |
withDefaultKeyName(key: String) | String | Key ที่ใช้ระบุตำแหน่งโฆษณา |
withDefaultOffset(offset: Long) | Long | Offset เริ่มต้น (มิลลิวินาที) |
# ความแตกต่างจาก Advertisement (VAST/VMAP)
| รูปแบบ | คำอธิบาย |
|---|---|
| Advertisement | ใช้ Ad tag เดียวที่กำหนดผ่าน VAST/VMAP โดย Google IMA SDK จะจัดการตำแหน่งโฆษณาเอง |
| Client-Side Ad Insertion (CSAI) | กำหนด Offset เวลาเองได้อย่างยืดหยุ่น เหมาะกับ Live streaming ที่ต้องการแทรกโฆษณาในตำแหน่งเฉพาะ |