ヘルプトピック / Ad SWF を開発する
このトピックでは、Ad SWF の作成方法を説明します。デフォルトでは、Brightcove プレーヤは広告が XML 形式で返されると想定しています。Ad SWF を使用することで、Flash SWF をベースとした広告コンポーネントやモジュールが使えるようになります。これにより、広告の見た目と動作のバリエーションが大幅に広がります。
他の広告フォーマットと同様に、Ad SWF にも XML 仕様があり、以下のようになっています。
<adSwf version="1" trackStartURLs="http://trackingurl"> <adSwfURL>http://path-to-ad-swf.swf</adSwfURL> <optionalArg>arg value 1</optionalArg> <anotherArg>arg value 2</anotherArg> </adSwf>
プレーヤがこのフォーマットで広告を受け取ると、指定された URL から SWF を取得して実行します。SWF コンポーネントはサードパーティの広告ネットワークによる広告で、広告自体から広告コンテンツの追加呼び出しを 1 回または複数回行うことができます。SWF コンポーネントは、すべての表示とユーザイベントを処理します。
Ad SWF の記述方法については、AdSwfDevKit.zip という zip ファイルをダウンロードしてください。以下のリソースが含まれています。
ExampleAdSwf.as と Example.swfAdSwfExampleTranslator.as と ExampleTranslator.swfbc_ads.swcAd SWF を作成および使用する方法を知るためには、サンプルをセットアップして動作を確認してください。サンプルをセットアップする際の主な手順は以下のとおりです。
Ad SWF のサンプルを簡単に試せるように、サンプルの zip ファイル AdSwfDevKit.zip にAd トランスレータが含まれてます。サンプルのAd トランスレータを使わなくてもかまいません。このAd トランスレータを使用する代わりに、お使いの広告サーバでの他の広告と同様に、サンプルのAd SWF をトラフィックすることも可能です。ただ、このAd トランスレータを使用すると、広告サーバでトラフィックせずに、サンプルのAd SWF を確認できます。このAd トランスレータは、「純粋に」サンプルのAd SWF のデモのみを目的としています。
Ad トランスレータをセットアップするには、AdSwfExampleTranslator.as をコンパイルするか、またはコンパイル済みの ExampleTranslator.swf を使用します。ExampleAdSwf.as について説明します。
AdSwfDevKit.zip から bc_ads.swc と ExampleAdSwf.as を取得します。 ExampleAdSwf.as をメインクラスとするプロジェクトを作成します。 bc_ads.swc を追加します。ライブラリパスに設定するのではなく、外部ライブラリとして追加してください。外部ライブラリとして追加しないと、実際に使用する SWF ははるかに大きいので、プレーヤのロード時間に悪影響を与えます。たとえば Adobe Flex Builder を使用している場合、[Additional Compiler Options] で -external-library-path=bc_ads.swc を追加すれば、外部ライブラリとして追加することができます。Adobe Flash を使用している場合は、コンパイルする前に bc_ads.swc をアプリケーションの .fla と同じディレクトリへドロップするだけです。ExampleAdSwf.as をコンパイルし、出力された SWF をプレーヤからアクセス可能な Web サーバに配置します。この SWF は後で使用します。コンパイル済みの ExampleTranslator.swf を使用するには、以下のようにします。
AdSwfDevKit.zip から ExampleTranslator.swf を取得します。 次に、サンプルのAd SWF をコンパイルし、ホストします。ExampleAdSwf.as をコンパイルするか、コンパイル済みの Example.swf を使用することができます。ExampleAdSwf.as について説明します。
AdSwfDevKit.zip から bc_ads.swc と ExampleAdSwf.as を取得します。 ExampleAdSwf.as をメインクラスとするプロジェクトを作成します。 bc_ads.swc を追加します。ライブラリパスに設定するのではなく、外部ライブラリとして追加してください。外部ライブラリとして追加しないと、実際に使用する SWF ははるかに大きいので、プレーヤのロード時間に悪影響を与えます。たとえば Adobe Flex Builder を使用している場合、[Additional Compiler Options] で -external-library-path=bc_ads.swc を追加すれば、外部ライブラリとして追加することができます。Adobe Flash を使用している場合は、コンパイルする前に bc_ads.swc をアプリケーションの .fla と同じディレクトリへドロップするだけです。ExampleAdSwf.as をコンパイルし、出力された SWF をプレーヤからアクセス可能な Web サーバに配置します。コンパイル済みの Example.swf を使用するには、以下のようにします。
AdSwfDevKit.zip から Example.swf を取得します。 ここまでで、Ad トランスレータとAd SWF をコンパイルし、ホストしました。これらの 2 要素をともに使用して、Ad SWF をトラフィックすることができます。
adSwf=http://host/adSwf.swf という新しいペアを追加して、URL をAd SWF の実際の場所に変更します。サンプルのAd SWF の動作を見たことで、独自のAd SWF の作成方法を確認できたと思います。サンプルの ExampleAdSwf.as を使って作成を開始することもできます。同じ基本構造に従ったAd SWF ができます。処理内容を理解するには、ExampleAdSwf.as のコメントを確認してください。ExampleAdSwf.as と同様に、以下のようにします。
com.brightcove.fl.advertising.adswf.AdSwf を継承する必要があります。displayAd() 関数をオーバーライドする必要があります。この関数は通常、実際の広告である別の SWF をロードします。AdSwfContext を使って、プレーヤの状態を変更したり、広告を初期化することもできます。ExampleAdSwf.as では、displayAd() 関数は以下のようになっています。adComplete() を呼び出して、プレーヤに制御を戻します。