IMA SDK'ları, multimedya reklamlarını web sitelerinize ve uygulamalarınıza entegre etmenizi kolaylaştırır. IMA SDK'ları herhangi birinden reklam iste VAST uyumlu reklam sunucusu oluşturup uygulamalarınızda reklam oynatmayı yönetin. IMA DAI SDK'larıyla, uygulamalar reklam ve içerik videosu (VOD veya canlı içerik) için akış isteği. SDK, daha sonra Böylece, reklam ve içerik videosu arasında geçiş yönetmek zorunda kalmazsınız. bir kontrol listesidir.
İlgilendiğiniz DAI çözümünü seçme
Kapsül yayınlama DAI
IMA SDK'ları, multimedya reklamlarını web sitelerinize ve uygulamalarınıza entegre etmenizi kolaylaştırır. IMA SDK'ları herhangi birinden reklam iste VAST uyumlu reklam sunucusu oluşturup uygulamalarınızda reklam oynatmayı yönetin. IMA DAI SDK'larıyla, uygulamalar reklam ve içerik videosu (VOD veya canlı içerik) için akış isteği. SDK, daha sonra Böylece, reklam ve içerik videosu arasında geçiş yönetmek zorunda kalmazsınız. bir kontrol listesidir.
Bu kılavuzda, IMA DAI kullanılarak DAI Kapsül Yayınlama akışının nasıl oynatılacağı gösterilmektedir Canlı ve VOD akış oynatma için basit bir video oynatıcıya sahip SDK. Şunu tamamlanmış bir örnek entegrasyonu görüntülemek veya izlemek istiyorsanız kapsül sunma örneği.
IMA DAI Kapsül Yayınlamaya genel bakış
StreamRequest
: Şu akış isteğini tanımlayan bir nesne: Google'ın reklam sunucuları. Aşağıdakilerden biri kullanılarak oluşturulmalıdır:ImaSdkFactory.createPodStreamRequest()
veyaImaSdkFactory.createPodVodStreamRequest()
kullanarak kapsül sunmayı etkinleştirin. Bu yöntemler bir Ağ Kodu gerektirir vecreatePodStreamRequest
ayrıca bir Özel Öğe Anahtarı ve isteğe bağlı API anahtarı. Her ikisi de isteğe bağlı başka parametreler içerir.StreamManager
: Şu öğeler arasındaki iletişimi işleyen bir nesne: izleme ping'lerini tetikleme ve IMA DAI SDK'sını kullanma gibi, Akış etkinliklerini yayıncıya yönlendirme.
Ön koşullar
Video akışlarını DAI reklamları. Böyle bir uygulamanız yoksa Android DAI Temel Örnek: bir başlangıç noktası olabilir. Temel Örnek, bu kılavuzda başvurulan kod tabanını içerir.
Uygulamanızın ID3 etkinliklerini
VideoStreamPlayerCallback.onUserTextReceived()
devam etmesi gerekir. Bu Tam hizmet DAI kod snippet'i örneğini inceleyin.
Kapsül sunma değişkenlerinizi ayarlama
Kapsül yayınlama için gereken tüm değişiklikler SampleAdsWrapper.java içinde yapılır. İlgili içeriği oluşturmak için kullanılan ilk adım sabit değişkenleri güncellemektir.
Eklenecek reklam kapsülü akış isteği sabit değerleri aşağıda verilmiştir:
STREAM_URL
: Yalnızca canlı yayınlar için kullanılır - tarafından sağlanan video akışı URL'si manifest düzenleyiciniz veya üçüncü taraf iş ortağınız aracılığıyla hazırlayın. Uygulama aktarmadan önce IMA DAI SDK'sı tarafından sağlanan akış kimliğini girmenizi gerektirir: istekte bulunabilirsiniz. Bu durumda, akış URL'si bir yer tutucu içerir."[[STREAMID]]"
(bu veri, akış kimliğiyle değiştirilir). isteğinde bulunabilirsiniz.NETWORK_CODE
: Ad Manager 360 hesabınızın ağ kodu.CUSTOM_ASSET_KEY
: Yalnızca canlı yayınlar için kullanılır: Ad Manager 360'ta kapsül yayınlama etkinliğinizi tanımlar. Bu, şunlar tarafından oluşturulabilir: manifest düzenleyiciniz veya üçüncü taraf kapsül sunma iş ortağınız.API_KEY
: Yalnızca canlı yayınlar için kullanılır: IMA DAI SDK'sından akış kimliğini almak için gereklidir.
Android DAI Temel Örneği, birçok farklı akışı oynatmak üzere tasarlanmıştır ancak kapsül yayını için yalnızca tek bir akış oynatacak şekilde ayarlanır. Örneğin değişken bölümünü aşağıdakiyle eşleşecek şekilde değiştirin:
/** 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 {
...
Kapsül yayınını etkinleştirmek için canlı veya VOD kapsül akış isteği oluşturun
Canlı yayın kapsülü yayınlama
Şu uygulamalar arasında geçiş yapmak için kullanılan buildStreamRequest()
yöntemini kaldırın:
oluşturabilirsiniz. Ardından, requestAndPlayAds()
ayarını telefonla aramak olarak değiştirin
Canlı kapsül yayınlama reklamı oluşturmak için ImaSdkFactory.createPodStreamRequest()
isteğinde bulunabilirsiniz. Son olarak, AdsLoader.requestStream()
kullanarak akış isteğinde bulunun.
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 akış kapsülü yayınlama
Şu uygulamalar arasında geçiş yapmak için kullanılan buildStreamRequest()
yöntemini kaldırın:
oluşturabilirsiniz. Ardından, requestAndPlayAds()
ayarını telefonla aramak olarak değiştirin
VOD kapsül yayınlama reklamı oluşturmak için ImaSdkFactory.createPodVodStreamRequest()
isteğinde bulunabilirsiniz. Son olarak, AdsLoader.requestStream()
kullanarak akış isteğinde bulunun.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Akış URL'sini düzenleme ve ayarlama
Canlı yayın kapsülü yayınlama
Akış kimliğini almak için StreamManager.getStreamId()
öğesini çağırın. Bu durumda,
"[[STREAMID]]"
yerine STEAM_URL
içine eklendi. Bu değişiklikten sonra
yeni yayın URL'si videoPlayer.setStreamUrl()
kullanılarak ayarlanabilir.
@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 akış kapsülü yayınlama
Akış kimliğini almak için StreamManager.getStreamId()
öğesini çağırın. Ardından,
video teknolojisi iş ortağınızın (VTP) akış URL'si. Ardından şu numarayı arayın:
StreamManager.loadThirdPartyStream()
IMA'nın akış URL'sini ve akış URL'sini ve
TVP'niz tarafından döndürülen altyazılar.
@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);
}
Kapsül yayınlama etkinleştirildiğinde IMA,
VideoStreamPlayer.loadUrl()
olduğundan şu kişilere yapılan aramaları kaldırabilirsiniz:
videoPlayer.setStreamUrl()
ve videoPlayer.play()
uzaklıkta.
İşte bu kadar. Artık aşağıdakilerle kapsül yayınlama akışında reklam istiyor ve gösteriyorsunuz: IMA DAI SDK'sı. Kullanılan diğer Android SDK örneklerini görmek için: şuraya bakın: GitHub'daki örnekler.