IMA SDK を使用すると、ウェブサイトやアプリにマルチメディア広告を簡単に統合できます。IMA SDK は 任意のネットワークから広告をリクエストし、 <ph type="x-smartling-placeholder"></ph> VAST 準拠の広告サーバーを実装し、アプリでの広告再生を管理できます。IMA DAI SDK を使用すると、 広告およびコンテンツ動画(VOD またはライブ コンテンツ)のストリーム リクエスト。すると、SDK は 統合動画ストリームであるため、広告とコンテンツ動画の切り替えを管理する手間が省けます。 確認できます。
ご希望の DAI ソリューションを選択する
連続広告配信 DAI
IMA SDK を使用すると、ウェブサイトやアプリにマルチメディア広告を簡単に統合できます。IMA SDK は 任意のネットワークから広告をリクエストし、 <ph type="x-smartling-placeholder"></ph> VAST 準拠の広告サーバーを実装し、アプリでの広告再生を管理できます。IMA DAI SDK を使用すると、 広告およびコンテンツ動画(VOD またはライブ コンテンツ)のストリーム リクエスト。すると、SDK は 統合動画ストリームであるため、広告とコンテンツ動画の切り替えを管理する手間が省けます。 確認できます。
このガイドでは、IMA DAI を使用して DAI Pod Serving ストリームを再生する方法について説明します。 ライブ ストリームと VOD ストリーム再生用のシンプルな動画プレーヤーを備えた SDK。もし 完成したサンプル統合を表示または参照できます。 連続配信広告の例
IMA DAI 連続配信広告の概要
StreamRequest
: ストリーミング リクエストを定義するオブジェクト。 Google の広告サーバー。次のいずれかを使用して作成する必要があります。ImaSdkFactory.createPodStreamRequest()
またはImaSdkFactory.createPodVodStreamRequest()
有効にする必要がありますこれらのメソッドにはネットワーク コードが必要です。createPodStreamRequest
にはカスタム アセットキーも必要です。 オプションの API キー。どちらにも他のオプション パラメータが含まれています。StreamManager
: 動画ストリームと IMA DAI SDK(トラッキング ping の発行や ストリーム イベントをパブリッシャーに転送できます。
前提条件
IMA DAI SDK がセットアップされた Android アプリで、 DAI 広告該当するアプリがない場合は、 Android ダイナミック広告挿入 BasicExample を 出発点になります。BasicExample には、このガイドで参照されているコードベースがあります。
アプリでは、次のコマンドを使用して ID3 イベントを送信することが重要です。
VideoStreamPlayerCallback.onUserTextReceived()
必要がありますこちらのフルサービスの DAI コード スニペットの例をご覧ください。
連続配信広告の変数を設定する
連続配信広告の配信に必要なすべての変更は、SampleAdsWrapper.java で行われます。「 最初のステップは定数変数の更新です
追加する連続配信広告のストリーム リクエスト定数は次のとおりです。
STREAM_URL
: ライブ配信でのみ使用 - 連続配信広告を使って マニフェストマニピュレータやパートナー事業者が本来は IMA DAI SDK で提供されるストリーム ID を挿入してから、 リクエストできます。ストリーム URL にはプレースホルダが含まれており、"[[STREAMID]]"
は、ストリーム ID に置き換えてから、 リクエストできます。NETWORK_CODE
: アド マネージャー 360 アカウントのネットワーク コード。CUSTOM_ASSET_KEY
: ライブ配信でのみ使用される - カスタム アセットキー はアド マネージャー 360 で連続配信広告の配信イベントを識別します。これを作成するには、 サードパーティの連続配信広告パートナーに依頼する必要はありませんAPI_KEY
: ライブ配信でのみ使用 - 使用可能なオプションの API キー IMA DAI SDK からストリーム ID を取得するために必要です。
Android DAI BasicExample はさまざまなストリームを再生するように設計されています 連続配信広告の場合は 単一のストリームを再生するだけです この例の variable セクションを次のように変更します。
/** 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()
を呼び出してストリーム ID を取得します。これを次のようにする必要があります。
STEAM_URL
に挿入され、"[[STREAMID]]"
が置き換えられました。変更後は
作成したら、videoPlayer.setStreamUrl()
を使用して新しいストリーム URL を設定できます。
@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()
を呼び出してストリーム ID を取得します。次に、
ストリーム URL を送信します。次に呼び出します
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 のその他の使用例については、 CANNOT TRANSLATE GitHub のサンプルをご覧ください。