IMA SDK ช่วยให้การผสานรวมโฆษณามัลติมีเดียในเว็บไซต์และแอปของคุณทำได้โดยง่าย IMA SDK สามารถ ส่งคำขอโฆษณาจาก เซิร์ฟเวอร์โฆษณาที่ปฏิบัติตามข้อกำหนดของ VAST และจัดการการเล่นโฆษณาในแอปของคุณ ด้วย IMA DAI SDK แอปจะสร้าง คำขอสตรีมสำหรับโฆษณาและวิดีโอเนื้อหา ไม่ว่าจะเป็น VOD หรือเนื้อหาสด จากนั้น SDK จะแสดงผลลัพธ์ สตรีมวิดีโอแบบรวม คุณจึงไม่ต้องคอยจัดการสลับเปลี่ยนระหว่างโฆษณากับเนื้อหาวิดีโอ ภายในแอป
เลือกโซลูชัน DAI ที่คุณสนใจ
DAI ที่แสดงในพ็อด
IMA SDK ช่วยให้การผสานรวมโฆษณามัลติมีเดียในเว็บไซต์และแอปของคุณทำได้โดยง่าย IMA SDK สามารถ ส่งคำขอโฆษณาจาก เซิร์ฟเวอร์โฆษณาที่ปฏิบัติตามข้อกำหนดของ VAST และจัดการการเล่นโฆษณาในแอปของคุณ ด้วย IMA DAI SDK แอปจะสร้าง คำขอสตรีมสำหรับโฆษณาและวิดีโอเนื้อหา ไม่ว่าจะเป็น VOD หรือเนื้อหาสด จากนั้น SDK จะแสดงผลลัพธ์ สตรีมวิดีโอแบบรวม คุณจึงไม่ต้องคอยจัดการสลับเปลี่ยนระหว่างโฆษณากับเนื้อหาวิดีโอ ภายในแอป
คู่มือนี้แสดงวิธีเล่นสตรีมการแสดงพ็อด DAI โดยใช้ 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 หากคุณยังไม่มีแอปดังกล่าว เราขอแนะนำให้ใช้ DAI ของ Android 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
Android DAI BasicExample ออกแบบมาเพื่อเล่นสตรีมที่หลากหลาย แต่สำหรับการแสดงพ็อด ระบบจะตั้งค่าให้เล่นเพียงสตรีมเดียว เปลี่ยนส่วนตัวแปรของตัวอย่างให้ตรงกับข้อมูลต่อไปนี้
/** 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()
เพื่อโทร
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 ของสตรีมและ 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