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

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

为何要使用 Flash 跟踪?

如果没有适用于 Adobe Flash 的 Google Analytics(分析)跟踪组件,那么使用 Google Analytics(分析)跟踪 Adobe Flash 内容会遇到许多技术障碍。首先,您必须为 ga.js 开发一个自定义接口,以便您的 Flash 应用可以执行相应的 Analytics 方法,如 trackPageview()trackEvent()。此外,您还必须预测您的 Flash 内容是否可以访问浏览器文档对象模型 (DOM),因为对于拒绝访问 DOM(通常是由于您的内容驻留在第三方网站上)的对象,将无法进行跟踪。这涉及了解如何在 ActionScript 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 内容的方式,适用于 Flash 的 Google Analytics(分析)组件通过桥接现有 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 之间的通信。它提供了从 ActionScript 3 调用到 Google Analytics(分析)JavaScript 的连接,以使跟踪正常运行。

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

  • 最常用的方法。Google Analytics(分析)跟踪代码对象已存在于您的网页上,并具有自己的名称,如 pageTracker。在这种情况下,您需要提供对跟踪对象的完整 DOM 引用。 例如,如果您的对象名为 pageTracker,您需要在代码中将该对象引用为 window.pageTracker。例如,以下代码段展示了如何在 Adobe Flex 环境和 ActionScript 3 中进行配置:
    tracker = new GATracker( this, "window.pageTracker", "Bridge", false );

  • 替代方法。如果您未在网页上创建一个网页跟踪对象,您只需传递您的网络载体 ID,系统即会为您创建一个 JavaScript 跟踪代码对象。如果使用此方法,HTML 网页上仍然需要引用基本的 ga.js JavaScript 源文件。以下代码段说明了如何在 Adobe Flex 环境和 ActionScript 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 来启用问题排查功能。

示例

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

闪光灯

Flex

版本控制

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

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

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