CN101454764A - 独立ActionScript分析工具和技术 - Google Patents
独立ActionScript分析工具和技术 Download PDFInfo
- Publication number
- CN101454764A CN101454764A CNA200780014724XA CN200780014724A CN101454764A CN 101454764 A CN101454764 A CN 101454764A CN A200780014724X A CNA200780014724X A CN A200780014724XA CN 200780014724 A CN200780014724 A CN 200780014724A CN 101454764 A CN101454764 A CN 101454764A
- Authority
- CN
- China
- Prior art keywords
- code
- data
- presents
- engine
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
提供了独立于网页中所使用的嵌入JavaScript web分析代码而支持诸如Flash或Flex分析之类的呈现分析的工具和技术。可在ActionScript中实现的呈现分析引擎包括用于捕捉与多媒体呈现的用户交互相关的信息(146)的代码,用于动态生成反映所捕捉信息的字符串(148)或其它数据结构的代码,以及用于不使用getURL()调用或所嵌入的JavaScript而将所述数据结构(150)发送到分析服务器的代码。还提供了用于追踪对象不需要特定于对象的代码(154)的功能,用于动态发送这样的跟踪信息(156)的功能,以及用于支持说明这样的信息(152)的视觉呈现分析覆盖报告。Flash呈现分析可以使用与标准的JavaScript分析相同的访问者ID,而无需对两种分析代码进行同步。
Description
背景技术
通常通过可商业获得的web分析服务对经由浏览器进行的网站使用进行有规律地跟踪和分析,所述web分析服务收集与网页使用有关的详细数据以及某种程度上关于特定网站用户的详细数据。一个主要的web分析提供商是本发明的所有人——犹他州奥勒姆的Omniture公司。Omniture以其著名的商标SiteCatalystTM提供web分析技术。这里所使用的所有其它商标均为其各自所有人所拥有。
Flash呈现是使用Macromedia/Adobe软件所创建的交互式动画;FLASH是Adobe系统公司的注册商标。一些Flash呈现包括以被称作ActionScript的计算机编程(脚本)语言所实现的对象。ActionScript语言的一些特征与其它计算机语言相同,并且尤其与如所知的JavaScript(Sun MicroSystems公司的商标)那样的脚本语言相同。然而,不仅是作为编程语言,而且作为开发环境和执行环境,ActionScript和JavaScript之间也存在显著的差异。
在历史上,JavaScript代码被嵌入在一些网页中,以通过因特网将使用和配置数据从客户端web浏览器发送到分析服务器,来帮助对网站及其网页的使用进行跟踪和分析。Flash呈现中的ActionScript代码与JavaScript代码一起被用于网页中,以向分析服务器发送Flash呈现使用数据。ActionScript代码能够使用ActionScript函数getURL()或FSCommand等与JavaScript进行通信。例如,Flash呈现中的ActionScript对象可以使用诸如以下的ActionScript调用向JavaScript函数发送数据值:
getUR1(“j avascript:xyz(mydata)”)
使用getURL()进行Flash跟踪具有一些优点,同时也具有一些缺点。
在积极方面,如果某人已经使用了JavaScript代码,则其能够自动调节(leverage)网页上所设置的变量。可以通过更新JavaScript代码来进行修改,而无需对Flash呈现进行更新。可以使用现有的ActionScript结合JavaScript的技术来提供用于Flash呈现分析的Omniture ClickMapTM(Omniture公司的商标)视觉分析覆盖报告(visual analytics overlayreporting)。如果开发人员理解JavaScript,包括所讨论的特定JavaScript代码和环境的细微差别的话,则Flash呈现跟踪也相对容易实现。例如,在Omniture的情况下,这样的细微差别包括:理解Flash调用重新执行JavaScript,以使得再次将所有先前设置的变量发送给分析服务器,除非其被清除;理解必须对定制链路跟踪配置linkTrackVars和linkTrackEvents以进行工作;并且理解Omniture当前用于Flash实现的ClickMapTM使用JavaScript来通信并且依赖于用于数据传输的浏览器层级代码。
在消极方面,与web开发人员通常不同的Flash开发人员必须理解这样的细微差别。对Flash的测试还需要JavaScript代码处于适当的位置。此外,Flash仅能够引用网页上触发Flash呈现的JavaScript,这限制了跟踪和测试。由于调试包含Flash呈现和JavaScript代码两者,所以调试复杂。从Flash呈现所调用的JavaScript执行会产生动画效果问题,损害用户体验。同样,JavaScript的onClick()命令在Internet Explorer浏览器中产生点击声并导致Flash动画效果延迟。而且,Internet Explorer浏览器限制了可传送数据的数量,在一个版本中,每个getURL()请求仅508个字符,这限制了多变量跟踪。JavaScript代码经由getURL()被调用,并且如果对getURL()的后续调用和先前调用在时间上过于接近,则后续调用可能取消之前的调用。
可能以前已经传送了一些与Flash呈现相关的信息而没有使用JavaScript代码。Omniture已经为其客户提供了一种分析数据结构,所述客户能够使用所述分析数据结构来构建静态分析字符串以通过因特网直接从应用进行发送。已经能够使用ActionScript来发送该静态分析字符串而无需通过JavaScript代码。这提供了一些与Flash呈现的使用相关的有限数据。使用网页中所嵌入的JavaScript代码发送与所述网页相关的分析数据。然而,分析数据具有相对少的值,除非其与唯一访问者ID相关联,并且现有方法无法轻易将Flash相关的活动与触发Flash呈现的网页的访问者ID相匹配。所述方法也是静态的,而不是在用户与Flash呈现进行交互时提供动态生成的分析信息。
此外,在英国、西班牙和美国设有办公室的Sophus有限公司(网站为sophus3.com)显然已经开始从ActionScript代码将变量中的Flash播放器版本信息发送到服务器,而不使用getURL()来调用JavaScript代码。然而,还不清楚Sophus以不使用JavaScript的方式向分析服务器发送用户交互数据。此外,Sophus显然没有使用独立于对象的ActionScript跟踪代码来捕捉关于和Flash对象的用户交互的数据。
在历史上,跟踪诸如在Flash呈现中的按钮或电影剪辑之类的特定对象涉及为每个被跟踪对象添加特定的跟踪代码。例如,该特定于对象的代码会调用getUR1(),或者会更新定制的特定于对象的跟踪变量,其稍后被发送给分析服务器。这种方法的缺点在于如果将另一个对象加入Flash呈现,则其不会被跟踪,除非添加了进行该操作的特定代码并然后对Flash呈现进行重构。
虽然通常从网页触发Flash呈现,但是它们也可以在以下任一种或所有两种意义上单独呈现。首先,即使Flash播放器一般被提供为在浏览器内部运行的浏览器插件,其也能够在计算机上在web浏览器之外运行。因此,即使在没有运行浏览器的时候也值得对Flash使用进行跟踪。第二,能够在没有网络连接,具体地在没有到web的连接的情况下,运行Flash播放器。CD、DVD和其它可移动计算机可读存储介质可以由存储在它们上的Flash呈现(也可能是Flash播放器)进行配置。实际上,Flash播放器可以在不必是通用计算机的移动设备上运行。因此,即使在没有网络连接并由此没有选择时,至少在通过网络向分析服务器发送所收集的分析数据时,也值得对Flash使用进行跟踪。作为替代,分析数据可以本地存储,以便在稍后传送给分析服务器或者仅仅用于本地使用。
简言之,虽然通过调用具有ActionScript getURL()函数的JavaScript代码来跟踪Flash呈现使用具有一些优点,并且尽管这样做是一种完善的方法,但是也值得考虑其它方法。
与本发明相关的其它概念可通过该背景技术之外的其它来源得知或变得显而易见,包括但不限于连同本专利申请记录的引用。
发明内容
本发明提供了用于在诸如Flash和Flex呈现软件(Flash和Flex是Adobe系统公司的商标)的ActionScript应用中进行独立分析的工具和技术。一个实施例提供了能够独立于网页脚本进行操作的呈现分析引擎,包括:数据捕捉代码,其用于捕捉反映呈现中的用户动作的呈现分析数据;数据结构生成代码,其用于动态生成格式化的呈现分析数据结构的至少一部分;和数据发送代码,其用于向分析服务器发送所述数据结构。
所述呈现分析引擎可不依赖于任何getURL()调用来将所捕捉的呈现分析数据传送给嵌入在网页中的脚本,并且还可以不依赖于嵌入在网页中的任意呈现分析脚本。其可不依赖于呈现中的任何特定于对象的用户动作跟踪代码来捕捉ActionScript呈现分析数据。
所述呈现分析引擎还可以包含自动跟踪代码和/或视觉分析覆盖报告代码。其可使用ActionScript代码来实现。其可以是独立的或者其与web浏览器、显示在浏览器中的网页以及嵌入在网页中的脚本代码相结合来捕捉网页分析数据,所述网页分析数据反映在呈现之外在网页内的用户动作。其可以跟踪诸如用户页面浏览动作、用户链接跟随动作、用户剪辑浏览动作、用户按钮按压动作、用户回放完成百分比和/或呈现闪现(impression)计数之类的项目。
一个实施例提供了一种用于独立跟踪ActionScript呈现活动的方法,包括:在设备上接收诸如Flash呈现之类的包含ActionScript对象的多媒体呈现;捕捉呈现分析数据,该呈现分析数据反映用户与所述多媒体呈现的ActionScript对象的交互;在所述设备动态生成包含呈现分析数据的数据结构;发送呈现分析数据;自动跟踪用户与所述多媒体呈现的交互;和/或提供关于用户与所述多媒体呈现的交互的视觉分析覆盖报告。
所述方法不依赖于getURL()调用、嵌入在网页中的JavaScript代码、嵌入在网页中的VBScript代码和/或在Flash、Flex或其它多媒体呈现中的特定于对象的用户动作跟踪代码而进行操作。例如,所述设备可以是台式计算机、膝上型计算机、个人数字助理、具有Flash播放器的蜂窝电话、手持Flash播放器或其他移动设备。
所述方法可进一步包括:在所述设备上接收网页,该网页具有诸如脚本或web漏洞(bug)之类的嵌入式web跟踪机制;利用嵌入式web跟踪机制捕捉web分析数据,该web分析数据反映与所述网页的用户交互;以及向分析服务器发送web分析数据。向分析服务器发送web分析数据的步骤可关联于相应的访问者ID来发送它,并且发送呈现分析数据的步骤可关联于同一访问者ID向分析服务器发送该数据,而无需在执行web分析步骤的代码和执行呈现分析步骤的代码之间进行握手。例如,访问者ID可存储在浏览器cookie和/或Flash本地存储的对象(也称作库存储对象,LSO)中,或者甚至可以(在移动设备的情况下)从数据传输报头取得所述访问者ID。
这些示例仅仅是说明性的。本发明由权利要求所限定,并且即使该发明内容部分帮助提供权利要求的基础,但是对该发明内容部分与最终授权的权利要求相冲突的部分,也应以权利要求为准。
附图说明
为了说明能够获得本发明的优势和特征的方式,参考附图给出本发明的描述。这些附图仅图示了本发明的所选择方面,因而并没有全面确定本发明的范围。
图1是图示本发明一些实施例的角色、数据、信息流、系统、方法和其它方面的框图。
图2是根据本发明的至少一个实施例的使用呈现分析引擎和/或系统的方法或者由所述呈现分析引擎和/或系统所执行的方法的流程图。
具体实施方式
引言
本发明提供了帮助收集关于用户与Flash呈现、Flex呈现、其它ActionScript应用和其它多媒体呈现的交互的信息的工具和技术。这里还讨论了在这些呈现和网页用户交互跟踪工具和技术之间的关联、协同、通信或所缺少的关联、协同、通信的方面。
在这里的讨论以及在附图中通过特定示例对本发明进行说明,但是应理解,本发明的其它实施例可以脱离这些示例。例如,可以对示例中的特定特征进行省略、重命名、不同分组、重复、以硬件和/或软件不同地例示、以不同次序执行或者是在两个或更多示例中所出现的特征的混合。
术语的定义在本文档全文中明确或隐含地给出。术语在这里无需具有与其通常所使用的、在特定行业中所使用的或者在特定字典或字典组中所使用的相同的含义。关于新创术语和其它术语而言,发明人以其自己编撰的意思宣称并行使其权利。
具体地,诸如“自动跟踪”和“自动跟踪代码”之类的术语在这里具有特定含义。自动跟踪是能够使用无需开发人员在被跟踪呈现中插入特定于对象的跟踪代码而执行的分析数据收集和利用。AutoTrackTM是Omniture公司的商标。例如,自动跟踪特征监听Flash文件内的按钮和电影剪辑动作,并且自动跟踪这些对象的使用,无需特定于对象的代码,并且进行被跟踪活动的同时报告。例如,可以通过从ActionScript代码动态生成图像请求并且将所跟踪的数据量度包括在被发送给分析服务器的请求中来进行对所跟踪的活动的同时报告。因此,某人能够自动跟踪Flash文件的使用而无需相对于跟踪对各个按钮或电影剪辑为点击动作进行编码。由于不需要特定于对象的代码,所以这可以显著减少在Flash应用中实现和测试跟踪量度所需的时间。
另一个为了在这里使用而定义的术语是“视觉分析覆盖报告”。在常规上下文中的视觉分析覆盖报告(或“VAOR”)的示例是Omniture的ClickMapTM特征。ClickMapTM是Omniture公司的商标。并非由本发明人所发明的ClickMapTM报告以前已经提供了本领域中的Flash分析覆盖,但是是利用依赖于使用JavaScript代码进行通信以便跟踪活动的技术来实现的。现在,使用本发明的自有Flash ActionScript跟踪,ClickMapTM以及其它VAOR活动能够通过自有Flash ActionScript语言自动跟踪其它分析量度。这可以通过使用监听器代码来实现,所述监听器代码在用户点击可跟踪按钮或电影剪辑或其它可跟踪对象时动态生成适当的跟踪代码。
自动跟踪和视觉分析覆盖报告均涉及跟踪用户与ActionScript对象的交互,并且不需要添加特定于对象的代码来执行。为了实现该对于特定于对象的跟踪代码的独立性,自动跟踪增加了动态生成图像请求或来自ActionScript代码的其它通信,以将所跟踪的数据量度同时发送给分析服务器。对于特定于对象的跟踪代码的独立性,视觉分析覆盖报告添加对使用所跟踪的数据量度来创建视觉报告的支持,所述视觉报告覆盖了曾经/正在被跟踪的呈现。在给定情形中可以提供自动跟踪和视觉分析覆盖报告两者,而在另一种情形中仅提供它们中的一个或都不提供。
“网页脚本”,也称作“嵌入式脚本”或“嵌入式web脚本”,包括网页或类似文档的HTML或XML源代码中的JavaScript代码和/或VBScript代码,但并不局限于此。与作为跟踪与用户进行的呈现对象交互的呈现分析脚本相反,这样的脚本通常跟踪网页使用,并且因此跟踪web分析脚本。
所嵌入的“web跟踪机制”包括图像请求、web漏洞、JavaScript调用、HTTP GET或POST调用以及包括在或导入在网页(例如,HTML或XML文档)中的其它项目,所述项目具有在网络上向服务器或其它目标传送用户活动跟踪数据以支持web分析的效果。
本文中在一方面的“web分析”和另一方面的“呈现分析”之间进行了区分。web分析跟踪用户与网页的交互;而呈现分析则跟踪用户与多媒体呈现的交互。这里所关心的呈现跟踪可以与web分析协同完成,但是不必在本发明的每个实施例中都如此。
“多媒体呈现”包括Flash呈现、Flex呈现、含有ActionScript的其它呈现以及可与网页分别进行跟踪的其它多媒体呈现或富因特网应用(Rich Internet Application)。
“方案”是商业产品,其可以实现本发明的各个方面。方案具有一些特征的事实并不意味着在本发明的每个实施例中必须都存在该特征,虽然其可能在一些实施例中存在。类似地,“原型”是可实现或不实现所要求保护的本发明的各方面的部分开发的产品。
这里的涉及计算机和设备102的许多示例可以是计算机或多计算机系统。但是应理解,本发明可以以其它各种方式和环境来实现。计算机不是仅有能够接收Flash或其它呈现的设备102;蜂窝电话、移动电话、诸如以Blackberry商标出售的无线设备、诸如以Palm商标出售的个人数字助理和/或包括手持设备等的其它设备也可以提供支持跟踪用户动作的多媒体呈现。同样,一些示例涉及客户端机器,但是在对等网络以及客户端-服务器网络中也可以对多媒体呈现进行跟踪、分析等。也就是说,如果其确实处于网络之中,则设备102可以是客户端-服务器网络的一部分或者其可以是对等网络中的一端,或者其可以是某个其它类型的网络中的节点。
当参考可以由Omniture或Omniture客户端所进行的活动时,这些是可以由本发明的其他授权用户(例如所许可的分析服务提供商和其他客户)所进行的活动的一般性示例。
体系结构及其它
图1和图2图示了与本发明的至少一些实施例相一致的一些呈现分析体系结构。设备102向用户104提供了通过用户界面108对所加载202的呈现106的访问,所述用户界面108利用仅用作显示的屏幕、键盘、鼠标、轨迹球、触摸屏、触控笔、扬声器、麦克风和/或构成设备102的一部分或者可操作地连接至设备102的其它外设110。所述呈现可以从网站下载202或从本地存储加载202。所述呈现存储在某种形式的存储器112中,其可以是RAM、ROM或其它半导体存储器,并且还可以是诸如CD-ROM或DVD的可移动的计算机可读非易失性存储介质112。呈现播放器114播放所述呈现,并且通过诸如按钮、滑动条、菜单等的交互选项向用户104提供控制204。这些交互选项可以对应于对在所述呈现中的对象116所进行的选择或其它操作。所述呈现通常还包含视频和/或静止图像、声音文件、文本和类似内容118。其可包含用于导入呈现分析引擎代码的钩(hook)。
设备102可包括一个或多个处理器120和相关联的电路,用于执行以软件、固件或其它形式实现的呈现分析方法。可存在诸如操作系统软件、BIOS代码、引导代码、诊断代码、用户偏好、网络连接代码、文件系统代码等的基本软件122来提供功能,所述功能一般不必特定于呈现分析或者甚至特定于分析。网络代码可利用网络堆栈、网络协议、网络接口卡和/或其它网络支持124。
虽然web浏览器并非在每个实施例中都是必需的,但是所示的实施例包括web浏览器126,其已经从网站134下载了126网页128。除了文本、图像和其它内容130之外,网页还包括web分析脚本132,其将与用户104和网页的交互218相关的数据138发送到222分析服务器136(并且其也可以收集220所述数据)。例如,Omniture公司提供了这样的脚本132和服务器136等其它web分析服务。服务器134/136所生成的唯一访问者ID 140被存储124在浏览器cookie 142中,并且被传送到web分析服务器,以使得web分析数据138能够与特定访问者104相关联,或者至少与对网站134的特定访问相关联。如所指示的,呈现播放器114可以是单独的应用(由图1的左栏中的播放器所指示),或者其可以是浏览器插件(右栏播放器)。在一些情况下,除浏览器外的诸如馈给聚合器之类的程序也可能包括触发呈现106的下载和/或播放的脚本132和内容130,在这种情况下,可以替代地或附加地利用这样的聚合器或其它程序来应用这里结合浏览器所讨论的本发明的原理和特征。
所示出的实施例还包括呈现分析引擎144,其具有:数据捕捉代码(指令和/或数据)146,用于捕捉206反映用户104与呈现106的交互的呈现分析数据152;数据结构生成代码148,用于在用户交互期间实时(on-the-fly)生成208诸如字符串的包含至少一些所捕捉的呈现分析数据的格式化数据结构;以及数据发送代码150,用于例如将呈现分析数据发送210到本地文件和/或诸如呈现分析服务器136的其它目的地。一些实施例包括自动跟踪代码154,其支持对呈现分析的自动跟踪212,并且一些实施例包括VAORing代码156,用于创建、修改、显示和/或支持214视觉呈现分析覆盖报告。可以通过将其对JavaScript通信的依赖替换为固有的ActionScript通信而保留ClickMapTM用户界面来对现有技术的VAOR ClickMapTM代码进行修改以用于本发明。呈现分析引擎可使用224存储在浏览器cookie 142中并被web分析代码所使用的相同访问者ID 140。在一些实施例中,呈现分析引擎使用226存储在Flash cookie142中的访问者ID 140,诸如Flash本地存储对象。
无需每个发明实施例或配置都包括图中所示的每个组件,或包括与这里所示相同数量和关系的组件。虽然图2是主要示出了本发明的呈现分析方法的流程图,但是图1和这里对其它实施例的讨论也可以帮助理解方法实施例,就像方法的理解有时会帮助理解类似于图1所主要示出的系统或非方法实施例。
一些实施例包括计算机可读存储介质,诸如闪存、CD、DVD、可移动驱动器等,其被配置为与处理器120结合工作来执行用于呈现分析的处理。硬盘、RAM、磁带或其它存储器112也可以被配置成用作实现本发明的计算机可读存储介质。应理解,方法实施例和所配置的介质实施例在下列意义上通常紧密相关:许多方法可以使用配置介质的代码来实施,并且许多所配置的介质是由执行方法的代码来配置的。本领域技术人员将会理解,也可以使用不包含含有执行方法的代码的ROM、PROM、EEPROM、RAM或其它存储介质的硬布线的专用硬件来执行所述方法,但是认为这样的实现是非常规的,原因在于完全以硅而不用包含微码(microcode)或其它代码的介质来实现方法通常成本很高。
一些实施例包括根据本发明的呈现分析数据结构。这样的结构可存储在任意计算机可读介质中并由此对其进行配置,所述计算机可读介质包括可移动介质112或存储器112。呈现分析结构可以以C++、Java、XML、Perl和/或其它编程或脚本语言来实现,或者以语言的组合来实现,除非操作或权利要求限制需要其它形式;对于一些实施例优选ActionScript。所有这些示例都仅仅是对本领域技术人员可以利用本发明的许多方式的说明。
能够独立于网页脚本进行操作的呈现分析引擎144的一个实施例包括:数据捕捉代码146,用于捕捉反映用户104在呈现内的动作204的呈现分析数据152;数据结构生成代码148,用于动态生成208至少一部分格式化呈现分析数据结构152;以及数据发送代码150,用于向分析服务器136发送所述数据结构;其中所述呈现分析引擎进一步的特征在于其不依赖于任何getURL()调用来将所捕捉的呈现分析数据传送到嵌入在网页128中的脚本132,并且也不依赖于嵌入在网页中的任何呈现分析脚本132。一些实施例进一步包括自动跟踪代码154、视觉分析覆盖报告代码156中的至少一个。在一些实施例中,将唯一访问者ID140存储在浏览器cookie 142、本地共享对象142中的至少一个中。
在一些实施例中,数据发送代码150包括以下项中的至少一个:进行图像请求的代码、进行GET请求的代码、进行POST请求的代码、进行端口80请求的代码、进行FTP请求的代码、向共享文件写数据的代码、向共享存储器写数据的代码。在一些情况下,数据发送代码发送反映以下至少一个的分析数据:用户页面浏览活动204、用户链接跟随活动204、用户剪辑观看活动204、用户按钮按压活动204、用户播放完成百分比204、呈现闪现204计数。在一些情况下,引擎144包括ActionScript代码。在一些情况下,多媒体呈现106包括ActionScript对象116。
一些实施例将呈现分析引擎144与web浏览器126、在所述浏览器中显示的网页128和嵌入在所述网页中的脚本代码132相结合,以捕捉反映在呈现106之外的网页内的用户动作的网页分析数据138;并且其中引擎144不具有用于将呈现分析数据和网页的嵌入脚本代码进行同步的代码。网页的嵌入脚本代码132可包括JavaScript代码、VBScript代码中的至少一个。一些实施例将引擎144至少与分析服务器136和/或与包含用于导入引擎的代码158的多媒体呈现106相结合。
更具体地,一个ActionScript呈现分析引擎144包括:数据捕捉代码146,用于捕捉反映用户激活呈现中的至少一个ActionScript对象的ActionScript呈现分析数据;和数据发送代码150,用于发送至少一部分所捕捉的ActionScript呈现分析数据;其中所述引擎144不依赖于所述呈现中的任何特定于对象的用户动作跟踪代码来捕捉所述ActionScript呈现分析数据。在一些情况下,引擎144也不依赖于任何getURL()调用来发送所捕捉的ActionScript呈现分析数据。
在一些情况下,引擎144可以与呈现播放器114相结合,所述呈现播放器114与呈现106相兼容并且为用户交互204提供至少一个ActionScript对象。在一些情况下,以下的一个或多个可以是有效的:播放器114包括Flash呈现播放器;播放器114包括Flex呈现播放器;播放器114包括到web浏览器126的插件;呈现106至少部分嵌入在网页128中;呈现106至少部分存储在非易失性可移动计算机可读存储介质112上;播放器114运行在计算机102上;播放器114运行在手持或其它移动设备102上。
一些实施例提供了用于独立地跟踪ActionScript呈现活动的方法,包括:在设备102上接收202包含ActionScript对象116的多媒体呈现106;捕捉206反映用户与所述多媒体呈现的ActionScript对象的交互204的呈现分析数据152;以及发送210呈现分析数据;其中所述方法独立于以下的一个或多个进行操作:getURL()调用、嵌入在网页中的JavaScript代码132、嵌入在网页中的VBScript代码132、多媒体呈现中的特定于对象的用户动作跟踪代码。所述发送步骤可包括以下的至少一个:进行图像请求、进行GET请求、进行POST请求、进行端口80请求、进行FTP请求、向共享文件写数据、向共享存储器写数据。所述方法还可以包括在设备上动态生成208包含呈现分析数据的数据结构、自动跟踪212用户与多媒体呈现的交互204和/或提供214关于用户与多媒体呈现的交互204的视觉分析覆盖报告。
在一些情况下,所述方法进一步包括:在设备102上接收216具有所嵌入的web跟踪机制132的网页128;利用所嵌入的web跟踪机制132捕捉220反映用户与所述网页的交互的web分析数据138;以及向分析服务器136发送222web分析数据。在一些情况下,向分析服务器发送web分析数据的步骤222将其关联于相应的访问者ID140进行发送,并且发送呈现分析数据的步骤210将该数据与相同访问者ID相关联地发送到分析服务器,而无需在执行web分析步骤的代码和执行呈现分析步骤的代码之间进行通信。
开发观察和历史
除了以上观察之外,以下内容可帮助理解本发明的系统、设备、配置的媒体、方法和处理产品。在Omniture分析中,已经通过其对于执行JavaScript的要求尝试了Flash跟踪。从Flash应用捕捉量度的典型处理是在Flash中执行“getURL()”命令,其继而在浏览器层级执行HTML页面中的JavaScript。该处理在Flash开发人员理解JavaScript并且需要非常少量的跟踪的简单应用中工作良好。
本发明提供了一种可作为选择的方法,其运用Flash ActionScript来对Flash量度进行动态组织并将其发送到Omniture的数据收集服务器,或者可能发送到本发明的其它授权用户的数据收集服务器。可能早在2005年9月就已经做出了工作原型,并且被Omniture和其它公司在未公开协议和其它保密协议下所使用。本发明模仿了许多Omniture的JavaScript命令来处理和传送数据,并且以Flash固有的语言和格式即ActionScript来进行该操作。该方法的一些好处在于其简化了实现、改进了跟踪性能并且使得Flash跟踪不依赖于其它技术,允许Flash跟踪独立于浏览器中页面层级的脚本编写。其也是Omnitrue的媒体跟踪能力的不同之处。该技术对运用Omniture现有的处理体系结构,省略了对修改后端(POST收集)处理的需要。所有功能可以是在客户端侧,并且是Flash ActionScript所固有的。方案可以是向后兼容Flash播放器版本6,其在美国具有97.1%的分布,在美国以外超过98%的分布。其可以使用特定于Flash MX2004或更新的开发环境,但是播放器可与版本6兼容。
Omniture固有的Flash ActionScript跟踪能够简化实施Flash跟踪的处理,并且动态改进Flash跟踪的数据传输性能。从开发人员观看来说,该技术通过非常简单并且某些情况下是自动的用于Flash的OmnitureSiteCatalyst跟踪代码的开发人员实现提供了有力的Flash分析。其能够运用Flash ActionScript来动态生成208适当的分析数据152,并且通过相同的ActionScript将该数据传送210到Omniture而不需使用JavaScript。对于Omniture客户端的好处在于具有快速、固有的ActionScript支持的简化实现,并且在一些情况下利用ClickMapTM支持对活动进行自动跟踪。
原型方案最初开发于2005年并且在那时被提供给Omniture客户端。Starz娱乐使用该原型跟踪其作为独立应用的使用Flash和C++编程的Vongo播放器。该原型版本非常粗略并且作为使用ActionScript动态生成硬编码的图像请求的原始功能来提供。该版本没有运用Omniturecookie来进行跟踪。Starz娱乐作为visID密钥传递其自己的唯一跟踪代码,并且VISTA利用该唯一ID替换SiteCatalyst visID。在提供所述原型代码时签署了保护本发明的保密协议。
该方案的第二版本分发给GM Europe用于其Opel.de网站。该版本远优于Starz娱乐版本,原因在于其包括图像请求的动态生成,并且与JavaScript更一致,包括共享与JavaScript文件相同的cookie。该版本在2005年10月提供给该GM Europe的Flash开发者Zentropy。在提供所述代码时签署了保护本发明的保密协议。
该方案的第三版本在2006年2月分发给Scripps Networks(EWScripps)作为推广他们为媒体上的Summit呈现所准备的媒体跟踪能力的手段。Scripps的Flash开发专家Tim O’Neil接收到了该代码的副本并且为发明人提供了一些有益的反馈,诸如关于将方案代码封装到ActionScript 2.0组件中以便分发的代码样本。发明人记得Tim O’Neil的调整是针对封装,而并非针对组织和传送数据的基础功能144。在提供所述代码时签署了保护本发明的保密协议。
实现细节
Omniture的Flash ActionScript方案可以结合或者独立于OmnitureJavaScript 132运行,该Omniture JavaScript 132跟踪220、222传统的HTML页面128的。在上层,可以进行以下内容。Omniture的FlashActionScript生成图像请求,并且将其发送到Omniture服务器136。Flash使用穿过浏览器126的http(s)协议但不需要JavaScript 132。Omniture的CName()数据收集函数允许在浏览器中读取或设置cookie。浏览器对来自Flash的请求或来自JavaScript的请求如同对浏览器cookie同样地进行处理,并且即使当请求来自Flash时,唯一访问者也在SiteCatalystTM服务器代码中具有相同的visID 140。Omniture配置脚本在运行时动态地包括Omniture ActionScript144。
Omniture ActionScript跟踪方案运用Flash的ActionScript编程和http(s)协议技术来将分析数据152编译为可消费格式并且将所述数据传送210到Omniture的数据收集服务器136。ActionScript与JavaScript(和Java)类似,其中Flash应用106可以在运行时动态执行动作。Omniture的方案利用该功能基于(如应用开发人员所定义的)用户104动作来捕捉206分析信息,并且将该简单数据转换208为有意义的格式以便进行分析报告。接着,所述方案运用固有的Flash方法来发送210数据,以将格式化的量度数据推到Omniture以进行处理和报告。该数据传送处理使用用户浏览器126的http(s)协议,并且通过其利用正确访问者的唯一但非个人识别的ID 140和Flash应用的路径分析来设置(或者运用现有的)量度cookie 142。
某人可能会问在将数据放入cookie 142和生成210图像请求之间有什么关系。在一些实施例中,存储在cookie中的仅有数据是非个人识别但唯一的访问者ID 140。该访问者ID是确定唯一访问者的关键字,但是其独立于图像请求中的数据。所述图像请求包含用于报告呈现分析的特定变量152和定制值152。因此图像请求通常运用cookie来建立访问者唯一性,但是对于传送或报告数据152来说,来自所述cookie的访问者ID并不是必要条件。Cookie仅需要被用于唯一访问者量度。在Flash传送210图像请求时和当JavaScript传送222图像请求时该数值相同是重要的。如果这两种方法没有共享相同的唯一访问者ID,则系统136将会把访问JavaScript和Flash的一个用户104识别为两个唯一访问者,而将用户识别为单个访问者可能是优选的。作为选择,Flash还可以在库共享对象142(这是Flash的cookie版本,但是不认为其是传统浏览器cookie)中存储唯一访问者ID。这种方法能够利用库共享对象维护访问者的唯一性,并且可能与浏览器126共享该唯一ID 140,但是其需要几个额外步骤,例如将唯一ID发送给JavaScript代码,所述JavaScript代码进而将其发送给浏览器cookie和/或web分析服务器。理论上,LSO方法可以比浏览器cookie更为准确,但是其使用并不被一些隐私倡导者所赞成。
cookie的唯一ID被浏览器自动传送。当请求通过浏览器126时,浏览器收集请求所要到的域的所有cookie信息并对其自动传送。如以上所提到的,替代方法是以某种其它方式存储唯一访问者ID,诸如存储在库共享对象中,并接着通过图像请求对其进行传递以便处理。Starz娱乐原型使用这种通过图像请求的唯一ID传输方法并且其非常准确,尤其是在无需将唯一ID发送到浏览器126供JavaScript 132使用时。
因此,一种方法运用使用GET命令的图像请求字符串。当然,不需要返回真实的图像,所以在某种意义上它实际上不是图像请求。存在也可以使用传输数据152的替代方法。例如,Omniture数据收集服务器允许发送XML POST命令作为对图像请求所使用的GET的替代。该Flash应用106/114/144能够进行XML POST。作为XML POST或图像请求GET的替代,应用106/114/144也许能够直接对Omniture(或其它)服务器136进行端口80请求。其也能够收集信息152并接着经由FTP(文件传输协议)将其发送给收集服务器136来进行处理和吸收(ingest),但是使用FTP相对较慢并且会需要诸如登录、指定待传送文件和目标目录以及可能设置许可之类的多个附加步骤。
原型Omniture方案运用在运行时被包括158在待跟踪的Flash文件106中的集中(和编译)引擎144。所述待跟踪的Flash文件需要少量的脚本158来包括所述集中引擎,并且少量146来对关键成功事件执行函数。所述待跟踪的Flash文件的配置通过Flash组件进行处理,以便于分发和封装。虽然在dev中可见,但是组件144无需在运行时可见。
该版本中的集中引擎144被配置为几个部分。初始化部分对引擎的私有变量进行初始化,以生成用于传输的适当格式。另一部分具有生成传输字符串152的开始和一般部分的函数148。另一部分具有通过ActionScript 116进行动态解析以生成用于所述传输字符串的值以及用户定义和定制变量的函数148。第四部分的功能是改变148例如为与定制链接跟踪数据152相对的页面浏览数据152所生成的传输字符串的类型。以下提供来自原型的样本代码。
与JavaScript跟踪选项相比,AutoTrackTM特征154允许开发人员在小段时间中实现Omniture跟踪功能。AutoTrackTM代码154运用固有的Flash ActionScript来监听206点击活动204,动态编译208跟踪数据,并以有效的固有格式将其自动发送210到Omniture 136。Omniture对Flash的AutoTrack在Omniture的固有Flash ActionScript跟踪的基础之上来扩展。该特征监听可以被认为是可跟踪的按钮和电影剪辑动作,并且自动跟踪这些对象在Flash文件内的使用。Omniture客户端可以运用该特征来自动跟踪Flash文件的使用而无需对于相对于跟踪的点击动作对各个按钮或电影剪辑进行编码,原因在于自动跟踪代码自动索引新添加的按钮。AutoTrack可以动态减少用于跟踪Flash应用中的量度的实现和测试所需的时间。一些浏览器层级的报告对于自动跟踪可能是不可用的或者为其它方式,但是可以通过在可动态生成(客户端侧或服务器侧)的<object>标签中的flashvars来捕捉数据,例如当前浏览器URL(所托管的.swf文件的URL是缺省的)、参考域以及浏览器类型和版本。例如:
<object...
<PARAM NAME=FlashVars
VALUE="prop1=Hello%20World‖prop2=so%20cool">
</object>
或者
<object...
<param name=′movie"value="file1.swf?prop1=Hello
World&prop2=so cool”/>
</object>
ClickMapTM特征156运用固有的ActionScript来获得视觉点击覆盖的更好效果和准确性。Omniture代码编译208和传送210关于哪个对象116被点击204的特定信息152并允许ClickMapTM覆盖152显示与点击活动相关的视觉信息。在本发明之前的ClickMapTM功能已支持Flash分析覆盖,但是该技术依赖于使用JavaScript来与浏览器进行通信以便进行跟踪活动。现在,通过使用Omniture的固有Flash ActionScript跟踪,能够通过固有的Flash ActionScript语言利用其它分析量度自动跟踪ClickMapTM活动。这是通过使用监听器144来完成的,所述监听器144当用户在可跟踪的按钮或电影剪辑上进行点击时动态生成适当的跟踪代码。ClickMapTM代码156可以为已被点击204的按钮或电影剪辑自动确定适当的对象ID 116。对于ClickMapTM和AutoTrackTM,这可以通过循环(索引)对象以确定什么对象ID用于已被点击的对象(例如,按钮或电影剪辑)来实现。自动跟踪代码154和ClickMapTM代码154可以运用该信息来捕捉关于哪个对象被点击的信息152。在一种原型中,首先对对象进行索引,接着监听活动发生,并且接着代码循环被索引的对象来识别被选择或激活的对象。
从Flash开发人员的角度来看,实现处理以Flash开发人员向其开发环境添加158Omniture量度扩展开始。如这里所讨论的,该扩展将Omniture组件添加到开发环境的组件库。在添加了所述扩展后,所述组件在开发环境中一直可用。下一个步骤是将组件的实例从组件库拖到要跟踪的Flash应用的主时间行(timeline)上,并且给予其一个实例名称。接下来,开发人员利用Omniture所指示的几行代码对所述组件进行配置。利用适当配置,每个应用可能需要少于五分钟,这仅仅是向在Flash中需要进行跟踪的关键事件添加几行简单代码(在大多数情况下,仅一条代码行)的事件,或者使能自动跟踪而无需为每个事件添加脚本行。
对量度进行组织并向Omniture传送数据的引擎144通常应当被集中在与Flash应用文件相同的域服务器上。只要从相同域对文件进行分发,无论它们包括在哪个域上,都能够适当引用所述引擎。可能从与Flash应用不同的域引用所述引擎(集中文件)144,但是这需要向所述集中文件添加附加的许可,以允许不在相同域上的应用执行功能144。所述集中文件能够被替换,和/或按照需要进行更新,而无需对引用引擎144的Flash应用进行重新编译。
以下示出了在该方案的一个版本中在运行时导入集中引擎144的代码158的摘录。客户端必须将Omnitur组件的实例拖动到他们的Flash应用中,接着将一对代码行添加到对将要在运行时导入的引擎进行配置并开始跟踪的Flash应用。例如,在将Omniture组件的实例添加到Flash应用之后,将会添加以下代码行158来进行跟踪工作:
/*将Omniture组件的实例(_metrics)注册为监听器,以知道已加载analyticsEvents.swf的情况*/
_analytics.addEventListener("loaded",this,"onMetricsLoaded");
/*在加载Omniture分析引擎之后对其进行配置*/
function onMetricsLoaded(){
_analytics.account="devstephenh";
_analytics.pageURL="http://www.flashTest.com";
_analytics.clickMapPage="Flash AS Test";
analytics.autoTrack=true;
}
/*指向Omniture分析引擎的位置*/
_analytics.loadEvents("metricsEvents.swf");
可以在Omniture的JavaScript浏览器132活动和Omniture固有的Flash ActionScript跟踪144之间对唯一访问者量度进行同步。缺省地这是通过数据传输机制来完成的。由于该跟踪引擎运用Omniture的服务器侧的cookie创建,所以所有的cookie 142(甚至在相同域设置的第一方域cookie 142)连同其唯一访问者id140可用于数据传输210、222,并且保存技术132、144之间的唯一访问者计数,包括Omniture固有的FlashActionScript跟踪。可以利用Omniture固有的Flash ActionScript跟踪对唯一访问者量度进行扩展以包括唯一跟踪代码140而无需使用传统的浏览器cookie 142。运用在Flash环境中的库共享对象142(被称作LSO 142,本地共享对象142),能够存储和保存唯一标识符140以唯一识别唯一访问者,而没有个人可识别信息并处于隐私标准之内。
虽然该方案没有使用getURL(),但是getURL能够随其一起使用,尽管发明功能并未要求如此。getURL()方法具有重要的限制,并且意味着要链接到其它网页,例如
getURL("http://www.omniture.com")
将会把浏览器重新定向到新的页面omniture.com。函数getURL()已经被运用为与浏览器进行通信的手段。其被用来在浏览器层级执行客户端侧的代码,诸如重新定向或JavaScript。它对于使用getURL()将信息传递回浏览器可能是有用的,诸如Flash可能已经存储在LSO中或其它地方的唯一ID 140,但是getURL()通常并非是本发明方案所要求的。
Flash应用106/114能够独立于浏览器126运行,例如在操作系统122的上层运行,而不需要打开或运行浏览器。这里所描述的一些方案允许以这种方式进行跟踪206、208、210而不需要运行浏览器。Flash可以在运行于用户登录的浏览器之外时使其因特网连接124到操作系统的缺省浏览器,但是当呈现106嵌入在HTML代码中时Flash使用其所嵌入的浏览器126。这是http请求通过其从Flash播放器到达因特网并甚至到达Omniture 136的手段。Omniture没有设计Flash通信的该特定方法,但是正在运用其功能。如果Flash文件106发送了关于加载(闪现)的请求,应注意当在首次访问的第一页面上对其各自分析使用Flash和JavaScript时避免cookie竞争(race)。当在相同网页(具有或没有本发明)上使用两种版本的JavaScript时或者具有两个静态图像请求时也会发生cookie竞争。cookie竞争的概率并不特定于该Flash方案,但是却值得根据分析方案的特定环境进行考虑。
为了进一步帮助理解本发明,以下给出特定代码,包括来自为原型书写并被发明人使用的.txt文件的计算机程序源代码。所述代码是以ActionScript的脚本编程语言书写的。应理解,本发明并不限于以下所给出的特定代码或特征;该原型代码仅仅作为实例。其来自名为“Omniture_Native_Flash_Tracking_Code_4_17_2006.txt”的文件。
在该代码中,sendAnalytics()时生成数据字符串的最后部分的函数,其包括用于SiteCatalyst的定制变量。其循环对象并且搜索特定变量和值,然后生成适当的字符串。最后,其将数据发送给Omniture。其全部使用固有的ActionScript来完成。
所述原型包括“Private Vars[_]”的以下定义:
//发起检查错误的RS检查,直到initString()函数发现适当的值
var_sRSCheck:String;
//为其他函数保持所定义的电影URL的值(基于initString())
var_sURLCheck:String;
//私有变量
var_sAccount:String;
var_sDefaultRS:String;
var_sNameSpace:String;
var_sCName:String;
var_sURLString;
var_sReferrer:String;
var_sCharSet:String;
var_sCurrencyCode:String;
var_sDefaultPage:String;
var_sDefaultLink:String;
var_sCookieLifetime:String;
var_sScreenRes:String;
var_sClickMapPage:String;
var_sClickMaplD:String;
var_bClickMapSupport:Boolean;
var_bTestSupport:Boolean;
var_bAutoTrack:Boolean;
var_mcImageLoader:MovieClip;
var_mcMainMovie:MovieClip;
所述原型还包括“Setters”的以下定义,也就是用于设置特定变量的值的函数:
function setAccount(val:String):Void{
_sAccount=val;
}
function setNameSpace(val:String):Void{
_sNameSpace=val;
}
function setCName(val:String):Void{
_sCName=val;
}
function setURL(val:String):Void{
_sURL=val;
}
function setReferrer(val:String):Void{
sReferrer=val;
}
function setCurrencyCode(val:String):Void{
_sCurrencyCode=val;
}
function setCharSet(val:String):Void{
_sCharSet=val;
}
function setDefaultPageName(val:String):Void{
_sDefaultPage=val;
}
function setDefaultLinkName(val:String):Void{
sDefaultLink=val;
}
function setClickMapPage(val:String):Void{
_sClickMapPage=val;
}
function setCookieLifetime(val:String):Void{
_sCookieLifetime=val;
}
function setTestSupport(val:Boolean):Void{
_bTestSupport=val;
}
function setClickMapSupport(val:Boolean):Void{
_bClickMapSupport=val;
}
function setAutoTrack(val:Boolean):Void{
bAutoTrack=val;
}
function setMainMovie(val:MovieClip):Void{
mcMainMovie=val;
}
所述原型的初始化部分如下对测试中使用的代码进行初始化:
_mcImageLoader=this.createEmptyMovieClip("_mcImageLoader",100);
_sDefaultPage="Flash Application:Page View";
_sDefaultLink="Flash Application:Activity";
_sScreenRes=
System.capabilities.screenResolutionX+"x"+System.capabilities.screenResolution Y;
if(_bClickMapSupport){
indexMovie();
}
所述原型的“公布方法”部分仅仅是空的空的存根(stub),原因在于从代码的该测试版本不导出任何方法。
所述原型的部分提供了用于测试ActionScript ClickMap的代码156和用于ActionScript的自动跟踪能力的代码154。在初始化代码版本("this.VERSION="1.0.0";")之后,所述代码跟踪鼠标活动:
//将该对象命名为s_clickmap
_root.s_clickmap=this;
//观看要注册的所有鼠标点击
//如果未点击任何事物,则是电影剪辑
function onMouseDown(){
var target=this.getHitTarget(_root);
if(target!=null){
sendClickMapEvent(target);
}
trace(target);
}
//被onMouseDown()调用以递归发现点击
//对象,返回空意味着没有对象被点击
function getHitTarget(tree,pref){
for(var name in tree){
var child=tree[name];
//确保该对象确实是该树的子
if(child._parent!=tree){
continue;
}
//对电影剪辑进行命中测试
if((typeof(child)==′movieclip′‖child instanceof MovieClip)&&child.hitTest(_root._xmouse,_root._ymouse,true)){
var target=this.getHitTarget(child);
return target!=null?target:child;
//向所有的子按钮添加onPress事件
}else if(child instanceof Button && child.onPress!=this.buttonHandler){
child._ClickMapOldHandler=btn.onPress;
child.onPress=this.buttonHandler;
}
}
return null;
}
//这是创建ClickMap事件的位移按钮onPress处理体
//然后调用先前的onPress事件处理体
function buttonHandler(){
_root.s_clickmap.sendClickMapEvent(this);
this._ClickMapOldHandler();
}
//生成ClickMap事件
function sendClickMapEvent(id){
_sClickMapID=id;
//自动跟踪
if(_bAutoTrack){
trace("**autoTrack Enabled**");
sendLink(_sClickMapPage+":"+id);
}
}
利用所述原型进行跟踪包括对被跟踪的Flash电影剪辑进行索引。可以添加类似代码来跟踪其它Flash组件:
//对电影进行索引,将结果放在索引中,并且还返回它们
function indexMovie(){
var str=this.buildIndex(_root);
str=Stage.width+","+Stage.height+"|"+str;
this.index=str;
return str;
}
//获得电影剪辑或按钮的几何形状
function getGeom(clip){
var b=clip._parent.getBounds();
var pt={x:clip._x,y:clip._y};
var pt2={x:clip._x,y:clip._y};
//获得左上角
clip._x=b.xMin;
clip._y=b.yMin;
var b2=clip._parent.getBounds();
//获得右下角
clip._x=b.xMax;
clip._y=b.yMax;
var b3=clip._parent.getBounds();
//返回缺省位置
clip._x=pt.x;
clip._y=pt.y;
//发现角点
pt.x+=(b2.xMin-b.xMin);
pt.y+=(b2.yMin-b.yMin);
pt2.x+=(b3.xMax-b.xMax);
pt2.y+=(b3.yMax-b.yMax);
//将点转换成全局点
clip._parent.localToGlobal(pt);
clip._parent.localToGlobal(pt2);
//构建返回阵列
var geom={x:Math.round(pt.x),y:Math.round(pt.y),w:Math.ceil(pt2.x-pt.x),h:Math.ceil(pt2.y-pt.y)};
return geom;
}
//递归构建电影索引
function buildIndex(node){
var nodeId=eval(node)+′.′;
var str="";
for(var i in node){
var obj=node[i];
if(obj!=null && obj._name==i){
var id=eval(obj)+"";
if(id==(nodeId+i)){
var g=getGeom(obj);
str+=eval(obj)+","+g.x+",n+g.y+","+g.w+","+g.h+"|";
str+=this.buildIndex(obj);
}
}
}
return str;
}
还提供了方法148、150来创建208包含跟踪数据152的数据字符串,并将该数据字符串发送222给分析服务器。在所述原型中,Omniture服务器136是目的地,但是本发明的一些授权使用可将信息发送给由其它实体所管理的服务器。首先,创建所述数据字符串的初始部分:
//创建Omniture图像请求的初始部分
function initString(){
if(_sAccount!=undefined){
rs=_sAccount;
//如果rs具有值,则_sRSCheck将允许将数据发送到Omniture
_sRSCheck=rs;
}
//名称空间(或报告负载平衡的合适位置和cookie名称空间)
var sClientNS:String=_sNameSpace;
var sPreDomain:String=sClientNS;
if(sClientNS==undefined)‖sClientNS==""){
sPreDomain=(_sAccount!=undefined)?_sAccount:_sDefaultRS;
}
//应进行图像请求的CName
var dc:String=_sCName;
if(dc==undefined‖dc==""){
dc="112.2o7.net";
}
//如果不获得.swf文件的url,则获得当前的url(如果可用)
var sTempURLString=_sURL;
if(sTempURL==undefined‖sTempURL==""){
sTempURL=_mcMainMo vie._url;
}
//使所定义的URL对其他函数可用
_sURLCheck=sTempURL;
//获得ssl图像请求的协议
var sProto:String=sTempURLsubstr(0,5);
//用于避免该用户检索图像的“缓冲”版本的随机数
var rn:Number=Math.round(Math.random()*100000000);
//如果使用Omniture域
var domainCheck:String=substring(dc,5,3);
if(domainCheck=="2o7"){
//创建图像请求的字符串
var sImage:String=′http://′+sPreDomain+′.′;
}else{
var sImage:String=′http://′;
}
if(sProto==′https′){
sImage=′https://102.′;
}
sImage+=dc+′/b/ss/′+rs+′/1/H.4-pdv-2/s′+m+′?[AQB]&′;
sImage+=′g=′+escape(sTempURL);
//获得图像请求的机器时间
var cd:Date=new Date();
var ts=cd.getDate();
ts+="/"+cd.getMonth();
ts+="/"+cd.getFullYear();
ts+=""+cd.getHours();
ts+=":"+cd.getMinutes();
ts+=":"+cd.getSeconds();
ts+=""+cd.getDay();
ts+=""+cd.getTimezoneOffset();
sImage+=′&t=′+escape(ts);
if(sClientNS!=undefined && sClientNS!=""){
sImage+=′&ns=′+escape(sClientNS);
}
/**设置引用器(动态地从浏览器设置,并且传递flashvar)
但是确保仅是引用器的第一页才发送引用器
*/
if(_sReferrer!=undefined &&_sReferrer!=""){
sImage+=′&r=′+escape(_sReferrer);
//如果设置它,则应仅对定着页而不是对每个请求进行
_sReferrer=undefined;
}
if(_sCharSet I=undefined &&_sCharSet!=""){
sImage+=′&ce=′+escape(_sCharSet);
}
if(_sCurrencyCode!=undefined &&_sCurrencyCode!=""){
sImage+=′&cc=′+escape(_sCurrencyCode);
}
if(_sCoo kieLifetime I=undefined &&_sCookieLifetime!=""){
sImage+=′&c1=′+escape(_sCookieLifetime);
}
sImage+=′&s=′+escape(_sScreenRes);
return(sImage);
}
ClickMapTM数据还可以包括在向分析服务器发送的数据中。所述原型包括生成ClickMap字符串的函数148、156:
function buildClickMap(){
var tempString:String;
trace("**clickMapSupport Enabled**");
if(_sClickMapPage!=undefined &&_sClickMapPage!=""){
tempString+=′&pid=′+escape(_sClickMapPage);
tempString+=′&pidt=1′;
}else{
tempString+=′&pid=′+escape(_sURLCheck);
tempString+=′&pidt=0′;
}
tempString+=′&oid=′+escape(_sClickMapID);
tempString+=′&oidt=1′;
tempString+=′&ot=FLASH′;
return(tempString);
}
所述原型还包括动态生成208图像标签并将其发送210到分析服务器136的函数148、150:
//利用所有属性等动态构建图像标签
function sendAnalytics(iString:String,obj:Object):Void{
var sImage:String=iString;
for(var i in obj){
var sTempVar.String=i.substr(0,4);
sTempVar=sTempVar.toLowerCase();
var sIName=i;
switch(sTempVar){
case"prop":sTempVar=i.substr(4,2);
sIName="c"+sTempVar;
break;
case"evar";
sTempVar=i.substr(4,2);
sIName="v"+sTempVar;
break;
case"chan";
sIName="ch";
break;
case"camp";
sIName="v0";
break;
default;
break;
}
sImage+=′&′+sIName+′=′+escape(obj[i]);
}
//适用于所有的ClickMap,如果这应仅仅用于页面或链接,则移动到页面或链接函数
if(_bClickMapSupport){
sImage+=buildClickMap();
}
sImage+=′&[AQE]′;
//版本
var ver_:Array=getVersion().split("");
var p_ver_info:String=ver_[1];
var p_ver:String=p_ver_info.substr(0,1);
var p_os:String=ver_[0];
//如果在线或离线并且版本低于8,则发送数据,以避免对于播放器8的隐私警告
if(_sRSCheck!=undefined){
var IvOmnSend:loadVars=new LoadVars();
varIvOmnRecieve:loadVars=new LoadVars();
//检查是否在线
if(sProto.substr(0,4)=="http"){
var bStatus:Boolean=true;
}else{
var bStatus:Boolean=false;
}
if(bStatus){
lvOmnSend.sendAndLoad(sImage,IvOmnRecieve,"GET");
//如果在浏览器外,并且版本大于7,则不进行图像请求(测试是否将其设置为8)
}else{
if(p_ver<8‖_bTestSupport==true){
if(_bTestSupport==true){
trace("**testSupport Enabled**");
}
IvOmnSend.sendAndLoad(sImage,IvOmnRecieve,"GET");
}
}
trace("NOTE;Unless testSupport is enabled(ex._metrics.testSupport=true;)Version 8 and newer players will not send data outside the browser.\n\n URL Decoded Analytics:"+unescape(sImage)+"\n\n Actual Request:"+sImage);
}
}
所述原型还具有用于创建208页面浏览报告152并且创建208定制链接报告152的功能148。相对于是页面上的微级别活动的定制链接,页面浏览是宏级别的网页浏览。页面浏览跟踪对浏览了哪些页面进行跟踪,也可能跟踪以什么顺序、在哪个访问期间、通过哪个唯一访问者等。页面浏览被顺序处理并且从所述顺序得出路径分析。多个页面浏览可归结于访问、唯一访问者等。定制链接跟踪对那些链接被点击进行跟踪(同样,这可以跟踪以什么顺序、在哪个访问期间、通过哪个唯一访问者等),并且被称作“定制”是因为卖主(Omniture的客户)可以指定跟踪哪些链接。也就是说,术语“定制链接”已经被用来识别客户已经定制代码以便跟踪的链接。在Flash跟踪的情况下,可认为没有使能自动跟踪所进行的任意跟踪在某种意义上是定制的,导致客户定制的页面浏览或定制链接跟踪的可能性。原型页面浏览和定制链接代码如下:
//创建页面浏览
function sendPage(iName:String,iObj:Object){
var tempString:String=initString();
if(iName==undefined){
tempString+=′&pageName=′+escape(_sURLCheck);
}else{
tempString+=′&pageName=′+escape(iName);
}
sendAnalytics(tempString,iObj);
}
//创建定制链接
function sendLink(iName:String,iObj:Object,linkType:String,
exitLink:String){
vartempString:String=initString();
if(linkType!=undefined){
if(linkType=="d"){
tempString+=′&pe=lnk_d′;
}else if(linkType=="e"){
tempString+=′&pe=lnk_e′;
}else{
tempString+=′&pe=lnk_o′;
}
}else{
tempString+=′&pe=lnk_o′;
}
if(exitLink!=undefined && exitLink!=""){
tempString+=′&pev1=′+escape(exitLink);
}else{
tempString+=′&pev1′=+escape(_sURLCheck);
}
if(iName==undefined){
tempLinkName=_mcMainMovie._url+"Link Action";
tempString+=′&pev2=′+escape(tempLinkName);
}else{
tempString+=′&pev2′=+escape(iName);
}
sendAnalytics(tempString,iObj);
}
本领域技术人员应理解,以上代码仅是原型,并且在实现产品时,可以为了调试、安全性、改进速度或效率等进行适当改进和其它变化。
结论
例如,虽然本发明的特定实施例在这里清楚示出和描述为方法,但是应理解一种类型的实施例的讨论通常也可以扩展到其它实施例类型。例如,方法的描述也有助于描述设备、所配置的媒体和方法产品。对一个实施例的限制无需解读到另一实施例。
例如,从消费者104的角度、Flash开发人员的角度、网站卖主的角度或分析服务提供商136的角度来看,本发明的操作和/或其它使用是有效的,但是为了简明,这里的焦点通常集中在用户或开发人员的角度上。然而,卖主、分析服务提供商或其它实体所执行的相应步骤和/或方法也落入本发明的范围之内。因此,附图标记202既指接收呈现(用户/开发人员角度)也指发送呈现(开发人员/卖主角度)。同样,附图标记210既指发送呈现分析数据(用户/开发人员角度)也指接收这样的数据(分析服务提供商/卖主角度)。
所记载的所有权利要求作为说明书的一部分并且因而帮助描述本发明,并且重复的权利要求语言可以按照需要插入权利要求之外,而不违背禁止新主题。诸如“一”和“该”的术语包括一个或多个所指示的项目或步骤。在权利要求中,在存在/执行所述项目或步骤的情况中没有明确指示其是可选的情况下,对于项目的引用意味着存在至少一个这样的项目,并且对于步骤的引用意味着执行步骤的至少一个实例。这里所提供的标题仅是出于便利;关于给定主题的信息通常可以在其标题指示该主题的部分之外发现。
诸如所示出的方法或对应系统的实施例可以省略项目/步骤、重复项目/步骤、对它们进行区分分组、利用类似项目/步骤对它们进行补充或者包括给定示例的变化。本领域技术人员使用这里所给出的教导以及编程语言和工具可容易地提供有助于实施本发明的适当软件,所述编程语言和工具包括但不限于(除非明确表达需要)ActionScript代码以及其它脚本语言、HTML、XML、API、SDK、网络协议堆栈、汇编语言、固件、微代码、编译器、调试器和/或其它语言和工具。
虽然该文档包括至少一个网站地址,但是这样的地址和因而所寻址的站点上的素材仅作为背景和/或示例提供以帮助说明本发明。该文档并未通过引用而从那些网站合并任何实质性素材。
这里所讨论的实施例是本发明原理的说明性应用。可设计多种修改和替代实施例而并不背离本发明的精神和范围。
Claims (22)
1.一种能够独立于网页脚本进行操作的呈现分析引擎(144),包括:
数据捕捉代码(146),其用于捕捉(206)反映呈现中的用户(104)动作的呈现分析数据;
数据结构生成代码(148),其用于动态生成(208)格式化的呈现分析数据结构的至少一部分;和
数据发送代码(150),其用于向分析服务器发送(210)所述数据结构;
其中所述呈现分析引擎的特征进一步在于它不依赖于任何getURL()或FSCommand调用来将所捕捉的呈现分析数据传送给嵌入在网页(128)中的脚本(132),并且也不依赖于嵌入在网页中的任何呈现分析脚本。
2.如权利要求1所述的引擎,进一步包括以下的至少一个:自动跟踪代码(154)、视觉分析覆盖报告代码(156)。
3.如权利要求1所述的引擎,与存储在以下的至少一个中的唯一访问者ID(140)相结合:浏览器cookie、本地共享对象、传输报头。
4.如权利要求1所述的引擎,其中所述数据发送代码(150)包括以下的至少一个:进行图像请求的代码、进行GET请求的代码、进行POST请求的代码、进行端口80请求的代码、进行FTP请求的代码、向共享文件写数据的代码、向共享存储器写数据的代码。
5.如权利要求1所述的引擎,其中所述引擎(144)包括ActionScript代码。
6.如权利要求1所述的引擎,与包括ActionScript对象(116)的多媒体呈现(106)相结合。
7.如权利要求1所述的引擎,与以下相结合:web浏览器(126);显示在所述浏览器中的网页(128);和嵌入在所述网页中的脚本代码(132),以捕捉反映在所述呈现之外在所述网页中的用户动作的网页分析数据;并且其中所述引擎不具有用于将呈现分析数据与所述网页的嵌入脚本代码进行同步的代码。
8.如权利要求7所述的引擎,其中所述网页的嵌入脚本代码(132)包括以下的至少一个:JavaScript代码、VBScript代码。
9.如权利要求1所述的引擎,与分析服务器(136)相结合。
10.如权利要求1所述的引擎,与包含用于导入所述引擎的代码(158)的多媒体呈现(106)相结合。
11.一种ActionScript呈现分析引擎(144),包括:
数据捕捉代码(146),其用于捕捉(206)反映呈现(106)中的至少一个ActionScript对象(116)的用户激活的ActionScript呈现分析数据;和
数据发送代码(150),其用于发送(210)所捕捉的ActionScript呈现分析数据的至少一部分;
其中所述引擎(144)不依赖于所述呈现(106)中的任何特定于对象的用户动作跟踪代码来捕捉所述ActionScript呈现分析数据。
12.如权利要求11所述的引擎,其中所述引擎也不依赖于任何getURL()或FSCommand调用来发送(210)所捕捉的ActionScript呈现分析数据。
13.如权利要求11所述的引擎,其中所述数据发送代码(150)发送(210)反映以下的至少一个的分析数据:用户页面浏览活动、用户链接跟随活动、用户剪辑浏览活动、用户按钮按压活动、用户回放完成百分比、呈现闪现计数。
14.如权利要求11所述的引擎,与呈现播放器(114)相结合,所述呈现播放器(114)与所述呈现相兼容并且提供与所述至少一个ActionScript对象的用户(104)交互。
15.如权利要求14所述的引擎和播放器的组合,其中以下的至少一个有效:所述播放器(114)包括Flash呈现播放器;所述播放器(114)包括Flex呈现播放器;所述播放器(114)包括到web浏览器(126)的插件;所述呈现(106)至少部分地嵌入在网页(128)中;所述呈现(106)至少部分地存储在非易失性可移动的计算机可读存储介质(112)上;所述播放器(114)运行在计算机上;所述播放器(114)运行在手持设备上。
16.一种用于独立地跟踪ActionScript呈现活动的方法,包括:
在设备(102)上接收包含ActionScript对象(116)的多媒体呈现(106);
捕捉(206)反映用户(104)与所述多媒体呈现(106)的ActionScript对象的交互的呈现分析数据;和
发送(210)呈现分析数据;
其中所述方法的操作不依赖于以下的每一个或全部:getURL()或FSCommand调用、嵌入在网页中的JavaScript代码、嵌入在网页(128)中的VBScript代码。
17.如权利要求16所述的方法,其中所述发送步骤(210)包括以下的至少一个:进行图像请求、进行GET请求、进行POST请求、进行端口80请求、进行FTP请求、向共享文件写数据、向共享存储器写数据。
18.如权利要求16所述的方法,其中所述方法的操作不依赖于以下的每一个或全部:getURL()或FSCommand调用、嵌入在网页(128)中的JavaScript代码、嵌入在网页(128)中的VBScript代码、所述多媒体呈现(106)中的特定于对象的用户动作跟踪代码。
19.如权利要求16所述的方法,进一步包括以下的至少一个:自动跟踪(212)用户与所述多媒体呈现的交互、提供(214)关于用户与所述多媒体呈现的交互的视觉分析覆盖报告。
20.如权利要求19所述的方法,进一步包括:
在所述设备上接收(216)具有所嵌入的web跟踪机制的网页;
利用所嵌入的web跟踪机制捕捉(220)反映用户与所述网页的交互的web分析数据;
向分析服务器(136)发送(222)web分析数据。
21.如权利要求20所述的方法,其中向分析服务器发送(222)web分析数据的所述步骤关联于相应的访问者ID对其进行发送,并且发送(210)呈现分析数据的所述步骤关联于相同的访问者ID向所述分析服务器发送该数据,而无需在执行所述web分析步骤的代码和执行所述呈现分析步骤的代码之间进行通信。
22.如权利要求16所述的方法,进一步包括在所述设备动态生成(208)包含呈现分析数据的数据结构。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/380,195 US8775919B2 (en) | 2006-04-25 | 2006-04-25 | Independent actionscript analytics tools and techniques |
US11/380,195 | 2006-04-25 | ||
PCT/US2007/061445 WO2007127517A2 (en) | 2006-04-25 | 2007-02-01 | Independent actionscript analytics tools and techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101454764A true CN101454764A (zh) | 2009-06-10 |
CN101454764B CN101454764B (zh) | 2012-10-10 |
Family
ID=38620775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780014724XA Active CN101454764B (zh) | 2006-04-25 | 2007-02-01 | 独立ActionScript分析工具和技术 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8775919B2 (zh) |
EP (1) | EP2013743A4 (zh) |
JP (1) | JP5227308B2 (zh) |
CN (1) | CN101454764B (zh) |
AU (1) | AU2007243143A1 (zh) |
CA (1) | CA2649834A1 (zh) |
WO (1) | WO2007127517A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411603A (zh) * | 2011-08-15 | 2012-04-11 | 北京神州泰岳软件股份有限公司 | 大屏幕展示信息的方法 |
CN103443781A (zh) * | 2010-11-03 | 2013-12-11 | 谷歌公司 | 数据递送 |
CN103729287A (zh) * | 2012-10-16 | 2014-04-16 | 百度在线网络技术(北京)有限公司 | 一种前端javascript组件的测试方法和装置 |
CN103870385A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(北京)有限公司 | 调试flash动画的方法和flash动画在线调试系统 |
CN106796597A (zh) * | 2015-02-11 | 2017-05-31 | 最佳收藏有限公司 | 自动化智能数据抓取和验证 |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065410B1 (en) | 2004-03-31 | 2011-11-22 | Compuware Corporation | Methods and apparatus for collecting performance metrics from a web site |
US8775919B2 (en) * | 2006-04-25 | 2014-07-08 | Adobe Systems Incorporated | Independent actionscript analytics tools and techniques |
US8190752B1 (en) | 2006-05-17 | 2012-05-29 | Juniper Networks, Inc. | Secure delivery of flash content over networks |
US8332818B1 (en) | 2006-06-26 | 2012-12-11 | Versata Development Group, Inc. | Flash testing framework |
US8495204B2 (en) * | 2006-07-06 | 2013-07-23 | Visible Measures Corp. | Remote invocation mechanism for logging |
US8869066B2 (en) | 2006-07-06 | 2014-10-21 | Addthis, Llc | Generic content collection systems |
US8112550B2 (en) * | 2006-09-19 | 2012-02-07 | Tacoda Llc | System and method for preserving consumer choice |
US8056092B2 (en) * | 2006-09-29 | 2011-11-08 | Clearspring Technologies, Inc. | Method and apparatus for widget-container hosting and generation |
US20080082627A1 (en) * | 2006-09-29 | 2008-04-03 | Allen Stewart O | Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation |
US8239522B1 (en) * | 2006-11-16 | 2012-08-07 | Adobe Systems Incorporated | Dynamic variables for tracking wireless device website usage |
US9009728B2 (en) | 2007-03-06 | 2015-04-14 | Addthis, Inc. | Method and apparatus for widget and widget-container distribution control based on content rules |
US8266274B2 (en) | 2007-03-06 | 2012-09-11 | Clearspring Technologies, Inc. | Method and apparatus for data processing |
US20080301555A1 (en) * | 2007-05-30 | 2008-12-04 | Nokia Corporation | System and method for providing animated browser thumbnails |
JP5039946B2 (ja) * | 2007-07-26 | 2012-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クライアント装置およびサーバ装置の間の通信を中継する技術 |
US8095650B1 (en) * | 2007-07-30 | 2012-01-10 | Compuware Corporation | Methods and apparatus for real user monitoring including flash monitoring |
US20090089420A1 (en) * | 2007-10-01 | 2009-04-02 | Michael Caruso | Flash tracking system and method |
US8209378B2 (en) | 2007-10-04 | 2012-06-26 | Clearspring Technologies, Inc. | Methods and apparatus for widget sharing between content aggregation points |
US8307101B1 (en) | 2007-12-13 | 2012-11-06 | Google Inc. | Generic format for storage and query of web analytics data |
US8489731B2 (en) * | 2007-12-13 | 2013-07-16 | Highwinds Holdings, Inc. | Content delivery network with customized tracking of delivery data |
US8429243B1 (en) * | 2007-12-13 | 2013-04-23 | Google Inc. | Web analytics event tracking system |
US9275056B2 (en) * | 2007-12-14 | 2016-03-01 | Amazon Technologies, Inc. | System and method of presenting media data |
KR100843544B1 (ko) * | 2008-03-24 | 2008-07-04 | 방용정 | 웹 사이트의 접속자별로 접속 통계를 생성하는 방법 |
EP2291745B1 (en) * | 2008-04-15 | 2013-07-03 | Foresee Results | Method and medium for remote tracking of user interaction with a webpage |
US20130132833A1 (en) * | 2008-04-15 | 2013-05-23 | Foresee Results, Inc. | Systems and Methods For Remote Tracking And Replay Of User Interaction With A Webpage |
US8245200B2 (en) * | 2008-07-11 | 2012-08-14 | International Business Machines Corporation | Method, system, and apparatus for dynamically injecting logging statements into web 2.0 javascript applications |
US9372900B2 (en) | 2008-08-08 | 2016-06-21 | Adobe Systems Incorporated | Method and system for processing measurement data for website statistics |
US8214736B2 (en) * | 2008-08-15 | 2012-07-03 | Screenplay Systems, Inc. | Method and system of identifying textual passages that affect document length |
US9363134B1 (en) | 2008-09-12 | 2016-06-07 | Amazon Technologies, Inc. | Lightweight browser monitoring and viewing |
CN102025761B (zh) * | 2009-09-21 | 2013-07-17 | 腾讯科技(深圳)有限公司 | 实现Web装置与Flash装置协同工作的方法与系统 |
US8849847B2 (en) | 2010-02-03 | 2014-09-30 | Get Smart Content, Inc. | Rules-based targeted content message serving systems and methods |
US9356845B1 (en) * | 2010-03-05 | 2016-05-31 | Forbes Media Llc | System and method for audience segment profiling and targeting |
US9785722B2 (en) | 2010-04-01 | 2017-10-10 | Forsee Results, Inc. | Systems and methods for remote replay of user interaction with a webpage |
CN103052947B (zh) | 2010-08-16 | 2015-10-14 | 乐天株式会社 | 万维网管理装置、万维网管理方法、万维网管理程序、记录了该程序的计算机可读取记录介质以及万维网系统 |
WO2012068255A2 (en) * | 2010-11-16 | 2012-05-24 | Art Fritzson | Systems and methods for identifying and mitigating information security risks |
US8732301B1 (en) | 2011-06-10 | 2014-05-20 | Google Inc. | Video aware pages |
US8560683B2 (en) * | 2011-06-10 | 2013-10-15 | Google Inc. | Video and site analytics |
US9459990B2 (en) | 2012-03-27 | 2016-10-04 | International Business Machines Corporation | Automatic and transparent application logging |
US9679297B2 (en) * | 2012-04-27 | 2017-06-13 | Adobe Systems Incorporated | Method and apparatus for isolating analytics logic from content creation in a rich internet application |
US9531637B2 (en) * | 2012-11-08 | 2016-12-27 | Ingersoll-Rand Company | System, apparatus, and methods for server and computer interaction via web cookies |
US9626066B2 (en) * | 2012-11-19 | 2017-04-18 | Adobe Systems Incorporated | Video playback analytics collection |
US8843827B2 (en) | 2013-01-22 | 2014-09-23 | Tealium Inc. | Activation of dormant features in native applications |
US9356948B2 (en) | 2013-02-08 | 2016-05-31 | PhishMe, Inc. | Collaborative phishing attack detection |
US9398038B2 (en) | 2013-02-08 | 2016-07-19 | PhishMe, Inc. | Collaborative phishing attack detection |
US8966637B2 (en) | 2013-02-08 | 2015-02-24 | PhishMe, Inc. | Performance benchmarking for simulated phishing attacks |
US9253207B2 (en) | 2013-02-08 | 2016-02-02 | PhishMe, Inc. | Collaborative phishing attack detection |
US9053326B2 (en) | 2013-02-08 | 2015-06-09 | PhishMe, Inc. | Simulated phishing attack with sequential messages |
US9491222B2 (en) * | 2013-03-13 | 2016-11-08 | Nice-Systems Ltd. | System and method for interoperability between flex applications and .NET applications |
CN103235732B (zh) * | 2013-04-22 | 2015-12-09 | 四三九九网络股份有限公司 | 一种批量解析flash小游戏ActionScript的方法和装置 |
KR101499327B1 (ko) | 2013-05-31 | 2015-03-18 | 주식회사 유비온 | 플래쉬 기반 스마트 러닝 컨텐츠의 재생장치 |
US20150066587A1 (en) | 2013-08-30 | 2015-03-05 | Tealium Inc. | Content site visitor processing system |
US11695845B2 (en) | 2013-08-30 | 2023-07-04 | Tealium Inc. | System and method for separating content site visitor profiles |
US8805946B1 (en) | 2013-08-30 | 2014-08-12 | Tealium Inc. | System and method for combining content site visitor profiles |
US9537964B2 (en) | 2015-03-11 | 2017-01-03 | Tealium Inc. | System and method for separating content site visitor profiles |
US8880999B1 (en) | 2013-09-20 | 2014-11-04 | Axure Software Solutions, Inc. | Language notification generator |
US9081789B2 (en) | 2013-10-28 | 2015-07-14 | Tealium Inc. | System for prefetching digital tags |
WO2015069659A1 (en) | 2013-11-05 | 2015-05-14 | Tealium Inc. | Universal visitor identification system |
US9262629B2 (en) | 2014-01-21 | 2016-02-16 | PhishMe, Inc. | Methods and systems for preventing malicious use of phishing simulation records |
US9288256B2 (en) | 2014-04-11 | 2016-03-15 | Ensighten, Inc. | URL prefetching |
US10965763B2 (en) * | 2014-07-31 | 2021-03-30 | Wells Fargo Bank, N.A. | Web analytics tags |
US9462009B1 (en) * | 2014-09-30 | 2016-10-04 | Emc Corporation | Detecting risky domains |
US9906539B2 (en) | 2015-04-10 | 2018-02-27 | PhishMe, Inc. | Suspicious message processing and incident response |
CN104994128B (zh) * | 2015-05-15 | 2019-04-26 | 北京网康科技有限公司 | 一种数据编码类型识别及转码方法和装置 |
CN105468701B (zh) * | 2015-11-18 | 2018-09-14 | 车智互联(北京)科技有限公司 | 一种计算外部来源对网站流量波动的影响度的方法和装置 |
US20170147159A1 (en) * | 2015-11-19 | 2017-05-25 | International Business Machines Corporation | Capturing and storing dynamic page state data |
US9807184B1 (en) | 2016-06-02 | 2017-10-31 | Tealium Inc. | Configuration of content site user interaction monitoring in data networks |
WO2018045312A1 (en) * | 2016-09-01 | 2018-03-08 | Foresee Results, Inc. | System and computer-implemented method for in-page reporting of user feedback on a website or mobile app |
CN106484435A (zh) * | 2016-10-26 | 2017-03-08 | 合肥润客软件科技有限公司 | 一种基于Flex的集成化软件研发管理系统 |
CN107608805B (zh) * | 2017-09-22 | 2020-06-02 | 深圳易嘉恩科技有限公司 | Js与flash通信的方法 |
US11146656B2 (en) | 2019-12-20 | 2021-10-12 | Tealium Inc. | Feature activation control and data prefetching with network-connected mobile devices |
KR102375770B1 (ko) | 2021-03-18 | 2022-03-18 | 주식회사 에이토즈 | 인플루언서에 대한 정보를 분석하기 위한 전자 장치 및 그 동작 방법 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963916A (en) * | 1990-09-13 | 1999-10-05 | Intouch Group, Inc. | Network apparatus and method for preview of music products and compilation of market data |
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US7133846B1 (en) * | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
US5966139A (en) | 1995-10-31 | 1999-10-12 | Lucent Technologies Inc. | Scalable data segmentation and visualization system |
US6026397A (en) | 1996-05-22 | 2000-02-15 | Electronic Data Systems Corporation | Data analysis system and method |
US5870559A (en) | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US6643696B2 (en) | 1997-03-21 | 2003-11-04 | Owen Davis | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5796952A (en) | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6393407B1 (en) | 1997-09-11 | 2002-05-21 | Enliven, Inc. | Tracking user micro-interactions with web page advertising |
US6182097B1 (en) | 1998-05-21 | 2001-01-30 | Lucent Technologies Inc. | Method for characterizing and visualizing patterns of usage of a web site by network users |
US6266649B1 (en) | 1998-09-18 | 2001-07-24 | Amazon.Com, Inc. | Collaborative recommendations using item-to-item similarity mappings |
US6466970B1 (en) | 1999-01-27 | 2002-10-15 | International Business Machines Corporation | System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment |
US6393479B1 (en) | 1999-06-04 | 2002-05-21 | Webside Story, Inc. | Internet website traffic flow analysis |
US6754873B1 (en) | 1999-09-20 | 2004-06-22 | Google Inc. | Techniques for finding related hyperlinked documents using link-based analysis |
US6489968B1 (en) | 1999-11-18 | 2002-12-03 | Amazon.Com, Inc. | System and method for exposing popular categories of browse tree |
US6826540B1 (en) * | 1999-12-29 | 2004-11-30 | Virtual Personalities, Inc. | Virtual human interface for conducting surveys |
US6671711B1 (en) | 2000-03-31 | 2003-12-30 | Xerox Corporation | System and method for predicting web user flow by determining association strength of hypermedia links |
US6862574B1 (en) | 2000-07-27 | 2005-03-01 | Ncr Corporation | Method for customer segmentation with applications to electronic commerce |
US20020042750A1 (en) | 2000-08-11 | 2002-04-11 | Morrison Douglas C. | System method and article of manufacture for a visual self calculating order system over the world wide web |
US6850988B1 (en) | 2000-09-15 | 2005-02-01 | Oracle International Corporation | System and method for dynamically evaluating an electronic commerce business model through click stream analysis |
AU2002230449A1 (en) | 2000-11-15 | 2002-05-27 | Mark Frigon | Method and apparatus for processing objects in online images |
US20020087621A1 (en) | 2000-12-29 | 2002-07-04 | Hendriks Chris L. | Method and system to manage internet user navigation data |
JP2002207764A (ja) | 2001-01-09 | 2002-07-26 | Kentop:Kk | 商品情報配信システム |
US20020093529A1 (en) | 2001-01-18 | 2002-07-18 | Raja Daoud | Method and apparatus to optimize a computing session based on user interaction with a computer |
US20020156909A1 (en) | 2001-02-15 | 2002-10-24 | Harrington Jeffrey M. | System and method for server side control of a flash presentation |
US20020186237A1 (en) | 2001-05-16 | 2002-12-12 | Michael Bradley | Method and system for displaying analytics about a website and its contents |
US6963874B2 (en) | 2002-01-09 | 2005-11-08 | Digital River, Inc. | Web-site performance analysis system and method utilizing web-site traversal counters and histograms |
US6877007B1 (en) * | 2001-10-16 | 2005-04-05 | Anna M. Hentzel | Method and apparatus for tracking a user's interaction with a resource supplied by a server computer |
US20030128231A1 (en) | 2002-01-09 | 2003-07-10 | Stephane Kasriel | Dynamic path analysis |
US20030131097A1 (en) | 2002-01-09 | 2003-07-10 | Stephane Kasriel | Interactive path analysis |
US20040205157A1 (en) | 2002-01-31 | 2004-10-14 | Eric Bibelnieks | System, method, and computer program product for realtime profiling of web site visitors |
US7143365B2 (en) * | 2002-06-18 | 2006-11-28 | Webtrends, Inc. | Method and apparatus for using a browser to configure a software program |
CN1708762A (zh) | 2002-10-28 | 2005-12-14 | 雅虎公司 | 用于创建、递送以及跟踪广告的方法和系统 |
WO2004051449A2 (en) * | 2002-12-04 | 2004-06-17 | Koninklijke Philips Electronics N.V. | Register file gating to reduce microprocessor power dissipation |
US7587486B2 (en) | 2003-01-08 | 2009-09-08 | Microsoft Corporation | Click stream analysis |
CN1203403C (zh) | 2003-01-17 | 2005-05-25 | 天图信息技术(上海)有限公司 | 网视网络广告投放系统中的后台智能下载方法 |
JP2004326698A (ja) * | 2003-04-28 | 2004-11-18 | Defide Kk | リッチインターネットアプリケーション作成プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体並びにリッチインターネットアプリケーション作成方法 |
GB2405233A (en) | 2003-08-22 | 2005-02-23 | Smartmarket Technologies Ltd | Electronic mail transactions |
JP2005182364A (ja) * | 2003-12-18 | 2005-07-07 | Canon Software Inc | Www中継サーバおよび情報閲覧時間計測方法およびプログラムおよび記録媒体 |
JP2005352007A (ja) | 2004-06-09 | 2005-12-22 | Konica Minolta Business Technologies Inc | 画像形成装置及び画像形成方法 |
JP4210241B2 (ja) * | 2004-06-11 | 2009-01-14 | 株式会社ビデオリサーチ | 調査方法及びプログラム |
US20060265435A1 (en) * | 2005-05-18 | 2006-11-23 | Mikhail Denissov | Methods and systems for locating previously consumed information item through journal entries with attention and activation |
US8775919B2 (en) * | 2006-04-25 | 2014-07-08 | Adobe Systems Incorporated | Independent actionscript analytics tools and techniques |
-
2006
- 2006-04-25 US US11/380,195 patent/US8775919B2/en active Active
-
2007
- 2007-02-01 CA CA002649834A patent/CA2649834A1/en not_active Abandoned
- 2007-02-01 WO PCT/US2007/061445 patent/WO2007127517A2/en active Search and Examination
- 2007-02-01 EP EP07756565A patent/EP2013743A4/en not_active Withdrawn
- 2007-02-01 JP JP2009507862A patent/JP5227308B2/ja active Active
- 2007-02-01 AU AU2007243143A patent/AU2007243143A1/en not_active Abandoned
- 2007-02-01 CN CN200780014724XA patent/CN101454764B/zh active Active
-
2014
- 2014-05-29 US US14/290,878 patent/US9614927B2/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103443781A (zh) * | 2010-11-03 | 2013-12-11 | 谷歌公司 | 数据递送 |
US9154388B2 (en) | 2010-11-03 | 2015-10-06 | Google Inc. | Data delivery |
CN103443781B (zh) * | 2010-11-03 | 2016-10-05 | 谷歌公司 | 数据递送 |
US9602369B2 (en) | 2010-11-03 | 2017-03-21 | Google Inc. | Data delivery |
US10284441B2 (en) | 2010-11-03 | 2019-05-07 | Google Llc | Data delivery |
CN102411603A (zh) * | 2011-08-15 | 2012-04-11 | 北京神州泰岳软件股份有限公司 | 大屏幕展示信息的方法 |
CN103729287A (zh) * | 2012-10-16 | 2014-04-16 | 百度在线网络技术(北京)有限公司 | 一种前端javascript组件的测试方法和装置 |
CN103729287B (zh) * | 2012-10-16 | 2018-01-05 | 百度在线网络技术(北京)有限公司 | 一种前端javascript组件的测试方法和装置 |
CN103870385A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(北京)有限公司 | 调试flash动画的方法和flash动画在线调试系统 |
CN103870385B (zh) * | 2012-12-13 | 2017-08-25 | 腾讯科技(北京)有限公司 | 调试flash动画的方法和flash动画在线调试系统 |
CN106796597A (zh) * | 2015-02-11 | 2017-05-31 | 最佳收藏有限公司 | 自动化智能数据抓取和验证 |
CN106796597B (zh) * | 2015-02-11 | 2020-12-22 | 最佳收藏有限公司 | 计算机化的方法、服务器计算机系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20070250618A1 (en) | 2007-10-25 |
JP2009536760A (ja) | 2009-10-15 |
US8775919B2 (en) | 2014-07-08 |
WO2007127517A2 (en) | 2007-11-08 |
AU2007243143A1 (en) | 2007-11-08 |
WO2007127517A3 (en) | 2008-10-16 |
CA2649834A1 (en) | 2007-11-08 |
JP5227308B2 (ja) | 2013-07-03 |
US20140280684A1 (en) | 2014-09-18 |
EP2013743A2 (en) | 2009-01-14 |
US9614927B2 (en) | 2017-04-04 |
CN101454764B (zh) | 2012-10-10 |
EP2013743A4 (en) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101454764B (zh) | 独立ActionScript分析工具和技术 | |
JP6494609B2 (ja) | カスタマイズされたソフトウェア開発キット(sdk)生成のための方法および装置 | |
US9742661B2 (en) | Uniform resource locator mapping and routing system and method | |
KR102218995B1 (ko) | 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치 | |
CN101131747B (zh) | 捕获和/或分析客户端的Web页面事件的方法、装置及系统 | |
CN103150513B (zh) | 拦截应用程序中的植入信息的方法及装置 | |
CN109074277A (zh) | 在移动应用中启用有状态动态链接 | |
CN106528657A (zh) | 浏览器跳转至应用程序的控制方法及装置 | |
KR102504075B1 (ko) | 사용자 디바이스 이벤트의 매칭 및 속성 | |
US10360133B2 (en) | Analyzing analytic element network traffic | |
CN102597993A (zh) | 利用统一资源标识符管理应用状态信息 | |
Evjen et al. | Professional ASP. NET 4 in C# and VB | |
US10826802B2 (en) | Managing network communication protocols | |
Sharma | Modern API Development with Spring and Spring Boot: Design highly scalable and maintainable APIs with REST, gRPC, GraphQL, and the reactive paradigm | |
Suria et al. | An enhanced web service recommendation system with ranking QoS information | |
Sheltren et al. | High Performance Drupal: Fast and Scalable Designs | |
Teixeira | Instant Node. js Starter | |
Cole | Hands-on Microservices with C#: Designing a Real-world, Enterprise-grade Microservice Ecosystem with the Efficiency of C# 7 | |
Raman et al. | Building RESTful Web Services with Spring 5: Leverage the Power of Spring 5.0, Java SE 9, and Spring Boot 2.0 | |
US20190065511A1 (en) | Tag plan generation | |
CN111870937B (zh) | 一种数据处理方法、模拟服务器及时效性应用 | |
Pasquali | Deploying Node. js | |
Frécon | Web (-like) Protocols for the Internet of Things | |
Aivalis | Advances in metrics and e-commerce evaluation techniques | |
Dimac | Rebuilding old WordPress page into modern web application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: ADOBE SYSTEMS INC. Free format text: FORMER OWNER: OMNITURE INC. Effective date: 20101117 |
|
C41 | Transfer of patent application or patent right or utility model | ||
COR | Change of bibliographic data |
Free format text: CORRECT: ADDRESS; FROM: UTAH STATE, AMERICA TO: CALIFORNIA STATE, AMERICA |
|
TA01 | Transfer of patent application right |
Effective date of registration: 20101117 Address after: American California Applicant after: Adobe Systems Inc. Address before: American Utah Applicant before: Omniture Inc. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |