适用于 Adobe Flash 的 Google Analytics(分析)跟踪

借助适用于 Adobe Flash 的 Google Analytics(分析)跟踪组件,您可以轻松地在由 Flash 驱动的内容中实施 Google Analytics(分析)。该组件由 Adobe Systems, Inc. 开发,包含 Google Analytics(分析)JavaScript 代码的所有功能。Flash 跟踪组件是原生于 JavaScript 3 的编译跟踪对象,可使 Google Analytics(分析)在 Flash 和 Flex 开发环境中直观实施。

为何要使用 Flash 跟踪?

如果没有适用于 Adobe Flash 的 Google Analytics(分析)跟踪组件,那么使用 Google Analytics(分析)跟踪 Adobe Flash 内容会遇到许多技术障碍。首先,您必须为 ga.js 开发一个自定义接口,以便您的 Flash 应用可以执行适当的 Google Analytics(分析)方法,例如 trackPageview()trackEvent()。此外,您还必须预测您的 Flash 内容是否可以访问浏览器文档对象模型 (DOM),因为对于拒绝访问 DOM(通常是由于您的内容驻留在第三方网站上)的对象,将无法进行跟踪。这涉及了解如何在 Action 3 中使用 ExternalInterface 调用访问浏览器 DOM,以及在访问权限遭拒时降级。

适用于 Adobe Flash 组件的 Google Analytics(分析)可简化对 Flash 内容的跟踪,并可轻松应对 DOM 访问。它可用于 Flash 中的许多常见跟踪目的,例如:

  • 嵌入到 HTML 网页中的 Flash 窗口小部件
  • 独立 Flex 应用程序或驻留在 HTML 网页上的仅包含 Flash 的网站
  • 开发人员无法控制窗口小部件位置的分布式 Flex/Flash 游戏或程序

请注意,Flash 中的跟踪应用会与跟踪网页结构有所不同。熟悉 Google Analytics(分析)跟踪对于了解此插件的工作原理至关重要。您还可以查看此项目的设计文档,详细了解 Google Analytics(分析)跟踪模型如何为此组件移植。

注意:目前,网页中嵌入的任何 Flash 内容都可以使用 Flash 跟踪。目前不支持跟踪 Adobe Air、Shockwave 或通过 Flash IDE(例如,使用 Test Movie)发送的数据。

支持的开发环境

您可以在 Adobe Flash 或 Adobe Flex 环境下开发适用于 Flash 的 Google Analytics(分析)跟踪。每种环境都需要不同组件,您可以从 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 模式”。此模式确定您的跟踪与 Google Analytics(分析)服务器之间的通信方式,下文有详细说明。
  • 调试模式 - 无论您使用哪种环境或跟踪模式,都可以开启调试来验证和测试您的跟踪。

跟踪模式

根据您分发 Flash 内容的方式,Google Analytics for Flash 组件会通过桥接现有 Google Analytics(分析)跟踪安装的 Flash 内容之间的通信的方式与 Google Analytics(分析)服务器进行通信,或直接与 Google Analytics(分析)服务器进行通信。这两种模式分别称为“桥接模式”和“AS3 模式”。这两种模式使用相同的 Google Analytics(分析)跟踪功能,您可以轻松地将 Flash 应用程序从一种模式切换到另一种模式。除了为 Google Analytics(分析)跟踪选择通信模式之外,您还可以使用调试模式对跟踪进行问题排查或验证。

无论采用哪种模式,allowscriptaccess 都必须等于 always,广告系列跟踪才能正常工作。此参数会启用对 Flash 跟踪代码所需的网页网址和引荐来源网址信息的读取访问。如果没有 allowscriptaccess,Google Analytics(分析)跟踪代码会相应地降级。但它仍将提供大多数用户活动数据,只是无法确认 Google Analytics(分析)广告系列归属模式。

桥接模式

如果您同时控制 HTML 网页和 Flash 内容,请使用此模式。如果您已在网站上实现了 Google Analytics(分析)(ga.js) 跟踪功能且希望为嵌入的 Flash 内容添加跟踪功能,则最好使用此模式。桥接模式通过向 ga.js 代码提供统一的 ActionScript 3 接口来简化从 Flash 到 JavaScript 的通信。它提供从 Action 3 调用到 Google Analytics(分析)JavaScript 的连接,以便进行跟踪。

与 Google Analytics(分析)跟踪代码的连接可使用网络载体 ID 参数通过以下两种方式之一进行配置:

  • 最常见的方法。您的网页已存在同名的 Google Analytics(分析)跟踪代码对象,例如 pageTracker。 在这种情况下,您需要提供对跟踪对象的完整 DOM 引用。例如,如果您的对象名为 pageTracker,您需要在代码中将该对象引用为 window.pageTracker。例如,以下代码段说明了如何将 Adobe Flex 环境与 Action 3 搭配使用:
    tracker = new GATracker( this, "window.pageTracker", "Bridge", false );

  • 替代方法。如果您未在网页上创建一个网页跟踪对象,您只需传递您的网络载体 ID,系统即会为您创建一个 JavaScript 跟踪代码对象。如果使用此方法,您的 HTML 网页上仍然需要引用 ga.js JavaScript 基本源文件。以下代码段说明了如何在 Adobe Flex 环境中使用 Actions 3 配置此功能:
    tracker = new GATracker( this, "UA-12345-22", "Bridge", false );

为了使桥接模式正常运行,您必须在 ActionScript 3 代码中将ExternalInterface.available设为 true。这也意味着,应在嵌入 Flash 内容的 HTML 页面中将 allowScriptAccess 设置为 always。 下例展示了配置桥接模式的 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 跟踪代码,包含所有 Google Analytics(分析)跟踪功能。使用此模式无需单独安装 ga.js 跟踪。此外,AS3 模式使用 Flash 存储机制跟踪用户的会话信息。

对于特定的 DOM 参数(如,语言),AS3 组件会尝试从浏览器获取值。如果值不存在,组件会使用 Flash 等效值或默认为 no

问题排查和验证

适用于 Adobe Flash 的 Google Analytics(分析)跟踪组件提供了一个调试模式,以简化验证和问题排查。启用后,所有跟踪数据都会被拦截并定向到文本框中的屏幕,而非 Google Analytics(分析)服务器。在此模式下,您可以看到原本应由服务器收集的实时数据。此功能还有助于将测试数据排除在生产数据之外。您可以通过在组件检查器中将 visualDebug 选项设置为 true 来启用问题排查功能。

示例

有关在不同的开发环境中实施跟踪的详细示例,请参阅以下部分:

闪光灯

柔性

版本控制

您可以在 http://code.google.com/p/gaforflash/downloads/list 上找到跟踪组件的最新版本(ZIP 文件)。每次下载都包含所有跟踪组件以及相关文档。下载文件的文件名将显示其包含的代码的版本号。

您还可以在代码中使用以下语句将组件的当前版本号输出到输出控制台。

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