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 หากคุณยังไม่มีแอปดังกล่าว เราขอแนะนำให้ใช้ 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
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 ของสตรีมและคำบรรยายที่ 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