広告表示 SWF の作成には、高度な開発スキルが必要です。この機能は、複雑な広告配信要件を抱える広告ネットワークや広告配信パートナが使用することを想定しています。Brightcove のお客様で、プロジェクトや製品に Brightcove の 広告表示 SWF が必要と思われる場合、まずはアカウント マネージャに問い合わせて、適合する Brightcove の広告パートナがいないか確認してください。
このトピックでは、広告表示 SWF の作成方法を説明します。デフォルトでは、Brightcove プレーヤは広告が XML 形式で返されると想定しています。Ad SWF を使用することで、Flash SWF をベースとした広告コンポーネントやモジュールが使えるようになります。これにより、広告の見た目と動作のバリエーションが大幅に広がります。
Brightcove プレーヤで、Brightcove の標準広告フォーマットではない独自の広告フォーマットを配信および表示したい場合は、独自の広告表示 SWF を作成できます。広告表示 SWFは、広告パートナによる開発にしばしば使用される拡張ツールです。
他の広告フォーマットと同様に、広告表示 SWF にも XML 仕様があり、以下のようになっています。
<adSwf version="1" trackStartURLs="http://trackingurl"> <adSwfURL>http://path-to-ad-swf.swf</adSwfURL> <optionalArg>引数値 1</optionalArg> <anotherArg>引数値 2</anotherArg> </adSwf>
プレーヤは、このフォーマットで広告を受け取ると、指定された URL から SWF を取得して実行します。SWF は、広告コンテンツ自体の追加呼び出しを 1 回または複数回行うことができます。また、すべての表示とユーザー イベントを処理します。広告表示 SWF はリニア、ノンリニアのいずれにも対応し、動画またはオーバーレイ広告のように動作します。Brightcove の内蔵動画フォーマットと同様にリニアの広告を動作させるために、特別の API が提供されています。
広告表示 SWF の記述方法については、AdSwfDevKit.zip という zip ファイルをダウンロードしてください。以下のリソースが含まれています。
ExampleAdSwf.as および ExampleAdSwf.asExampleTranslator.as および ExampleTranslator.swfbc_ads.swc広告表示 SWF を作成および使用する方法を知るためには、サンプルをセットアップして動作を確認してください。サンプルをセットアップする際の主な手順は以下のとおりです。
Ad SWF のサンプルを簡単に試せるように、サンプルの zip ファイル AdSwfDevKit.zip に Ad Translator が含まれています。サンプルの Ad Translator を使わなくてもかまいません。この Ad Translator を使用する代わりに、お使いの広告サーバーでの他の広告と同様に、サンプルの広告表示 SWF をトラフィックすることも可能です。ただし、この Ad Translator を使用すると、広告サーバーでトラフィックせずに、サンプルの広告表示 SWF を確認できます。
Ad Translator をセットアップするには、ExampleTranslator.as をコンパイルするか、コンパイル済みの ExampleTranslator.swf を使用してください。ExampleAdSwf.as から始めるには、次の操作を行います。
AdSwfDevKit.zip から bc_ads.swc および ExampleTranslator.as を解凍します。開発環境で ExampleTranslator.as をメイン クラスとするプロジェクトを作成します。bc_ads.swc を追加します。ライブラリ パスに設定するのではなく、外部ライブラリとして追加してください。そうしないと、SWF は必要なサイズよりわずかに大きくなります。 Adobe Flex Builder を使用している場合、[Additional Compiler Options] で -external-library-path=../bc_ads.swc を追加すれば、外部ライブラリとして追加することができます。Adobe Flash を使用している場合は、コンパイルする前に bc_ads.swc をアプリケーションの .fla と同じディレクトリへドロップするだけです。ExampleTranslator.as をコンパイルし、出力された SWF をプレーヤからアクセス可能な Web サーバーに配置します。この SWF は後で使用します。コンパイル済みの ExampleTranslator.swf を使用するには、次の操作を行います。
AdSwfDevKit.zip から ExampleTranslator.swf を解凍します。次に、サンプルの広告表示 SWF をコンパイルし、ホストします。ExampleAdSwf.as をコンパイルするか、コンパイル済みの Example.swf を使用することができます。ExampleAdSwf.as から始めるには、次の操作を行います。
AdSwfDevKit.zip から bc_ads.swc および ExampleAdSwf.as を解凍します。Ad Translator プロジェクトに使用するフォルダとは別のフォルダに、これらのファイルをコピーします。ExampleAdSwf.as をメイン クラスとするプロジェクトを作成します。bc_ads.swc を追加します。ライブラリ パスに設定するのではなく、外部ライブラリとして追加してください。上の広告トランスレータと同じ手順に従います。ExampleAdSwf.as をコンパイルし、出力された SWF をプレーヤからアクセス可能な Web サーバーに配置します。コンパイル済みの Example.swf を使用するには、次の操作を行います。
AdSwfDevKit.zip から Example.swf を解凍します。ここまでで、Ad Translator SWF と広告表示 SWF をコンパイルし、ホストしました。これらの 2 つの要素を同時に使用して、広告表示 SWF をトラフィックすることができます。
adSwf=http://host/adSwf.swf という新しいペアを追加して、URL を広告表示 SWF の実際の場所に変更します。サンプルの広告表示 SWFの動作を見たことで、独自の広告表示 SWFの作成方法を確認できたと思います。サンプルの ExampleAdSwf.as を使って作成を開始することもできます。同じ基本構造に従った広告表示 SWF ができます。処理内容を理解するには、ExampleAdSwf.as のコメントを確認してください。ExampleAdSwf.as では、以下のようになります。
com.brightcove.fl.advertising.adswf.AdSwf を拡張する必要があります。Security.allowDomain("admin.brightcove.co.jp") を使用してください。そうすると、SWF が Brightcove プレーヤ SWF と通信できるように、crossdomain.xml セキュリティ ファイルを設定する必要がなくなります。displayAd() 関数をオーバーライドする必要があります。これは、広告を表示する関数です。この関数はしばしば、実際の広告である別の SWF をロードします。AdSwfContext を使って、プレーヤの状態を変更したり、広告を初期化することもできます。Player APIは AdSwfContext を通してアクセスできます。これにより、広告表示 SWF は、様々な BEML コンポーネントに関する情報の取得、showSponsorMessage() のような機能による広告表示状況の変更、動画プレーヤのサイズおよび位置の取得など様々な機能を実行できます。adComplete() を呼び出して、プレーヤに制御を戻します。必ず、設定されているイベント リスナをすべて削除してください。