このトピックでは、Google Analytics Flash Tracking 向けにアナリティクス SWF を開発する方法を説明します。
Video Cloud の柔軟なプレーヤ アーキテクチャにより、自身のカスタム SWF コンポーネントをプレーヤに組み込むことができます。Google の Flash Tracking 機能では、ページ内の JavaScript コードに依存することなく、どこで公開されていてもプレーヤを追跡することができます。この機能の詳細については、開発者向け Google Analytics Flash Tracking を参照してください。
ActionScript を使い慣れていない場合は、Video Cloud 標準の Google Analytics との統合機能のご利用をおすすめします。Google 用にイベントを簡単に構成する方法については、「Google Analytics との統合」を参照してください。
さらにここをクリックすると、Open Source @ Brightcove の Google Analytics SWF を利用できます。簡単な解析がすぐにでき、データ収集要件のためのカスタマイズも可能です。
始める前に、入門用トピック「アナリティクス SWF を開発する」を参照してください。さらに、「Flash 専用 Player API SWC を使用する」、「カスタム プレーヤ コンポーネントを作成する」、および「プレーヤの ActionScript ラッパー クラス」を参照してください。
このトピックでは、次の点について学習します。
Google Analytics の統合を行うには、まず、Google Analytics アカウントを開くことから始めます。その開設は無料です。
Google Analytics アカウントを作成し、サインインした後に、Web サイト プロファイルを作成します。Web サイト プロファイルとは、レポートを表示するための Google 上の名前のことです。Web サイト プロファイルでは、さまざまな方法でデータをフィルタリングし分割するために、同じ Web サイト(またはプレーヤ)に対して複数のプロファイルを作成できるので非常にパワフルです。ここでは、手始めにプロファイルを 1 つ作成してみましょう。
ページ ビューを追跡するために Web サイトのプロファイルを Google Analytics に作成済みの場合でも、同じ Web サイトに対して、Video Cloud データの追跡専用に新しいプロファイルを作成することを強くおすすめします。専用のプロファイルを作成しなかった場合、追跡しようとしている別の Web サイトのデータを上書きしてしまう可能性があります。「Google Analytics Help ドキュメント」でプロファイルの詳細を参照してください。
プロファイルを作成するには、以下の手順を行います。
プロファイルを作成すると、Google Analytics には追跡コードと、英数字で構成された「AA-123456-A」といった Google アカウント ID が表示されます。
注:Google Analytics の新しい Flash Tracking 機能の利用には、JavaScript の追跡コードは不要です。ただし Google アカウント ID は必要です。この ID をどこかに書き留めておいてください。アナリティクス SWF の開発時に必要になります。
このコンポーネントのソースを zip ファイルとしてダウンロードできます。このサンプル ファイルは、プレーヤのロード、メディアの開始、およびストリームの完了イベントを、追跡する Google Analytics に送信します。コンポーネントを拡張し、さらに多くのイベントを発生させることも簡単に行えます。
次のステップを使用して、Google Analytics SWF コンポーネントを作成します。
.as ファイルを作成し、.fla シェル ファイルにリンクさせます。.fla には、.as ファイル以外には実際には何も含まれません。サンプルの .fla ファイルを、このセクションの最初に記載されているコード ソース zip ファイルでダウンロードできます。このサンプルには、Flash CS4 以降を使用している必要があります。AnalyticsLibrary のコンポーネントおよび手法を使用します。詳細は Google のドキュメントを参照してください。// 定数 var ACCOUNT_ID : String = loaderInfo.parameters.gid; var BRIDGE_MODE : String = "AS3"; var DEBUG_MODE : Boolean = false;コンポーネントは実行時に、URL パラメータ
gid から Google アカウント ID を読み込みます。このドキュメントの後半では、Publishing モジュールで Google ID を使用して URL をセットアップします。この例では、ActionScript 3 Bridge モードを使用し、debug を false に設定します。これらのオプションについての詳細は、Google ドキュメントの追跡モードを参照してください。setInterface 関数で、必要な Video Cloud Flash 専用プレーヤ API モジュールをインポートし、テンプレートのロード イベントおよびコンテンツのロード イベント用のイベント リスナを追加します。onTemplateReady イベント ハンドラで、プレーヤ イベント用のイベント リスナを追加します。fireEvent 関数でイベント情報を収集し、それを Google Analytics に送信します。Google は、Web サイト上で追跡を行うため 2 つの API を提供しています。1 つ目の API はページ ビューを追跡し、もう 1 つの API は具体的なイベントを追跡します。イベント追跡 API は、Flash コンテンツとの対話を追跡する目的で設計されました。つまり、視聴者が Video Cloud プレーヤと対話するときに発生する「動画再生」、「動画一時停止」などのイベントです。
イベントには 3 つのレベルのデータが関連付けられています。
イベントの詳細は、Google Analytics ドキュメントを参照してください。
サンプルの Video Cloud コードは、次のイベントを追跡します。
発生するイベントおよびそれらに関連するカテゴリ、アクション、およびラベルのリストを次に示します。
| イベント名 | カテゴリ | アクション | ラベル |
|---|---|---|---|
| Video start | video_start |
動画名 | 動画タイムコード |
| Video completed | video_complete |
動画名 | 100 |
| Video progress | video_progress |
動画名 | 完了した割合(.25、.5、.75、1) |
| Player load | player_load |
プレーヤを埋め込んでいる URL | プレーヤを埋め込むページを参照したリファラ URL |
fireEvent 関数:Google にプレーヤ イベントを通知するfireEvent 関数を使用して、Google Analytics でイベントを追跡する方法を見てみましょう。Google Analytics にイベントを送信する前に、現在ロードまたは再生されているプレーヤ、プレイリスト、および動画に関する情報を収集する必要があります。
private function fireEvent(eventName:String,loc:Number):void {
var experienceId:Number = _bcExperience.getExperienceID();
var playerName:String = _bcExperience.getPlayerName();
var action:String = "";
switch (eventName) {
case EVENT_PLAYER_LOAD:
var experienceURL:String = _bcExperience.getExperienceURL();
var referrerURL:String = _bcExperience.getReferrerURL();
_tracker.trackEvent(eventName,experienceURL,referrerURL);
break;
// add additional cases here if needed
default:
var video:Object = _bcVideo.getCurrentVideo();
var playlistId:Number = video.lineupId;
var videoId:Number = video.id;
var videoName:String = video.displayName;
_tracker.trackEvent(eventName,videoName,loc.toString());
}
}
この例では、プレーヤ ロードについては、他の動画タイプのイベントとは違う情報を送信するよう選択しました。プレーヤ ロードについては、プレーヤがロードされた URL に加え、参照 URL を送信しました。他のイベントについては URL を送信せず、イベントが発生したときに再生されるコンテンツについて、より詳しい情報を送信しました。trackEvent() メソッドが呼び出されると、コンポーネントはイベントを追跡用に Google Analytics に送信します。具体的には、追跡プログラムは、Google Analytics アカウントでカウントを作成または増分します。
registerEvents 関数:イベント リスナを追加する以下のコード スニペットが、tracker という名前の、新しい Google Analytics 追跡オブジェクトを作成します。コードは、プレーヤ ステージ、Google アカウント ID(すでに定義してある定数)、ブリッジ モードおよびデバッグ モードの設定(これらもすでに定義してある定数)への参照を渡します。
その後、テンプレート ロード イベントのイベント リスナを追加します。
private function registerEvents():void {
_bcStage = _bcExperience.getStage();
// Video Cloud プレーヤ ステージおよび Google アカウント ID への参照を持つ
// Google トラッカを作成
_tracker = new GATracker(_bcStage, ACCOUNT_ID, BRIDGE_MODE, DEBUG_MODE);
_bcVideo = player.getModule(APIModules.VIDEO_PLAYER) as VideoPlayerModule;
if (_bcVideo != null) {
_bcVideo.addEventListener(MediaEvent.BEGIN, onMediaBegin);
_bcVideo.addEventListener(MediaEvent.COMPLETE, onMediaComplete);
// 注:ここで Video Cloud プレーヤ イベント リスナを追加できる
}
// BC メニュー イベントを追跡したい場合、ここで Menu モジュールへの参照を取得
//_bcMenu = player.getModule(APIModules.MENU) as MenuModule;
fireEvent(EVENT_PLAYER_LOAD);
}
initialize 関数:プレーヤ モジュールへの参照を取得するinitialize 機能は、プレーヤのモジュールへの参照、この場合は experience と Stage を取得します。
まず始めに、プレーヤで ExperienceModule が使用可能であるかどうかを確認します。使用できない場合は、プレーヤ インスタンスでこの API が有効になっていないということであり、必要な API クラスがロードされていません。Video Cloud Studio Publishing モジュールで行ったプレーヤ設定に関わらず、loadModules() を呼び出して、これらのクラスを強制的にロードすることができます。MODULES_LOADED がディスパッチされるまで待機します。またこのコードは、ロード時にステージが使用可能かどうかも確認します。Google Analytics に初めてのプレーヤ イベントを通知する前に、ステージが使用可能かどうかの確認をすることは重要です。
/*
* プレーヤは対話の準備が完了。ステージへのアクセスがないかチェックする。
*/
override protected function initialize():void {
_bcExperience = player.getModule(APIModules.EXPERIENCE) as ExperienceModule;
_bcStage = _bcExperience.getStage();
if (_bcStage == null) {
_bcExperience.addEventListener(ExperienceEvent.ADDED_TO_STAGE, onAddedToStage);
} else {
registerEvents();
}
}
Google Analytics Tracking SWF コンポーネントを作成し、コンパイルした後には、プレーヤで使えるようにする必要があります。Google Analytics SWF を使用するには、次の手順を行います。
crossdomain.xml ファイルをセットアップしておく必要があります。そのためには、次のドメインをサイトの crossdomain.xml ファイルに追加します。
<allow-access-from domain="*.brightcove.com" /> <allow-access-from domain="*.google-analytics.com" />この変更を行うため、Web 管理者への問い合わせが必要になることがあります。
crossdomain.xml ファイルは、ドメインに配置されているファイルで、信頼するサードパーティ ドメインのリストが含まれています。このファイルの編集の方法が分からない場合は、Web 管理者にご相談ください。詳細と、サンプルのクロスドメイン ファイルについては、クロスドメイン セキュリティのトピックを参照してください。gid パラメータを使用して、Google の ID を渡す必要があることに注意してください。たとえばアナリティクス SWF の URL を設定するには、次の gid URL パラメータを含めます。http://mysite.com/analytics.swf?gid=AA-123456-AGoogle 追跡コードを含むプレーヤが公開されると、イベントが Google レポートに表示されるまでに最長で 24 時間かかります。
ここまでの手順で説明したように、Google Analytics にデータを送出するようにプレーヤを設定すると、Google Analytics のレポートで動画のデータを見ることができるようになります。次に、以下の手順を行います。
![]()
図 1. Google Analytics Event Tracking ページの例を示します。
Google Analytics を使用するには、次の制約事項とその他の情報に留意してください。