IMA SDK ช่วยให้ผสานรวมโฆษณามัลติมีเดียลงในเว็บไซต์และแอปได้อย่างง่ายดาย IMA SDK สามารถ ส่งคำขอโฆษณาจาก เซิร์ฟเวอร์โฆษณาที่ปฏิบัติตามข้อกำหนดของ VAST และจัดการการเล่นโฆษณาในแอปของคุณ เมื่อใช้ IMA DAI SDK แอปจะส่งคําขอสตรีมสําหรับโฆษณาและวิดีโอเนื้อหา ไม่ว่าจะเป็น VOD หรือเนื้อหาสด จากนั้น SDK จะแสดงผลสตรีมวิดีโอแบบรวม คุณจึงไม่ต้องจัดการการสลับระหว่างวิดีโอโฆษณากับวิดีโอเนื้อหาภายในแอป
เลือกโซลูชัน DAI ที่คุณสนใจ
DAI ที่แสดงในพ็อด
IMA SDK ช่วยให้การผสานรวมโฆษณามัลติมีเดียในเว็บไซต์และแอปของคุณทำได้โดยง่าย IMA SDK สามารถ ส่งคำขอโฆษณาจาก เซิร์ฟเวอร์โฆษณาที่ปฏิบัติตามข้อกำหนดของ VAST และจัดการการเล่นโฆษณาในแอปของคุณ เมื่อใช้ IMA DAI SDK แอปจะส่งคําขอสตรีมสําหรับโฆษณาและวิดีโอเนื้อหา ไม่ว่าจะเป็น VOD หรือเนื้อหาสด จากนั้น SDK จะแสดงผลสตรีมวิดีโอแบบรวม คุณจึงไม่ต้องจัดการการสลับระหว่างวิดีโอโฆษณากับวิดีโอเนื้อหาภายในแอป
คู่มือนี้แสดงวิธีเล่นสตรีม DAI Pod Serving โดยใช้ IMA DAI SDK กับโปรแกรมเล่นวิดีโอแบบง่ายสำหรับการเล่นสตรีมแบบสดและ VOD หากคุณ หากต้องการดูหรือติดตามตัวอย่างการผสานรวมที่สมบูรณ์ ให้ดาวน์โหลด ตัวอย่างการแสดงพ็อด
ภาพรวมการแสดงพ็อด IMA DAI
StreamRequest
: ออบเจ็กต์ที่กำหนดคำขอสตรีมให้กับ เซิร์ฟเวอร์โฆษณาของ Google ต้องสร้างโดยใช้ImaSdkFactory.createPodStreamRequest()
หรือImaSdkFactory.createPodVodStreamRequest()
เพื่อเปิดใช้การแสดงพ็อด วิธีการเหล่านี้ต้องใช้รหัสเครือข่าย และcreatePodStreamRequest
ยังต้องใช้คีย์ชิ้นงานที่กำหนดเองและคีย์ API (ไม่บังคับ) ด้วย พารามิเตอร์ทั้ง 2 รายการมีพารามิเตอร์ที่ไม่บังคับอื่นๆStreamManager
: ออบเจ็กต์ที่จัดการการสื่อสารระหว่างสตรีมวิดีโอกับ IMA DAI SDK เช่น การเรียกใช้การติดตาม Ping และการส่งต่อเหตุการณ์สตรีมไปยังผู้เผยแพร่โฆษณา
ข้อกำหนดเบื้องต้น
แอป Android ที่ตั้งค่าไว้แล้วด้วย IMA DAI SDK เพื่อเล่นสตรีมวิดีโอที่มีโฆษณา DAI หากยังไม่มีแอปดังกล่าว เราขอแนะนำให้ใช้ Android DAI BasicExample เป็นจุดเริ่มต้น BasicExample มีโค้ดฐานที่อ้างอิงในคู่มือนี้
คุณต้องส่งเหตุการณ์ ID3 โดยใช้
VideoStreamPlayerCallback.onUserTextReceived()
เพื่อให้ IMA DAI ทำงานได้ โปรดดูตัวอย่างข้อมูลโค้ด DAI ของบริการเต็มรูปแบบนี้
ตั้งค่าตัวแปรการแสดงพ็อด
การเปลี่ยนแปลงทั้งหมดที่จําเป็นสําหรับการแสดงพ็อดจะทําใน SampleAdsWrapper.java ขั้นตอนแรกคือการอัปเดตตัวแปรคงที่
ค่าคงที่คำขอสตรีมพ็อดโฆษณาที่จะเพิ่มมีดังนี้
STREAM_URL
: ใช้สำหรับสตรีมแบบสดเท่านั้น - URL ของสตรีมวิดีโอที่ระบุโดย เครื่องมือจัดการไฟล์ Manifest หรือพาร์ทเนอร์บุคคลที่สามที่ใช้การแสดงพ็อด คุณควรต้องแทรกรหัสสตรีมที่ IMA DAI SDK ระบุไว้ก่อนส่งคำขอ ในกรณีนี้ URL ของสตรีมจะมีตัวยึดตำแหน่ง"[[STREAMID]]"
ซึ่งจะแทนที่ด้วยรหัสสตรีม ก่อนสร้าง อีกครั้งNETWORK_CODE
: รหัสเครือข่ายสำหรับบัญชี Ad Manager 360CUSTOM_ASSET_KEY
: ใช้กับสตรีมแบบสดเท่านั้น - คีย์ชิ้นงานที่กำหนดเองซึ่งระบุเหตุการณ์การแสดงพ็อดใน Ad Manager 360 แพลตฟอร์มนี้สามารถสร้างขึ้นได้โดย เครื่องมือจัดการไฟล์ Manifest หรือพาร์ทเนอร์ที่ให้บริการพ็อดบุคคลที่สามAPI_KEY
: ใช้กับสตรีมแบบสดเท่านั้น - คีย์ API ที่ไม่บังคับซึ่งอาจต้องใช้เพื่อดึงข้อมูลรหัสสตรีมจาก IMA DAI SDK
DAI BasicExample ของ Android ออกแบบมาเพื่อเล่นสตรีมประเภทต่างๆ แต่สำหรับการแสดงพ็อด จะมีการตั้งค่าให้เล่นเพียงสตรีมเดียว เปลี่ยนส่วนตัวแปรของตัวอย่างให้ตรงกับข้อมูลต่อไปนี้
/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {
// Podserving Stream Constants.
private static final String STREAM_URL =
"https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
"master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
"&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
"&seg-host=dai.google.com&stream_id=[[STREAMID]]";
private static final String NETWORK_CODE = "51636543";
private static final String CUSTOM_ASSET_KEY = "google-sample";
private static final String API_KEY = "";
private static final String PLAYER_TYPE = "DAISamplePlayer";
/** Log interface, so we can output the log commands to the UI or similar. */
public interface Logger {
...
สร้างคำขอสตรีมพ็อดแบบสดหรือ VOD เพื่อเปิดใช้การแสดงพ็อด
การแสดงพ็อดสตรีมแบบสด
นำเมธอด buildStreamRequest()
ออก ซึ่งใช้เพื่อสลับระหว่างการสร้างสตรีมประเภทต่างๆ จากนั้นเปลี่ยน requestAndPlayAds()
เป็น call
ImaSdkFactory.createPodStreamRequest()
เพื่อสร้างพ็อดแบบเรียลไทม์ที่แสดงคำขอโฆษณา สุดท้าย ให้ขอสตรีมโดยใช้ AdsLoader.requestStream()
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
การแสดงพ็อดสตรีม VOD
นำเมธอด buildStreamRequest()
ออก ซึ่งใช้เพื่อสลับระหว่างการสร้างสตรีมประเภทต่างๆ จากนั้นเปลี่ยน requestAndPlayAds()
เพื่อโทร
ImaSdkFactory.createPodVodStreamRequest()
เพื่อสร้างโฆษณาที่แสดงพ็อด VOD
อีกครั้ง สุดท้าย ให้ขอสตรีมโดยใช้ AdsLoader.requestStream()
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
แก้ไขและตั้งค่า URL ของสตรีม
การแสดงพ็อดสตรีมแบบสด
โทรหา StreamManager.getStreamId()
เพื่อขอรหัสสตรีม จากนั้นต้องแทรกข้อมูลนี้ลงใน STEAM_URL
โดยแทนที่ "[[STREAMID]]"
หลังจากทําการเปลี่ยนแปลงนี้แล้ว คุณจะตั้งค่า URL ของสตรีมใหม่ได้โดยใช้ videoPlayer.setStreamUrl()
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
streamManager.init();
videoPlayer.setStreamUrl(streamUrl);
videoPlayer.play();
}
การแสดงพ็อดสตรีม VOD
โทรหา StreamManager.getStreamId()
เพื่อขอรหัสสตรีม จากนั้นขอ URL สตรีมจากพาร์ทเนอร์เทคโนโลยีวิดีโอ (VTP) จากนั้นเรียกใช้ StreamManager.loadThirdPartyStream()
เพื่อให้ IMA โหลด URL สตรีมและคำบรรยายแทนเสียงที่ TVP แสดง
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
String streamUrl = vtpInterface.requestStreamURL(streamID);
streamManager.init();
// Pass any subtitles returned by your VTP in this step as well.
streamManager.loadThirdPartyStream(streamUrl, subtitles);
}
เมื่อเปิดใช้การแสดงพ็อด IMA จะไม่เรียกไปยัง
VideoStreamPlayer.loadUrl()
เพื่อให้คุณสามารถนำการโทรออกไปยัง
videoPlayer.setStreamUrl()
และ videoPlayer.play()
จากนั้น
เท่านี้ก็เรียบร้อย คุณกำลังขอและแสดงโฆษณาในสตรีมที่แสดงพ็อดด้วย IMA DAI SDK หากต้องการดูตัวอย่างอื่นๆ ของการใช้ Android SDK ให้ดูตัวอย่างใน GitHub