Adobe Flash 向け Google アナリティクス トラッキング

Adobe Flash コンポーネント向け Google アナリティクス トラッキングを使用すると、Flash を使用したコンテンツに Google アナリティクスを簡単に実装できます。Adobe Systems, Inc. が開発したこのコンポーネントには、Google アナリティクスの JavaScript コードの全機能が含まれています。Flash トラッキング コンポーネントは、Action 3 にネイティブで組み込まれたコンパイル済みのトラッキング オブジェクトです。そのため、Flash や Flex の開発環境で直感的にアナリティクスを実装できます。

Flash トラッキングの利点

Adobe Flash コンポーネント向け Google アナリティクス トラッキングを使用しない場合、Google アナリティクスで Adobe Flash コンテンツをトラッキングするには、多くの技術的な課題が伴います。まず、ga.js へのカスタム インターフェースを開発して、Flash アプリケーションで trackPageview()trackEvent() などの適切な Analytics メソッドを実行できるようにする必要があります。また、Flash コンテンツがブラウザのドキュメント オブジェクト モデル(DOM)にアクセスできるかどうかも予測する必要があります。DOM へのアクセスが拒否されているオブジェクトについてはトラッキングに失敗するためです(コンテンツがサードパーティのサイトにある場合など)。そのためには、ブラウザ DOM にアクセスし、アクセスが拒否された場合にデグレードするために、Action 3 で ExternalInterface 呼び出しを使用する方法を理解しておく必要があります。

Adobe Flash コンポーネント向け Google アナリティクスを使用すると、Flash コンテンツのトラッキングが簡単になり、DOM アクセスを適切に処理できます。これは、Flash で一般的に使用される次のようなさまざまなトラッキング目的に役立ちます。

  • HTML ページの埋め込み Flash ウィジット
  • 単体の Flex アプリケーションや HTML ページでホストする Flash のみのサイト
  • 配布先がデベロッパーの管理外にある Flex/Flash ゲームやプログラム

Flash でのトラッキング アプリケーションでは、ウェブサイトのページのトラッキングとは構造的にいくつかの違いがあります。このプラグインの仕組みを理解するには、アナリティクスのトラッキングに精通していることが重要です。また、このコンポーネント用にアナリティクス トラッキング モデルがどのように移植されているかについては、このプロジェクトの設計ドキュメントをご覧ください。

注: 現在、Flash トラッキングはウェブページに埋め込まれているすべての Flash コンテンツに対して有効です。この時点では、Adobe Air、Shockwave から送信されたデータ、または Flash IDE を通じて送信されたデータ(テスト ムービーを使用するなど)のトラッキングはサポートされていません。

サポートされている開発環境

Flash 向けのアナリティクス トラッキングは、Adobe Flash 環境または Adobe Flex 環境で開発できます。各環境には異なるコンポーネントが必要です。これらのコンポーネントは http://code.google.com/p/gaforflash/ からダウンロードできます。これらのコンポーネントは、ActionScript 3 をベースに構築されており、それぞれの環境について次のいずれかの方法で設定できます。

Adobe Flash の場合

  • コンポーネント インスペクタでシンプルなコンポーネントを追加して設定し、ステージにドラッグします。
  • Flash トラッキング ライブラリを直接自身のライブラリにインポートしてコードの記述を始めます。

Adobe Flex の場合

  • MXML ファイルの、設定する MXML コンポーネントを含めます。
  • Flash トラッキング ライブラリを、スクリプト タグ/AS3 ファイルにインポートします。

コンポーネントの仕組み

実際の環境で Flash トラッキング コンポーネントを使用するには、Flash 内でビジュアル ツールを使用するか、コード内にトラッキング オブジェクトを直接設定します。コンポーネントを視覚的に設定するか、コードを使用して設定するかに関係なく、次の要素を指定してください。

  • ウェブ プロパティ ID - トラッキング コードの UA 番号とも呼ばれ、UA-xxxxx-yy のような形式です。x と y は、トラッキングしているオブジェクトのアカウントとビュー(旧プロファイル)情報に対応する番号に置き換えられます。詳しくは、ウェブ プロパティをご覧ください。
  • トラッキング モード - ブリッジモードまたは AS3 モードを選択します。このモードは、Analytics サーバーとトラッキングの間の通信方法を決定します。トラッキング モードについては後述します。
  • デバッグモード - 使用する環境やトラッキング モードに関係なく、デバッグを有効にしてトラッキングの検証とテストを行うことができます。

トラッキング モード

Flash コンテンツの配信方法に応じて、Flash 向け Analytics コンポーネントは既存の Analytics トラッキング インストールの Flash コンテンツ間の通信をブリッジするか、Analytics サーバーと直接通信することで Analytics サーバーと通信します。この 2 つのモードはそれぞれ、ブリッジモード、AS3 モードと呼ばれます。どちらのモードでも同じ Analytics トラッキング機能が使用され、Flash アプリケーションのモードを簡単に切り替えることができます。アナリティクス トラッキングの通信モードの選択に加え、デバッグモードはトラッキングのトラブルシューティングや検証にも使用できます。

どちらのモードでも、キャンペーン トラッキングを機能させるには、allowscriptaccessalways に設定する必要があります。このパラメータは、Flash トラッキング コードが必要とするページの URL と参照 URL 情報への読み取りアクセスを有効にします。allowscriptaccess を指定しなかった場合、アナリティクス トラッキング コードによるグレースフル デグラデーションが行われます。それでも、トラッキング コードは引き続き大部分のユーザー アクティビティ データを提供しますが、Google Analytics キャンペーン関連付けモデルに対する確認は行いません。

ブリッジモード

HTML ページと Flash コンテンツの両方を管理する場合は、このモードを使用します。このモードは、ウェブサイトに Google アナリティクス(ga.js)のトラッキングを実装済みで、埋め込み Flash コンテンツにトラッキングを追加する場合に最適です。ブリッジモードにすると、ga.js コードに対して統一された Action 3 インターフェースが提供されるため、Flash と JavaScript 間の通信が簡単になります。トラッキングを機能させるため、この URL は Eventarc 3 の呼び出しからアナリティクス JavaScript への接続を提供します。

Google Analytics トラッキング コードとの接続は、ウェブ プロパティ ID パラメータを使用することによって、次のいずれかの方法で設定できます。

  • 最も一般的な方法。Google アナリティクス トラッキング コード オブジェクトが、独自の名前(pageTracker など)でページにすでに存在している。この場合は、トラッキング オブジェクトへの完全な DOM 参照を指定します。 たとえば、pageTracker というオブジェクトの場合、コードではそのオブジェクトを window.pageTracker として参照します。たとえば、次のコード スニペットは、Adobe Flex 環境と Action 3 を使用してこれを構成する方法を示しています。
    tracker = new GATracker( this, "window.pageTracker", "Bridge", false );

  • 別の方法:ページにページ トラッキング オブジェクトを作成していない場合は、ウェブ プロパティ ID を渡すだけで、JavaScript トラッキング コード オブジェクトが作成されます。この方法では、ベース ga.js JavaScript ソースファイルへの参照が HTML ページで引き続き必要です。次のコード スニペットは、Adobe Flex 環境で Action 3 を使用して、この設定を行う方法を示しています。
    tracker = new GATracker( this, "UA-12345-22", "Bridge", false );

ブリッジモードを正しく機能させるには、NDK 3 コードで ExternalInterface.available を true に設定する必要があります。また、Flash コンテンツを埋め込んでいる HTML ページで allowScriptAccessalways に設定する必要があります。次の例は、ブリッジ モードの HTML コードを設定したものです。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
     id="flex_component" width="800" height="600"
     codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
     <param name="movie" value="flex_component.swf" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#869ca7" />
     <param name="allowScriptAccess" value="always" />
     <embed src="flex_component.swf" quality="high" bgcolor="#869ca7"
         width="800" height="600" name="flex_component" align="middle"
         play="true"
         loop="false"
         quality="high"
         allowScriptAccess="always"
         type="application/x-shockwave-flash"
         pluginspage="http://www.adobe.com/go/getflashplayer">
      </embed>
</object>

 

AS3 モード

このモードは、Adobe Flash Action 3 コードは制御するが、Adobe Flash アプリケーションのホスティング環境は制御しない場合に使用してください。たとえば、多くのサイトに配信する Flash コンテンツを開発する場合は、AS3 モードを使用します。AS3 モードは ga.js トラッキング コードとは完全に独立しており、アナリティクスのトラッキング機能をすべて備えています。このモードでは、ga.js トラッキングを別途インストールする必要はありません。また、AS3 モードでは、Flash ストレージ メカニズムを使用してユーザーのセッション情報をトラッキングします。

language などの特定の DOM パラメータの場合、AS3 コンポーネントはブラウザから値を取得しようとします。値が存在しない場合、コンポーネントは Flash の同等の値を使用するか、デフォルトで no に設定されます。

トラブルシューティングと検証

Adobe Flash コンポーネント向け Google アナリティクス トラッキングには、検証とトラブルシューティングを容易にするデバッグモードが用意されています。有効にすると、すべてのトラッキング データが傍受され、アナリティクス サーバーではなくテキスト ボックスの画面が表示されます。このモードでは、通常はサーバーによって収集されるはずのデータをリアルタイムで確認できます。この機能は、本番環境データの外部にテストデータを保持するためにも役立ちます。トラブルシューティング機能を有効にするには、コンポーネント インスペクタで visualDebug オプションを true に設定します。

異なる開発環境でトラッキングを導入する詳しい例については、次をご覧ください。

フラッシュ

Flex

バージョニング

トラッキング コンポーネントの最新バージョンは ZIP ファイルとして http://code.google.com/p/gaforflash/downloads/list から入手できます。各ダウンロードには、すべてのトラッキング コンポーネントと関連ドキュメントが含まれています。ダウンロード・ファイルのファイル名に、ファイルに含まれるコードのバージョン番号が表示されます。

コード内で次のステートメントを使用すると、コンポーネントの現在のバージョン番号を出力コンソールに出力できます。

import com.google.analytics.API;
trace(API.version);