概要
v2.6.0 以降、Brightcove Player SSAI プラグインでは、シンプルな API を通じて Google の PAL SDK を利用できるようになりました。PAL SDK が有効化されている場合、プラグインは Google から SDK スクリプトを読み込み、VOD およびライブ コンテンツの広告リクエストに付加される識別子を生成するための一連のデフォルト パラメータを提供します。これらのパラメータは、プレーヤーごと、または動画ソースを設定する前の実行時にカスタマイズできます。
広告タグの設定
SSAI プラグインは、VMAP(VOD)または M3U8 マニフェスト(ライブ)へのリクエストに givn パラメータを付加します。これは、ブラウザの開発者ツールの Network タブでリクエストを確認することで確認できます。
パラメータとオプション
自動 PAL パラメータ
以下のパラメータは、Google PAL SDK が有効化されているすべてのリクエストに対して、SSAI プラグインによって設定されます。
| パラメータ名 | 自動設定値 |
|---|---|
| adWillAutoPlay | ユーザー操作を待たずに広告が自動再生される場合は true に設定されます。ユーザー操作を待ってから再生される場合は false に設定されます。 |
| adWillPlayMuted | 広告がミュート状態で再生される場合は true、ミュート解除された状態で再生される場合は false に設定されます。 |
| playerType | 'video-js' |
| playerVersion | プレーヤーのバージョン |
| url | 広告配信のターゲットとなる URL。デフォルトでは広告を表示するページと同一ですが、手動で設定することも可能です。 |
| videoWidth | 広告動画要素の横幅 |
以下の値は、Open Measurement 用の SSAI オプション の一部として設定されている場合、自動的にリクエストに含まれます。 |
| omidPartnerName | OMID 計測を統合しているパートナー名。omidPartnerName が設定されている場合にのみ設定されます。 |
| omidPartnerVersion | OMID 計測を統合しているパートナーのバージョン。omidPartnerVersion が設定されている場合にのみ設定されます。 |
オプションの PAL パラメータ:
| パラメータ名 | 自動設定値 |
|---|---|
| continuousPlayback | テレビ放送や動画プレイリストのように、プレーヤーが複数のコンテンツ動画を連続して再生する想定の場合は true に設定されます。それ以外の場合は false に設定されます。 |
| descriptionUrl | 広告が再生されるコンテンツの説明 URL。500 文字を超える説明 URL 文字列は無視され、nonce には含まれません。 |
| sessionID | セッション ID は一時的なランダム ID で、フリークエンシー キャップの目的のみに使用されます。このパラメータの値には UUID または「bcSession」を指定します。「bcSession」が指定された場合、プレーヤーは Brightcove Analytics のセッション ID を使用します。 |
| supportedApiFrameworks | 例: '2,7,9’(VPAID 2.0、OMID 1.0、SIMID 1.1 に対するプレーヤーのサポート)。OM SDK を使用している場合は必ず指定する必要があります。 |
| url | 自動的に設定されるデフォルト値を上書きするために、手動で設定できます。 |
| PPID | プレーヤーを視聴している視聴者を識別する一意の ID。200 文字を超える PPID は無視され、nonce には含まれません。 |
PAL 統合オプション
これらのオプションを使用すると、プラグインの動作を変更できます。
| オプション | デフォルト値 | 説明 | 説明 |
|---|---|---|---|
| maxWait | 1000 | PAL SDK スクリプトがページに読み込まれるまで、プラグインが待機する最大時間(ミリ秒)。 | プラグインは、PAL SDK スクリプトがページに読み込まれるまで待機します。エンドユーザーのネットワーク環境が不安定な場合は、この値を大きく設定すると有効な場合があります。この値は、動画の読み込み時間に対するエンドユーザーの体感に直接影響します。 |
設定
シンプルな設定例
最も基本的な設定は、Players モジュールの JSON エディタを使用して、SSAI プラグイン設定の options プロパティに「googlePal」エントリを追加することで実装できます。値を true、または空のオブジェクト* に設定すると、SSAI プラグインはデフォルト値を使用して givn パラメータを生成し、ソース リクエストに付加します。
{
...
"plugins": [
{
"registry_id": "@brightcove/videojs-ssai",
"version": "2.x",
"options": {
...
"googlePal": true
}
},
]
}
プラグインを手動で初期化している場合も、SSAI オプション オブジェクトに googlePal プロパティを追加することで、同じ設定を実現できます。
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
myPlayer.ssai({
googlePal: {}
});
});
拡張設定例:
{
...
"plugins": [
{
"registry_id": "@brightcove/videojs-ssai",
"version": "2.x",
"options": {
"enableOM": true.
"omParams": {
"partnerName": "IAB Partner Name",
"partnerVersion": "1.0.0",
"accessMode": "full"
}
"googlePal": {
"maxWait": 3000,
"continuousPlayback": true,
"sessionID": "bcSession",
"supportedApiFrameworks": "7"
"url": "https://sub-domain.example.com"
}
}
},
]
}
このプレーヤーは、Open Measurement 用の SSAI オプション を使用するように設定されています。
"options": {
"enableOM": true.
"omParams": {
"partnerName": "IAB Partner Name",
"partnerVersion": "1.0.0",
"accessMode": "full"
}
- PAL SDK に関するすべての設定は「googlePal」プロパティとして提供されます:
"googlePal": { - プラグインは、Google の PAL SDK スクリプトの読み込みに最大 3 秒待機します:
"maxWait": 3000, - プレーヤーは、プレイリスト内のコンテンツを順番に再生するよう設定されています:
"continuousPlayback": true, - プレーヤーは Brightcove のセッション ID を使用します:
"sessionID": "bcSession", - プレーヤーは OMID 1.0 API を使用しています:
"supportedApiFrameworks": "7" - 広告は https://sub-domain.example.com をターゲットに配信されます:
"url": "https://sub-domain.example.com"
この設定では、nonce が生成される際に、以下のパラメータが PAL SDK に提供されます。
{
adWillAutoPlay: プレーヤーが実行時に判定する true/false の値,
adWillPlayMuted: プレーヤーが実行時に判定する true/false の値,
playerType: 'video-js',
playerVersion: 'vX.X.X',
url: "https://sub-domain.example.com",
omidVersion: 実行時に OMID.getVersion() により取得される値,
omidPartnerName: 'IAB Partner Name',
omidPartnerVersion: '1.0.0':
videoWidth: プレーヤーが実行時に判定,
videoHeight: プレーヤーが実行時に判定,
"continuousPlayback": true,
"sessionID": Brightcove セッション ID,
"supportedApiFrameworks": "7"
"url": "https://sub-domain.example.com"
}
動的パラメータ
上記の例では、プレーヤー設定内で設定された PAL SDK パラメータを示しています。また、ソースが読み込まれる前に Player.ssai().googlePal.setParams() を使用して、任意の PAL SDK パラメータを動的に設定することもできます。
以下は、Web ページ上でこれらを動的に設定する方法の例です。
<div> style="max-width: 960px;">
</div>
<script>src="https://players.brightcove.net/xxxxxxxxxxxxxx/xxxxxxxx_default/index.min.js"></script>
<script>
const adConfigId = "your ad config id";
const ssaiPlayer = videojs.getPlayer('ssaiPlayer');
function getPpid (){
// ...
}
function getDescriptionUrl (videoId){
// ...
}
// 動的な値を設定
ssaiPlayer.ssai().googlePal.setParams({
ppid: getPpid(),
descriptionUrl: getDescriptionUrl('your video id')
})
ssaiPlayer.catalog.getVideo('your video id', function(error, video) {
if (error) {
ssaiPlayer.error(error);
} else {
ssaiPlayer.catalog.load(video);
}
}, adConfigId);
</script>
イベント
PAL SDK 統合を使用している場合、プレーヤーは以下のイベントを発行します。
bcov-ssai-palsdk-error: 発生し得るいくつかのエラー条件に応じて発火されます。問題の詳細はevent.messageで確認できます。bcov-ssai-palsdk-loaded: Google PAL SDK が読み込まれたときに発火されます。bcov-palsdk-nonce-request: PAL SDK に対して nonce がリクエストされるたびに発火されます。event.paramsには、リクエストに使用されたパラメータが含まれます。
PAL SDK の読み込み
SSAI プラグインは、必要に応じて PAL SDK スクリプトをページに読み込みます。ただし、CSP 対応のために整合性ハッシュを追加する必要がある場合など、ユーザー自身がスクリプトを含めるケースもあります。SSAI プラグインは、スクリプトを追加する前に window.goog.pal の存在を確認し、window.goog.pal が既に存在する場合は再度追加しません。