CN105683912B - 对于应用程序的优化的方法 - Google Patents

对于应用程序的优化的方法 Download PDF

Info

Publication number
CN105683912B
CN105683912B CN201480047398.2A CN201480047398A CN105683912B CN 105683912 B CN105683912 B CN 105683912B CN 201480047398 A CN201480047398 A CN 201480047398A CN 105683912 B CN105683912 B CN 105683912B
Authority
CN
China
Prior art keywords
native applications
modification
applications program
variant
content
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.)
Active
Application number
CN201480047398.2A
Other languages
English (en)
Other versions
CN105683912A (zh
Inventor
A·J·J·贝利
I·塞尼成克
S·奥弗切兰柯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxymiser Ltd
Original Assignee
Maxymiser Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maxymiser Ltd filed Critical Maxymiser Ltd
Publication of CN105683912A publication Critical patent/CN105683912A/zh
Application granted granted Critical
Publication of CN105683912B publication Critical patent/CN105683912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明的领域涉及对于原生应用程序的优化的方法、系统、计算设备以及服务器。所述方法包括以下步骤:(i)将通用代码应用于所述原生应用程序以产生修改的原生应用程序,该修改的原生应用程序被配置为与所述计算设备外部的服务器通信,和(ii)从所述服务器远程地配置所述修改的原生应用程序,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容。

Description

对于应用程序的优化的方法
技术领域
本发明的领域涉及对于原生应用程序(native application)的优化的方法,涉及包括这种原生应用程序在其上可执行的计算设备的系统,涉及这种原生应用程序在其上可执行的计算设备,以及涉及被配置为与这种原生应用程序在其上可执行的计算设备通信的服务器。
背景技术
计算设备上的应用程序的优化是有挑战性的,因为当应用程序被编写时,通常不可能设想这种应用程序在未来可能期望供使用的所有使用。迄今,应用程序已响应于各种事件而更新,诸如响应于在软件发布之后发现的错误,或者响应于针对在软件中新发现的安全漏洞的保护。然而,典型地,应用程序的更新涉及更新的软件版本从软件的供应商的供应,用于安装在相关联的计算设备上替代原始的软件版本。另外的方面在于应用程序的开发者不具有并排比较应用程序性能以评估应用程序的两个或多个版本中的哪一个例如对于销售或动作具有较好的性能的可能性。
相关技术的讨论
EP1352322(A2)和EP1352322B1公开了软件应用程序的时间优化替换,并且特别地公开一种用于替换处于与新软件一起使用的旧软件的方法,这允许软件的最大可用性。该方法被细分成准备阶段和活跃阶段。准备阶段在旧软件的操作期间发生。活跃阶段仅仅通过MOVE(移动)命令的执行来表征。
FR2841014A1和FR2841014(B1)公开一种用于优化计算机程序的方法,其响应于属于一组事件的事件发生而引起第一和第二预定状态之间的转变,其中该方法具有以下步骤:选自一组事件的事件的子组的读取;当事件组的事件不属于自生成组时,使用寄存器并且等同于第一决策图的第二决策图的建模;以及对于所述转变建模的软件功能的生成。另外公开一种用于优化计算机程序的设备。
然而,在优化软件应用程序上提供更大的速度或灵活性是期望的。实现用户对应用程序中的变化的响应的精确度量(measure)同样是期望的。
发明内容
根据本发明的第一方面,提供一种对于原生应用程序的优化的方法,所述原生应用程序的软件以基于反射的编程语言编写,所述原生应用程序在包括显示器和处理器的计算设备上可执行,所述原生应用程序被配置为在所述计算设备的显示器上显示用户界面,所述方法包括以下步骤:
(i)将通用代码应用于所述原生应用程序以产生修改的原生应用程序,该修改的原生应用程序被配置为与所述计算设备外部的服务器通信,和
(ii)从所述服务器远程地配置所述修改的原生应用程序,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容。
优点在于修改的原生应用程序可以进一步被修改,而不执行原生应用程序的新版本的安装。另外的优点在于修改的原生应用程序可以进一步非常快速地被修改,因为它可从远程服务器远程地配置。另外的优点在于修改的原生应用程序可以响应于在远程服务器处确定的因素而进一步被修改,因为修改的原生应用程序可从远程服务器远程地配置。另外的优点在于原生应用程序被容易地修改以提供修改的原生应用程序。另外的优点在于可以提供用户对应用程序中的变化的响应的精确度量。对计算设备外部的处理存在技术效果,因为服务器可以远程地配置修改的原生应用程序。计算机以新的方式操作,因为更改的用户界面由修改的原生应用程序产生,而不安装原生应用程序的新版本。计算机是更好的计算机,因为修改的原生应用程序可以进一步被修改,而它的操作没有以典型地与新的软件版本的安装相关联的方式被中断。
该方法可以是这种方法,其中所述通用代码是需要被应用于所述原生应用程序的源代码以启用所述修改的原生应用程序的优化的唯一代码。优点在于简单地进行原生应用程序的修改。
该方法可以是这种方法,其中所述通用代码使得许多种类的优化能够在优化系统的用户界面中远程地配置,而不改变原生应用程序的多个版本和实例内的代码。优点在于原生应用程序的多个版本和实例不需要被修改。
该方法可以是这种方法,其中在运行时对所述修改的原生应用程序的结构和行为进行修改包括对所述修改的原生应用程序的值、元数据、性质、图像和功能中的一个或多个进行修改。优点在于可以以许多方式来修改所述修改的原生应用程序。
该方法可以是这种方法,其中所述计算设备是移动设备、触摸屏设备、智能电话、视频游戏控制台、计算机、智能TV、TV机顶盒或者可连接到因特网的设备。优点在于该方法可以应用于许多类型的设备,包括很少更新的设备,如果有的话。
该方法可以是这种方法,其中所述计算设备通过到服务器的移动电话网络或者有线或无线广域网(WAN)可连接到因特网。优点在于该方法可以用于不同类型的连接。
该方法可以是这种方法,其中所述优化包括实时对于每个用户适配(adapt)视觉体验以便增加用户完成期望动作的概率(probability)。优点在于可以获得增加的用户交互。
该方法可以是这种方法,其中所述期望动作是点击或下单。优点在于可以获得增加的用户交互。
该方法可以是这种方法,其中基于反射的编程语言是常见的基于反射的编程语言。优点在于这种语言容易被使用。
该方法可以是这种方法,其中所述方法进一步包括收集关于用户/设备的一个或多个属性,以在瞄准(target)、扼要描述(profile)或分析用户行为中使用。优点在于可以提供用户定制的用户界面输出。
该方法可以是这种方法,其中收集的属性是以下的一个或多个:到设备的连接类型(例如2G、3G、4G、Wi-Fi);设备类型;应用程序版本;操作系统类型和版本;位置(例如通过坐标、城市、国家、洲、邮编);因特网服务提供商;对应用程序的过去访问的新近(recency)和细节;过去动作的新近和细节;诸如与特定产品类别的过去交互的定制用户定义的属性;用户有机会从各种位置启动应用程序的引用源;通过日期、天、小时的访问时间,以及从诸如CRM数据库的其它位置导入的数据。优点在于可以提供用户定制的用户界面输出。
该方法可以是这种方法,进一步包括以下步骤:使用访问者/设备的属性从活动(campaign)中排除或包括访问者/设备。优点在于可以获得对相关用户的提高的聚焦。
该方法可以是这种方法,进一步包括以下步骤:根据访问者/设备的属性结合对于其它用户分段(segment)信息的规则,创建分段规则以将内容指向访问者/设备。优点在于可以获得对相关用户的提高的聚焦。
该方法可以是这种方法,其中在活动期间以及在活动之后优化原生应用程序性能。优点在于所产生的益处在更长的时间段上产生。
该方法可以是这种方法,其中可更改的用户界面内容包括以下的一个或多个:
a)简单的文本或图像块(页面的标头(header)、横幅(banner))移动、调整大小、隐藏、重定格式;
b)按钮文本、移动、调整大小、重定格式和隐藏;
c)“推送通知”频率和内容;
d)显示的照片(照片可以存储在外部服务器上);
e)新的文本或图像块;
f)列表&表格(排序,显示多少项目);
g)应用程序内的导航路径(例如,“添加到购物车”将用户引导至购物车页面还是返回到类别页面以做出进一步的选择),以及
h)基于最后的用户选择显示导航。
优点在于可以更改宽范围的用户界面内容。
该方法可以是这种方法,其中所述原生应用程序包括库。优点在于内容可以本地存储在计算设备上以用于重复使用,或者用于在间断连接期间使用。
该方法可以是这种方法,其中所述库对于所有应用程序是静态的。
该方法可以是这种方法,其中所述库被配置为向内容生成器发送请求并且从内容生成器接收响应。优点在于库可以使用最近的配置数据。优点在于库更新可以是自动化的。
该方法可以是这种方法,其中所述库与包括在所述原生应用程序中的原生应用程序缓存交互。优点在于用于用户与它交互的内容和唯一识别符可以本地存储在计算设备上以用于重复使用,或者用于在间断连接期间使用。
该方法可以是这种方法,其中所述原生应用程序缓存被配置为接收从外部服务器推送的内容。
该方法可以是这种方法,其中在原生应用程序开始时所述库对内容生成器做出请求。优点在于库的数据尽可能是最新的,并且用户将仅看到最最新的用户界面内容。
该方法可以是这种方法,其中所述库被布置为对内容生成器做出请求,该请求在参数中包括位置和用户属性。优点在于提高的定制。
该方法可以是这种方法,其中所述库包括以下模块的一个或多个:
1)CG请求模块;
2)外部资产模块(图像事务(transaction));
3)跟踪模块(动作跟踪,发送结果到CG);
4)应用程序对象识别模块;
5)MVT模块(实现备选(alternative)的内容可视化);
6)个性化模块;
7)分段模块,以及
8)管理控制台模块。
该方法可以是这种方法,其中所述库可以修改代码指令中仅指定的对象和性质。
根据本发明的第二方面,提供根据本发明的第一方面的任何方面的方法的用途,用于从可选择按钮的至少两个备选当中优化显示在显示器上的所述可选择按钮。优点在于可以显示最适当的按钮。
根据本发明的第三方面,提供根据本发明的第一方面的任何方面的方法的用途,用于基于最近使用的过滤选项,从显示的产品的至少两个备选当中优化显示器上的所述显示的产品。优点在于可以显示最适当的产品。
根据本发明的第四方面,提供根据本发明的第一方面的任何方面的方法的用途,用于基于最近查看的食物类别,从显示的食物产品的至少两个备选当中优化显示器上的所述显示的食物产品。优点在于可以显示最适当的产品。
根据本发明的第五方面,提供根据本发明的第一方面的任何方面的方法的用途,用于基于对于显示的广告的记录的点进率,从显示的广告的至少两个备选当中优化显示器上的所述显示的广告。优点在于可以显示最适当的广告。
根据本发明的第六方面,提供一种包括服务器、计算设备以及修改的原生应用程序的系统,所述计算设备包括显示器和处理器,所述修改的原生应用程序在所述计算设备上可执行,所述修改的原生应用程序软件以基于反射的编程语言编写,所述修改的原生应用程序被配置为在所述计算设备的显示器上显示用户界面,原生应用程序已通过将通用代码应用于所述原生应用程序被修改以产生被配置为与所述计算设备外部的服务器通信的修改的原生应用程序,其中所述修改的原生应用程序可由所述服务器远程地配置,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容。
优点在于修改的原生应用程序可以进一步被修改,而不执行原生应用程序的新版本的安装。另外的优点在于修改的原生应用程序可以进一步非常快速地被修改,因为它可从远程服务器远程地配置。另外的优点在于修改的原生应用程序可以响应于在远程服务器处确定的因素而进一步被修改,因为修改的原生应用程序可从远程服务器远程地配置。另外的优点在于可以提供用户对应用程序中的变化的响应的精确度量。
该系统可以被配置为执行根据本发明的第一方面的任何方面的方法。
该系统可以是这种系统,其中所述服务器进一步被配置为收集关于用户/设备的一个或多个属性,以在瞄准、扼要描述或分析用户行为中使用。
该系统可以是这种系统,其中所述服务器进一步被配置为通过属性值过滤报告,该报告包括转换(conversion)和收入报告。
该系统可以是这种系统,其中所述服务器进一步被配置为基于属性发现分段,该分段可能需要不同的体验来增加转换率。
该系统可以是这种系统,其中所述服务器被配置为自动检测较高表现的内容变体(variant)并然后布置为使那些较高表现的内容变体服务于更多的未来访问者。
该系统可以是这种系统,其中所述系统包括将完结的活动切换为服务“仅获胜者(winner)”的模式的能力,这意味着为了应用用户体验或内容的获胜变化原生应用程序供应商不需要对代码进行更新。
该系统可以是这种系统,其中所述系统包括自学习的预测算法,该自学习的预测算法自动将每个用户趋向对于该个体的最佳提供(offer)。
该系统可以是这种系统,其中所述系统包括用于使分析处理自动化以发现用户分段的分段发现处理,所述用户分段需要与总体获胜者不同的体验以针对该分段的度量增加性能。
该系统可以是这种系统,其中所述系统提供多变量测试。
该系统可以是这种系统,其中所述服务器被配置为向所述原生应用程序发送分段规则。
该系统可以是这种系统,其中所述系统被配置为跟踪以下的一个或多个:
a)特定屏幕(例如在订单完成时显示的屏幕)的视图;
b)按钮点击或手指/尖笔轻敲;
c)相关网站页面上的跟踪;
d)音频/视频播放器播放时间,以及
e)动作属性和动作值机会(例如以或其它货币度量销售值)。
该系统可以是这种系统,其中所述系统被配置为度量用户对应用程序中的变化的响应。优点在于可以获得用户对应用程序中的变化的响应的精确度量。
根据本发明的第七方面,提供本发明的第六方面的任何方面的系统的用途,其中诸如持有的产品或者客户购买产品的倾向的历史客户信息可以被用于在原生应用程序上对于每个客户动态地驱动最佳的、个性化的体验。
根据本发明的第八方面,提供一种包括显示器和处理器的计算设备,所述计算设备包括其软件以基于反射的编程语言编写的修改的原生应用程序,所述修改的原生应用程序在设备上可执行,所述修改的原生应用程序被配置为在所述计算设备的显示器上显示用户界面,所述修改的原生应用程序已通过将通用代码应用于原生应用程序被修改以产生被配置为与所述计算设备外部的服务器通信的修改的原生应用程序,其中所述修改的原生应用程序可由所述服务器远程地配置,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容。
根据本发明的第九方面,提供一种被配置为与计算设备通信的服务器,所述计算设备包括显示器和处理器,所述计算设备包括其软件以基于反射的编程语言编写的修改的原生应用程序,所述修改的原生应用程序在所述计算设备上可执行,所述修改的原生应用程序被配置为在所述计算设备的显示器上显示用户界面,所述修改的原生应用程序已通过将通用代码应用于原生应用程序被修改以产生被配置为与所述计算设备外部的服务器通信的修改的原生应用程序,其中所述服务器被布置为远程地配置所述修改的原生应用程序,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容。
根据本发明的第十方面,提供一种包括服务器、多个计算设备以及修改的原生应用程序的系统,每个计算设备包括显示器和处理器,所述修改的原生应用程序在所述多个计算设备上可执行,修改的原生应用程序软件以基于反射的编程语言编写,所述修改的原生应用程序被配置为在所述多个计算设备的每一个的显示器上显示用户界面,原生应用程序已通过将通用代码应用于所述原生应用程序被修改以产生被配置为与所述多个计算设备外部的服务器通信的修改的原生应用程序,其中所述修改的原生应用程序可由所述服务器远程地配置,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容,其中所述服务器被布置为以多个不同的配置对所述多个计算设备上的多个修改的原生应用程序进行配置,并且记录关于所述多个不同配置的多个计算设备上的用户动作的度量。优点在于可以提供用户对应用程序中的变化的响应的精确度量。
附图说明
现在将仅通过示例的方式,参考以下附图描述本发明的以上和其它方面,其中:
图1示出测试如何在应用程序内部工作的示例。
图2以表格的形式示出创建优化系统的示例。
图3至14示出规范(specification)的示例。
图15示出一旦活动被设立,从实现开始直到它被发布时上线可以经过的状态的示例。
图16示出属性的示例。
具体实施方式
提供一种对于原生应用程序的优化的方法。
Maxymiser已创建了一种对存在于从智能电话到视频游戏控制台、PC、智能TV和TV机顶盒的许多类型的因特网连接设备上的原生软件应用程序进行优化的新方法。在示例中,优化意味着实时对于每个用户适配视觉体验,以便增加用户完成像点击或下单这样的期望动作的概率。
本发明涉及一种对于其软件以基于反射的编程语言,例如任何常见的基于反射的编程语言编写的原生应用程序的优化的方法。在计算机科学中,反射是计算机程序在运行时检查和修改程序的结构和行为(例如,值、元数据、性质和功能)的能力。原生应用程序可以在计算机、视频游戏站、智能电话或者典型地通过到服务器的移动电话网络或者有线或无线广域网(WAN)连接到因特网的任何其它种类的设备上运行。
对于原生应用程序的优化的方法可以包括通过将通用代码应用于原生应用程序来将原生应用程序优化系统与原生应用程序集成的步骤,通用代码是需要应用于原生应用程序的源代码以使得原生应用程序优化系统能够通过更改以下的一个或多个来优化原生应用程序的唯一代码:原生应用程序中的用户界面(UI)的数据、功能或内容资产。这是第一次优化系统能够使用用于集成的通用代码被集成,这然后可以使得许多种类的优化能够在优化系统的用户界面中远程地配置,而不改变原生应用程序的多个版本和实例内的代码。先前的方法需要对于每个优化活动应用新的代码,这创建新的发布版本在优化可以开始之前由用户从服务器下载的需求。这种新的方法去除该需求,由此使得优化程序更快并且更复杂先进。
该方法可以能够收集关于用户/设备的以下属性以在瞄准、扼要描述或分析用户行为中使用:
●设备类型,应用程序版本和操作系统版本
●位置(例如通过坐标、城市、国家、洲、邮编)
●因特网服务提供商和连接类型
●对应用程序的过去访问的新近和细节
●过去的动作的新近和细节
●诸如与特定的产品类别的过去的交互的定制用户定义的属性
●用户有机会从各种位置启动应用程序的引用源
●通过日期、天、小时、时段的访问时间
●从诸如CRM数据库的其它位置导入的数据
新的系统可以包括对Maxymiser的平台的增强来优化原生应用程序。这些增强可以包括以下特征:
●使用访问者/设备的属性从活动中排除或包括访问者/设备。
●根据访问者/设备的属性结合对于其它用户分段信息的规则,创建分段规则以将内容指向访问者/设备。
●通过属性值过滤报告,包括转换和收入报告。
●基于属性发现分段,其可能需要不同的体验来增加转换率。
测试可以被配置为自动检测较高表现的内容变体并且然后使那些服务于更多的未来访问者。这意味着总体应用程序性能在活动期间以及在活动之后被优化。这被称为动态优化。
系统可以包括将完结的活动切换为服务“仅获胜者”的模式的能力,这意味着为了应用用户体验或内容的获胜变化应用程序所有者不需要对代码进行更新。对应用程序代码进行更新对于应用程序开发者通常是非常大的投入,因为需要测试应用程序、提交它以用于应用程序分发者(例如Apple Appstore)批准以及然后分发它,这在智能电视的情况下可涉及等待许多个月,直到下一个计划的软件更新分发,其时间安排在硬件制造商的手中,而不是在应用程序开发者的手中。
另外,Maxymiser的全托管服务提供跨移动设备的对于原生应用程序的支持,包括创意设计、web开发、报告分析和质量控制。
利用原生应用程序的测试是Maxymiser的开发。因为原生应用程序设备不支持Silverlight,所以对于原生应用程序测试不提供页面上控制台(On Page Console)。
对于原生应用程序的测试可以包括:
●一触式平台,其创建用于营销人员对于他们的原生应用程序进行改变的无IT环境。
●可以应用于原生应用程序的广泛的平台能力,包括基于亲和模式(affinitypattern)和自学习的预测算法的推荐,该自学习的预测算法自动将每个用户趋向对于该个体的最佳提供。
●分段发现,用于使分析处理自动化以发现用户分段,该用户分段需要与总体获胜者不同的体验以针对该分段的协定(agreed)度量增加性能。这现在也应用于可以由原生应用程序所识别的分段。
●历史客户信息的使用,诸如持有的产品或者客户购买产品的倾向,可以用于在原生应用程序上为每个客户动态地驱动最佳的、个性化的体验。
规范
能够测试什么的示例:
a)简单的文本或图像块(页面的标头、横幅)移动、调整大小、隐藏、重定格式。
b)按钮文本、移动、调整大小、重定格式和隐藏。
c)“推送通知”频率和内容
d)显示的照片(照片可以存储在外部服务器上)。
e)新的文本或图像块。
f)列表&表格(排序,显示多少项目)。
g)应用程序内的导航路径(例如,“添加到购物车”将用户引导至购物车页面还是返回到类别页面以做出进一步的选择)
h)基于最后的用户选择显示导航。
i)以上的分段和个性化(将这些项目裁剪(tailor)到用户分段,而不是整个用户基础)。
能够跟踪什么的示例:
a)特定屏幕(例如在订单完成时显示的屏幕)的视图。
b)按钮点击或手指/尖笔(stylus)轻敲。
c)相关网站页面上的跟踪。
d)音频/视频播放器播放时间。
e)动作属性和动作值机会(例如以或其它货币度量销售值)。
在测试可以如何在应用程序内部工作的示例中,移动设备可以将请求发送到内容生成器并且接收来自内容生成器的响应,该内容生成器包括内容生成服务。移动设备包括移动应用程序。移动应用程序包括对于所有应用程序为静态的库。该库被配置为向内容生成器发送请求并且从内容生成器接收响应。该库与包括在移动应用程序中的移动应用程序缓存交互。具有内容资产(例如图像)的外部服务器可以将内容推送到移动应用程序缓存。图1示出测试如何在应用程序内部工作的示例。
多变量测试(MVT)示例
1)‘移动版本’库在应用程序开始时对内容生成器(CG)做出请求。
2)CG以JavaScript对象表示法(JSON)格式利用当前域的内容创建响应:
●位置列表。
●对于每个位置生成的变体。
●对于需要的变体的内容。
●具有设置和位置映射的动作列表。
3)用户将打开具有动作的视图。
●‘移动版本’库查找相对应的位置。
●‘移动版本’库读取链接的动作。
●‘移动版本’库添加事件跟踪器,如果必要的话。
●‘移动版本’库计算必要的值和属性。
●‘移动版本’库利用参数中的动作和位置对CG做出缓存请求。
4)用户将打开不具有任何动作或元素(element)的视图。
●‘移动版本’库查找相对应的位置。
●‘移动版本’库利用位置对CG做出缓存请求。
5)用户将打开具有元素的视图。
●‘移动版本’库查找相对应的位置。
●‘移动版本’库读取链接的变体。
●‘移动版本’库示出元素的内容。
●‘移动版本’库利用参数中的示出的变体和位置对CG做出缓存请求。
示例在图1中示出。
个性化示例
1)‘移动版本’库在应用程序开始时对CG做出请求。
2)CG以JSON格式利用当前域的内容创建响应:
●位置列表。
●具有设置和位置映射的用户属性。
3)用户将打开具有用户属性的视图。
●‘移动版本’库查找相对应的位置。
●‘移动版本’库读取链接的用户属性。
●‘移动版本’库计算必要的值并且将它放到相对应的用户属性。
●‘移动版本’库利用参数中的用户属性和位置对CG做出缓存请求。
示例在图1中示出。
分段示例
1)‘移动版本’库在应用程序开始时对CG做出请求。
2)CG以JSON格式利用当前域的内容创建响应:
●位置列表。
●具有值的用户属性。
●具有设置的分段规则。
●对于每个位置生成的变体。
●对于需要的变体的内容。
c)用户将打开具有元素的视图。
●‘移动版本’库查找相对应的位置。
●‘移动版本’库检查分段规则并且选择分段。
●‘移动版本’库指定必要的变体。
●‘移动版本’库示出元素的内容。
●‘移动版本’库利用参数中的示出的变体、分段和位置对CG做出缓存请求。
示例在图1中示出。
管理者可以在管理控制台做什么的示例
a)为了控制台运行,用户应当在Maxymiser(MM)UI处注册设备ID。
技术需求/细节示例。
‘移动版本’库模块:
1)CG请求模块。
2)外部资产模块(图像事务)。
3)跟踪模块(动作跟踪,发送结果到CG)。
4)应用程序对象识别模块。
5)MVT模块(实现备选的内容可视化)。
6)个性化模块。
7)分段模块。
8)管理控制台模块。
移动版本的商业定位
移动智能电话采纳以快速的速率增加。在移动应用程序上已做出重大的投资以跟上快速移动的市场。将你的范围延伸到移动设备是一个机会,但是它需要优化的体验以对于这种小屏幕真正有效。
Maxymiser的移动版本已彻底改革了移动优化-任何品牌都必须投入时间和预算到移动营销中。移动版本使得营销人员能够高效地测试和瞄准内容并且对于移动设备创建个性化的体验以增加转换率。快速地优化包括横幅广告、数据提交表单、站点(site)布局、促销或任何其它内容的你的移动内容的全部以对于每个个体用户驱动最相关的体验,并且对于你的品牌增加收入。
你不需要移动营销策略来包括移动应用程序吗?四处奔走的客户享受在他们的指尖拥有他们最喜爱的应用程序。利用移动版本,可以执行移动应用程序的A/B和多变量测试来改善用户体验而不需要终端用户更新到应用程序。当季节性的改变发生时识别新的获胜体验并且动态地改变用户体验而不因对应用程序的过多更新疏远(alienate)终端用户。或者,让移动版本自动适配和确定新的获胜者,随着时间驱动最相关的体验。
移动版本的报告和分析给出对于移动用户的体验的洞察,这识别每个用户分段的获胜体验并且识别需要不同体验的新分段。你将识别正确的体验并且跨网站和移动设备度量总体活动有效性。
在优化系统的创建的示例中,在创建SDK规范的阶段零中,创建规范,其中工程时间线和需求聚集。在阶段一中,为了SDK开发和为了UI调整,创建库,MM UI修改和web服务开发发生,并且与应用程序商店的交互发生。在用于调试的阶段二中,利用智能电话应用程序测试MM UI&SDK集成,内部质量保证和错误修正发生,可用性测试发生,改进(improvement)和变更请求发生,并且执行生产过程建立的草案(draft)。在阶段三中,beta测试发生。创建测试规范,执行测试创建和beta应用程序内的集成,执行beta客户端测试,基于beta反馈生成改进和变更请求,并且完成生产过程建立。图2以表格形式示出优化系统的创建的示例。
利用iPhone SDK或者其它智能电话SDK的示例
通用
iPhone SDK(或者另一个智能电话SDK)功能性应当允许到客户的应用程序的容易的库集成。集成指令应当占据不多于1页。它应当对应于现有的Maxymiser测试活动创建概念。它应当允许生产和沙盒模式。它应当记忆用户个性化数据(与浏览器cookies类似)。它应当允许离线度量。
移动管理控制台应当允许:
●将模式从沙盒变成生产以及相反;
●查看并选择界面对象和性质;
●改变性质值;
●记忆选择的性质和值;
●将选择的性质和值导出到Maxymiser UI;
框架.调用web服务库(Framework.Call web-service)示例
为了生成web服务类,在示例中,使用http://sudzc.com/。
可以提供MM CG web服务调用。可以提供离线调用(调用队列以及上线时的延迟调用)。
框架.加载图像(Framework.Load images)库示例
可以提供图像加载功能性。可以提供图像缓存(应当仅加载改变的图像)。
MMCore库示例
可以提供一组方法和性质,类似于mmcore.js:
● MMCore.CGRequest();
● MMCore.setAction();
● MMCore.renderLocationElements();
● MMCore.setUserAttribute();
● MMCore.setUserDefaults();
● MMCore.setLocation();
● MMCore.addMVTConstraint();
● MMCore.domain;
● MMCore.server;
● MMCore.CGRequestCallback;
封装调用web服务库、加载图像库、MVT库、MAConsole库。可以提供不同的加载内容模式:同步、异步。可以允许读取、设置用户个性化标准。
MVT库示例
可以提供根据CG内容改变性质值。可以提供性质类型和性质存在验证。可以提供用户约束的实现:
●库什么都不可以修改;
●库可以修改一切;
●库可以修改仅仅指定的对象和性质(在代码指令中)。
●库可以修改仅仅指定的对象和性质(在管理(Admin)UI中)。
元素变体应当包含性质和它们的值的集合。
如果内容没有准备好(还没有从CG加载),则应当示出默认内容。
MAConsole库示例
MAConsole(移动管理控制台)应当提供查找、查看和选择界面对象和性质。可以提供将选择的性质和值导出到管理UI。当用户处于公司IP中并且进行一些特定的触摸时,或者当在应用程序中设置调试模式时,应当示出MAConsole。
MM CG web服务示例
CG web服务,其应当返回数据并且实现与应用程序的交互(类似于CGJSRenderer)
管理UI示例
新的管理UI功能性:
1.“移动版本”活动类型。
2.“面向对象”元素类型。
3.针对“面向对象”元素类型的变体的编辑器。
4.活动级别性质约束。
集成示例
如何将Maxymiser MVT库集成到简单的基于视图的应用程序中的示例。在集成之前,你需要确保必要的活动已经在Maximyser UI工具内创建。
1.将MMCore类文件拷贝到你的Xcode工程中“组&文件(Group&files)”列表下的类文件夹。该类文件可以被下载…
2.将MMCore类头(class header)包含到appDelegate类头。
#import"MMCore.h"
3.将以下添加到你的appDelegate实现文件的applicationDidFinishLaunching事件处理程序。
[MMCore init:self domain:@“YOUR_DOMAIN”];
[MMCore setServer:@”cg_global.maxymiser.com/cg_v5/”];
[MMCore setConstraintMode:@”allowAll”];
[MMCore CGRequest];
4.将以下添加到对于你的viewContorller实现文件的全部的viewDidApear事件处理程序。
[MMCore setLocation:self];
5.每次你想要设置另外的位置时,使用以下的函数。
[MMCore setLocation:@”YourLocationName”];
6.你可以使用以下的方法来报告另外的数据。
[MMCore setAction:@”YourActionName”];
7.当位置改变时,内容变化实现。你可以通过以下的函数在任意时间调用元素呈现(rendering)。
[MMCore renderLocationElements:@”YourLocationName”];
8.你可以添加对于修改将可访问的性质范围。
[MMCore setConstraintMode:@”allowSpecified”];
[MMCore addMVTConstraint:@”object1/*”];
[MMCore addMVTConstraint:@”object2/*”];
9.建立并运行应用程序。
产品场景示例
如何创建Maxymiser智能电话(例如iPhone)MVT的示例。
在Maxymiser UI中
1.选择域。
2.创建‘移动版本’活动。
3.添加自己的IP到公司IP。
在智能电话(例如iPhone)应用程序中
4.利用‘移动版本’库运行必要的智能电话(例如iPhone)应用程序。
5.查找你想要包括到活动的界面元素。
6.切换到MAConsole并授权。转到“沙盒”模式。
7.使用标记工具。
8.选择界面元素和它的性质。添加性质到书签。
9.对于其它的性质再次执行5-8。
你可以使用书签以创建元素。执行以下:
在智能电话(例如iPhone)应用程序中
1.转到书签列表。从列表中选择书签。按压“创建元素”。
2.如果你的会话在你需要授权之上。则选择活动,指定元素名称,并且按压“保存”。当你保存元素时,系统自动创建位置(如果位置不存在的话)并且将元素链接到该位置。
你可以使用书签以对于元素创建变体。执行以下:
在智能电话(例如iPhone)应用程序中
1.查找你想要修改的界面元素。
2.切换到MAConsole并授权。转到“沙盒”模式。
3.从列表中选择元素(系统将来自元素的性质添加到书签)。
4.从书签中选择性质,改变性质值。
5.对于其它性质执行3。
6.按压“创建变体”。
7.如果你的会话在你需要授权之上。则指定变体名称并且按压“保存”。
你可以在应用程序中预览变体。执行以下:
在智能电话(例如iPhone)应用程序中
1.利用‘移动版本’运行必要的智能电话(例如iPhone)应用程序。
2.查找你想要预览的界面元素。
3.切换到MAConsole并授权。转到“沙盒”模式。
4.从列表中选择元素,选择变体,并且关闭MAConsole。此后,你将在屏幕上看到变体。
规范的示例
在规范的示例中,主要动作是“订购”,其跟踪通过应用程序下的订单。‘值’捕获订单的GBP中的值。属性为“配送”=下单披萨将被配送,并且“自提(collect)”=下单披萨将从披萨店自提。在次要动作中,“点击”跟踪‘定制’按钮上的点击。示例在图3中示出。在测试变体中,对于‘定制’按钮测试不同的按钮风格和颜色。示例在图4中示出。
在规范的示例中,主要动作是“订购”,其跟踪通过应用程序下的订单。‘值’捕获订单的GBP中的值。属性为“配送”=下单披萨将被配送,并且“自提”=下单披萨将从披萨店自提。在次要动作中,“添加到购物车”跟踪定制的披萨是否已添加到用户的购物车。示例在图5中示出。
在规范的示例中,主要动作是“购买”,其跟踪通过应用程序下的订单。‘值’捕获订单的GBP中的值。在次要动作中,“ProdViews(产品查看)”跟踪应用程序内产品页面的视图。示例在图6中示出。在测试变体中,当用户导航到类别浏览页面时,结果由最后使用的过滤选项过滤。变体可以例如通过标题、通过价格或者通过发布。示例在图7中示出。
在规范的示例中,主要动作是“FoodViews(食品查看)”,其跟踪应用程序食品包装的一个的视图。在示例中,食品类别页面和食品细节页面二者应当被跟踪。示例在图8中示出。图8的左手侧示出食品类别页面的示例。图8的右手侧示出食品细节页面的示例。在个性化标准的示例中,最后查看的食品类别作为个性化标准“FoodPreference(食品偏好)”被保存。可能的值是:蛋糕、早餐、午餐、松饼、色拉、三明治、酸奶或空白。示例在图9中示出。
在规范的示例中,主要动作是“RadioPlay(电台播放)”,其跟踪用户是否收听电台。属性跟踪所收听的电台的分钟数,其可以分组成以下的可能值:0-30,30-60,>60。在次要动作中,“BannerClicks(横幅点击)”跟踪应用程序页面顶部的外部横幅上的点击。示例在图10中示出。在示例中,三个横幅变体包括在测试中。三个横幅变体可以是‘没有广告’、‘一个广告’和‘两个广告’。示例在图11中示出。
在规范的示例中,主要动作是“BookClicks(预订点击)”,其跟踪‘预订’按钮上的点击。‘值’捕获预订的费用。属性跟踪所预订的旅行的代理商,例如Opodo。在次要动作中,“BookingComplete(预订完成)”通过web内应用程序站点跟踪完成的预订。在次要动作中,“搜索”跟踪在应用程序中执行的搜索-搜索结果页面的视图。示例在图12中示出。
在规范的示例中,主要动作是“购买”,其跟踪通过应用程序进行的已完成的购买。‘值’捕获购买的值。属性跟踪购买的交易的城市。示例在图13中示出。
在测试页面的示例中,测试页面可以是类别浏览页面的任何一个。在测试页面的区域中,测试元素可以是购买颜色测试元素。在测试页面的区域中,测试元素可以是按钮测试元素。在测试页面的区域中,测试元素可以是图像测试元素。在测试页面的区域中,测试元素可以是布局测试元素。示例在图14中示出。
移动应用程序测试:用于站点创建的指令
如何对于移动应用程序测试创建站点的示例(API方法)
我们提供对于移动应用程序测试许可的客户端设立站点的指导。活动创建在其它地方描述。
预期的受众是定期为客户端设立站点的管理员。
执行以下步骤来为移动应用程序测试准备站点:
1.通过Maxymiser管理UI中的“管理/站点管理”部分添加新的站点。
站点的名称应当根据该模式设置:
<不具有域的客户端名称>.app
例如Maxymiser.app
接下来,对于新的站点的以下参数应当被设置:
“视觉活动建立器(builder)”-禁用;
“使用第一方cookies”-选中;
“移动应用程序测试站点”-选中。
2.在“活动”选项卡中选择该站点。转到“站点设置/站点浏览器规则”。
3.打开“定义定制浏览器规则”选项卡并利用下面的参数添加定制包含的浏览器规则。
浏览器-任何,操作系统-任何,设备类型-任何,版本-空
4.转到“站点设置/个性化标准”。
5.利用以下名称添加三个个性化标准:
OSVersion(操作系统版本),AppVersion(应用程序版本),ConnectionType(连接类型)
6.转到“站点设置/站点页面”。
7.添加两个站点页面:
称为“GenerationPage(生成页面)”的页面,其中一个包括屏蔽(mask)“生成”;
称为“ActionsPage(动作页面)”的页面,其中一个包括屏蔽“动作”;
字段“预览URL”未被使用,并且可以填充有任何URL以通过验证。
8.一旦创建,仅将页面“GenerationPage(生成页面)”添加到活动(进一步参见以下的描述)。
用于开发者的Maxymiser移动应用程序测试API和SDK实现指导-示例
1.介绍
该实现指导提供用于集成Maxymiser移动应用程序测试解决方案‘MMTApp’的步骤。它描述A/B测试活动可以如何在对于智能电话操作系统(例如iOS)开发的原生移动应用程序内实现和运行。该指导假设你熟悉对于智能电话操作系统(例如iOS)创建应用程序。
2.准备开始
使用API并且将API与应用程序集成的先决条件:
●安装有XCode的开发环境。
●如果你为了测试目的在设备上运行你的应用程序,你将需要具有Apple开发程序账户。
●精通使用Objective-C和原生iOS应用程序的开发。
注意:我们的SDK支持iOS 7及以上。对于iOS6及以下,SDK可以集成到你的应用程序中,但是SDK将是不活跃的并且你将不能够使用Maxymiser特征。
3.集成指导
我们的集成指导带你通过六个步骤来完成iOS应用程序内A/B测试的设立。
3.1活动创建
我们已提供了到我们当前的Maxymiser UI文档的多个链接。这是你将设立并维护移动应用程序测试的地方。对于我们的术语注释,参见附录1,并且我们的词汇表可以在附录3中查看。
3.1.1设立用于测试的活动
1.创建最大测试活动-全部文档可以在我们的帮助指导中找到。
2.将你的活动映射到对于应用程序测试已在Maxymiser UI中创建的页面-全部文档可以在我们的帮助指导中找到。请确保你没有将你的活动映射到其它页面,因为预定义的页面具有为应用程序测试而设置的特殊性质。
3.在你的应用程序内部创建至少一个你想要跟踪的动作-全部文档可以在我们的帮助指导中找到。对于移动应用程序测试所支持的用户属性的列表,请参见附录2。
4.创建将包含你的用户体验的变体的元素-全部文档可以在我们的帮助指导中找到。在示例中,多变量测试不被支持,所以请确保每个活动仅创建一个元素。
5.对于你的用户体验的元素创建至少一个变体-全部文档可以在我们的帮助指导中找到。
6.指定变体权重和控制-全部文档可以在我们的帮助指导中找到。
例如:
我们想要改变背景颜色并且证实哪一个具有较高的转换率。创建你的用户体验的两个变体,除了默认之外,因为默认被自动创建。默认变体(控制变体)具有白色背景。变体1-具有绿色背景并且变体2具有蓝色背景。
现在我们需要设立变体加权。
默认-50%。
变体1-25%。
变体2-25%。
这意味着:所有用户的一半在UI中没有看到任何改变,并且将不参与活动。四分之一的用户将看到绿色背景并且四分之一的用户将看到蓝色背景。
3.2SDK集成
现在活动已在Maxymiser UI中配置,我们可以开始集成SDK的处理。
1.定位并且提取MMTApp库压缩文件,其和该文档一起分发。
2.提取SDK包的内容。
3.启动XCode并且打开将被测试的iOS应用程序。
4.将来自SDK包的以下文件添加到你的应用程序:
MMTApp.h
MMTApi.h
MMTExperiences.h
MMTLogger.h
libMMTApp.a
5.将你的应用程序的目标与以下的库链接:
CoreData.framework
SystemConfiguration.framework
libMMTApp.a
6.将‘#import"MMTApp.h"’指示插入到你的工程中的工作文件的顶部。MMTApp是到API的进入点。
7.创建并配置API:
a)在你的应用程序委托(delegate)中,插入以下:
//为‘myapp’站点创建API
id<MMTApi>api=[MMTApp apiForSite:@"myapp"];
//使用沙盒配置,不是生产
[api useSandbox:YES];
b)在Maxymiser UI中用你的站点的名称替换‘myapp’。
c)随后你可以通过[MMTApp defaultApi]引用首次创建的API,所以不需要保持对创建的API的引用。
对于更多的配置选项,请参见API引用。
3.3体验获取
以下的代码将获取并且缓存所有活动和它们的变体以供随后使用。
//示出间隙(interstitial)页面
[[MMTApp defaultApi]fetchExperiences:^{
//隐藏间隙页面并且显示主页面
}];
第一个变元(argument)是一旦获取体验我们将调用的块。在该块内部更新UI是安全的,因为它将在主线程上被调用。
注意:请意识到由于时延,在从Maxymiser接收具有待显示的变体的细节的响应时可能存在短的延迟。因此,我们推荐在你的应用程序中用户可以自然地体验延迟的位置(例如间隙页面或者搜索项/登录输入页面)中获取体验。我们推荐在应用程序启动时获取体验。
3.4内容变换
当获取体验时,你可以使用它们以变换内容。
存在你可以从其选择以实现内容变换的两种方法。
3.4.1变体名称
你的应用程序的判定逻辑基于变体名称。在该情况下,对于视图元素的用户体验的变体使用在以下示例中示出的格式。
当变体名称为默认时,变体内容为空。
当变体名称为变体1时,变体内容为空。
当变体名称为变体2时,变体内容为空。
3.4.2变体内容
你可以在变体内容中描述内容变换。对于视图元素的用户体验的变体将使用在以下示例中示出的格式。
当变体名称是默认时,变体内容是白色。
当变体名称是变体1时,变体内容是绿色。
当变体名称是变体2时,变体内容是蓝色。
重要:当用户被示出来自活动的内容时,Maxymiser平台必须通过调用以下被通知:
[[MMTApp defaultApi]trackContentSeen:%CampaignName%
未能执行该步骤将意味着报告将被损坏,因为没有用户将被辨识为进入活动。
3.5动作跟踪
所有测试活动需要至少一个动作,使得你可以跟踪更改用户体验的影响-例如,跟踪到销售的转换。
使用以下代码来跟踪动作:
[[MMTApp defaultApi]track Action:@″Purchase″value:100attribute:nil];
如果到Maxymiser的连接不可用,则动作将被缓存并且一旦连接恢复就被发送。
3.6QC&上线
环境
Maxymiser UI支持两种环境:沙盒和生产
3.6.1沙盒
沙盒是在其中创建并配置活动的开发测试环境。关于你的应用程序的所有测试都应当在沙盒中进行。沙盒通信量(traffic)被从预定义的公司IP服务。
为了质量控制(QC)测试目的预览应用程序中(in-app)的特定变体:
1.使用Maxymiser UI–活动设置>活动内容>元素&变体页面,以将所有变体的加权设置为‘0’。
2.将你想要预览的变体的权重设置为‘100’。运行你的应用程序,并且确保变换被正确地应用和其它的功能性像预期的那样工作。
3.对于用户体验中的所有变体重复这些步骤。
4.完成必要的阶段以触发所有配置的动作。
5.检查动作日志报告,确保动作的值和动作的属性正在被正确地记录日志。
注意:在沙盒模式中捕获的数据不出现在Maxymiser UI通用报告中。该模式为了QC测试目的而存在。应用程序不允许带有连接到沙盒环境的测试而发布,因为服务级别协议(SLA)不被支持并且报告将不可用。
3.6.2生产
生产是用于服务生产(现场用户)通信量的环境。
从该环境采集的数据被使得在报告区域(参见Maxymiser UI–分析选项卡)中可用,以用于分析来确定哪个变体是最佳的表现者。
MMTApp允许环境如下切换:
#ifdef DEBUG
[api useSandbox:YES];
#endif
重要:绝不将包含仍连接到沙盒环境的活动的应用程序发布给终端用户。
3.6.3发行
发行对于在沙盒与生产状态之间移动活动是必要的-全部文档可以在我们的帮助指导中找到。
一旦活动被设立,它可以经历从实现开始直到当它被发行时上线的状态。这些状态在图15中示出的表格中描述。
3.6.4结束活动
在活动结束时(当识别出获胜的用户体验变体时),获胜的变体在重新发行活动之前在Maxymiser UI中被加权到100-这确保仅仅获胜的变体被显示给用户。推荐的是,一旦活动已结束,活动被切换到‘不收集数据’状态,使得性能数据被冻结以用于未来的引用。
当获胜的用户体验变体已被编码到应用程序代码基中(例如在下一次发布)时,活动特定的代码应当从应用程序中移除。
对于我们的故障排除指导,请参见附录4
4 API引用
MMTApp
SDK顶级类。提供为站点创建API的便利并且包含用于SDK配置的方法。
任务
管理API
+defaultApi
+setDefaultApi:
+apiForSite:
配置
+setLogger:
+setLogLevel:
类方法
+defaultApi
返回默认的API。
+(id<MMTApi>)defaultApi;
返回值
利用+setDefaultApi:显式设置的API对象或者利用+apiForSite:创建的第一个API对象,否则返回无(nil)。
+setDefaultApi:
设置默认的API。
+(void)setDefaultApi:(id<MMTApi>)api;
参数
api
将被设置为默认的API对象。
+apiForSite:
对于给定的站点创建新的API。
+(id<MMTApi>)apiForSite:(NSString*)site;
参数
site
站点的名称。
返回值
与给定的站点链接的API对象。
+setLogger:
设置将由SDK使用的日志记录器(logger)。
+(void)setLogger:(id<MMTLogger>)logger;
参数
logger
将使用的日志记录器。
+setLogLevel:
设置日志记录级别。
+(void)setLogLevel:(MMTLogLevel)level;
参数
level
日志记录级别。
MMTApi
将用于获取体验和跟踪动作的协议。
任务
配置
-setRequestTimeOut:
-setWiFiOnly:
-useSandbox:
体验
-fetchExperiences:
-fetchExperiences:forPage:
-getExperiences
跟踪
-trackAction:value:attribute:
-trackAction:value:attribute:forPage:
-trackContentSeen:
实例方法
-setRequestTimeOut:
设置对我们的服务器做出请求可以花费的最大时间。默认是三秒。当时间超过时,获取体验的尝试将停止并且将选择先前的用户体验。
-(void)setRequestTimeOut:(NSTimeInterval)timeout;
参数
timeout
将使用的超时。
-setWiFiOnly:
指定新的体验是否可以仅在用户连接到WiFi网络时获取。默认将使用任何可用网络。
-(void)setWiFiOnly:(BOOL)wifiOnly;
参数
wifiOnly
是(YES)将仅使用Wi-Fi网络,否(NO)将使用任何可用网络。
-useSandbox:
指定是否应当使用沙盒配置。默认将使用生产配置。
-(void)useSandbox:(BOOL)sandbox;
参数
sandbox
是(YES)将使用沙盒配置,否(NO)将使用生产配置。
-fetchExperiences:
对于命名为‘生成’的默认页面从Maxymiser平台获取新的体验。获取将在后台线程上执行。
-(void)fetchExperiences:(void(^)())handler;
参数
handler
一旦获取体验将被调用的块。
-fetchExperiences:forPage:
对于指定的页面从Maxymiser平台获取新的体验。获取将在后台线程上执行。
-(void)fetchExperiences:(void(^)())handler forPage:(NSString*)page;
参数
handler
一旦获取体验将被调用的块。
page
你想要对其获取体验的页面。
-getExperiences
返回应当用于内容变换的获取的体验。
-(id<MMTExperiences>)getExperiences;
返回值
先前从Maxymiser平台获取的体验。如果没有获取到体验,则为无。
-trackAction:value:attribute:
对于命名为‘动作’的默认页面跟踪用户动作。
-(void)trackAction:(NSString*)name value:(NSInteger)value attribute:(NSString*)attr;
参数
name
应当在Maxymiser UI中站点配置中存在的动作的名称。
value
动作的整数值。这可以用于诸如量和总和的各种参数的跟踪。
attr
动作属性。这可以用于与动作相关的各种另外信息的跟踪。
-trackAction:value:attribute:forPage:
对于指定的页面跟踪用户动作。
-(void)trackAction:(NSString*)name value:(NSInteger)value attribute:(NSString*)attr forPage:(NSString*)page;
参数
name
应当在Maxymiser UI中站点配置中存在的动作的名称。
value
动作的整数值。这可以用于诸如量和总和的各种参数的跟踪。
attr
动作属性。这可以用于与动作相关的各种另外信息的跟踪。
page
你想要对其跟踪动作的页面
-trackContentSeen:
跟踪特殊类型的动作,以用于确认用户是否已被服务了内容。
-(void)trackContentSeen:(NSString*)campaign;
参数
campaign
其内容被服务的活动名称。
MMTExperiences
将用于对于获取的体验检索生成的变体的协议。
任务
变体
-getVariantNameForCampaign:element:
-getVariantContentForCampaign:element:
实例方法
-getVariantNameForCampaign:element:
检索对于活动的生成的变体名称以及与Maxymiser UI中的测试配置相关的元素。
-(NSString*)getVariantNameForCampaign:(NSString*)campaign element:(NSString*)element;
参数
campaign
你想要获得变体名称的活动的名称。
element
你想要获得变体名称的活动中的元素的名称。
返回值
对于活动中的元素的生成的变体的名称。
对于以下的情况返回无:活动没有开始、活动结束、活动暂停或者站点被禁用。在这些情况的任何一个中,应当实施用于呈现默认内容的处理。
-getVariantContentForCampaign:element:
检索对于活动的生成的变体内容以及与Maxymiser UI中的测试配置相关的元素。
-(NSString*)getVariantContentForCampaign:(NSString*)campaign element:(NSString*)element;
参数
campaign
你想要获得变体内容的活动的名称。
element
你想要获得变体内容的活动中的元素的名称。
返回值
对于活动中的元素的生成的变体的内容。
对于以下的情况返回无:活动没有开始、活动结束、活动暂停或者站点被禁用。在这些情况的任何一个中,应当实施用于呈现默认内容的处理。
MMTLogger
将用于日志记录来自SDK的消息的协议。该协议的实现可以提供给MMTApp类。
任务
日志记录
-debug:
-info:
-warning:
-error:
实例方法
-debug:
以日志级别调试记录消息。
-(void)debug:(NSString*)message;
参数
message
将日志记录的消息。
-info:
以日志级别信息记录消息。
-(void)info:(NSString*)message;
参数
message
将日志记录的消息。
-warning:
以日志级别警告记录消息。
-(void)warning:(NSString*)message;
参数
message
将日志记录的消息。
-error:
以日志级别错误记录消息。
-(void)error:(NSString*)message;
参数
message
将日志记录的消息。
5.可能的系统限制的示例
在示例中,Maxymiser移动库具有以下系统限制:
●每个应用程序可以连接到一个Maxymiser站点实体。
●站点不能包含多于10个活动。
●用户界面包含一些web特定的术语,以上的指导覆盖被支持的设置,MaxymiserUI中的所有其它可以忽略。如果不确定,Maxymiser可以帮助活动QC过程。
●活动不允许包含多于一个元素。
●多变量测试当前不被支持。
●元素不能包含多于10个变体。
●分段、MaxPredict、MaxRecommend和VCB不被支持。
●在示例中,不是所有的用户属性在该版本中完全被支持,所以一些属性将显示‘空’或者甚至无意义的值。对于所支持的属性的列表,参见附录2。
●通过引用者(referrer)URL的过滤动作和通过URL参数的过滤动作在移动应用程序测试内不被支持。
6.附录
6.1附录1-术语注释
移动应用程序测试的UI已从网站测试重新目的化,所以存在仍然适用于网站测试的某些部分和术语。
● Maxymiser UI使用术语(web)站点,这可以被读作移动应用程序测试中的应用程序名称。
●在Maxymiser UI引用‘页面’的情况下,这可以被看作体验和动作的容器。
6.2附录2-属性
在应用程序活动中捕获的核心属性不同于如以下描述的在web活动中捕获的那些。
注意:以下没有列出的属性可能仍然在报告用户界面中看到,并且可能包含‘空’或者无意义的值。这些应当被忽略并且不用于分析。
6.2.1仅对于应用程序的新属性-示例
作为到设备的连接类型的属性‘连接’-2G、3G、4G、Wi-Fi。
作为操作系统类型和版本的属性‘OS’。
作为应用程序版本的属性‘应用程序版本’。
6.2.2在应用程序和web中存在的属性。
这些示例在图16中的表格中示出。
6.3附录3-术语的词汇表
A/B测试:测试的方法在应用程序的单个区域中改变。应用程序访问者被随机地示出内容“A”或“B”。分析对内容的响应以看它们之间的差异是否是显著的。A/B测试不限于仅仅两个变体并且通常被用作A/B/C/D…[n]测试的简写。
动作:由访问者执行的转换事件,例如购买或点进。
活动:活动需要运行以便获得统计上可靠的结果的时间段。
活动级别设置:应用于个体活动的核心配置。
内容生成器(CG):Maxymiser系统的核心组件:它是在应用程序测试期间执行主要操作的引擎。内容生成器服务变体并且跟踪所有选择的动作和个性化标准。
内容变体:在Maxymiser UI中创建并且在测试过程期间服务于访问者的备选的内容。每个元素具有至少两个变体(其中一个被指定为控制变体)。
转换:关于利用当前的内容变体进行了多少转换动作的数据。
默认变体:在测试之前显示在页面上的内容。Maxymiser测试报告将当前(默认/控制)内容与在活动中变化的内容相比较。
元素:应用程序的可识别部分,诸如着陆页面图像、横幅的大小、或者将被测试的调用动作按钮的副本。
体验:体验由经历一个或多个页面的一组特定的变体组成。例如,可能的体验是不具有图像的欢迎页面、中等大小横幅,以及写着“查看我们的最佳提供”的调用动作按钮。
实现(状态):反映活动还没有上线的活动状态。
上线:指的是当前正在应用程序上运行的活动配置。
Maxymiser UI:指定的工作空间,其中商业用户可以协作地工作以使用Maxymiser的优化解决方案。
页面:对应于包含将被测试的元素的网站或应用程序上的页面的Maxymiser站点页面。
生产:访问者看到活动内容的环境。
发行:将活动配置从沙盒环境(QC测试区域)转移(transfer)到活动内容对网站或应用程序访问者可见的生产环境(网站/应用程序)的过程。
发行中心:活动内容被转移到上线网站的Maxymiser UI的区域。
准备好发行:用于通知发行者活动配置完成并且活动准备好进行公开的特征。
沙盒:创建并配置活动的测试环境。
变体(内容变体):元素的变体是那个特定元素的可能配置。对于每个元素存在至少两个变体:默认(或‘控制’)以及至少一个挑战者变体。
变体权重:用于确定服务于内容变体的通信量的比例的值。比如说我们具有两个内容变体“A”和“B”。“A”具有10的权重并且“B”具有30的权重。在该情况下,“A”获得活动通信量的25%,“B”获得75%。
访问者:进入活动(并且经由第一方cookie跟踪)并查看内容的用户。
访问者属性:识别网站或应用程序访问者的特性,诸如他们的地理位置,在站点上的活动性,操作系统和个性化标准,例如性别。
6.4附录4-故障排除
6.4.1调试日志记录机制
MMTApp库提供基于标准NSLog输出的调试日志记录机制。诸如查询构造、发送请求和响应解析的所有请求由NSLog消息反映。因此能够在Xcode中的输出窗口中看到库行为的这个日志并且为了错误而监控它。所生成的日志消息具有"MMTApp:"的前缀。
6.4.2紧急活动停止
在活动需要被停止的情况下,你可以通过在用户界面中将它的状态变为‘暂停’或‘结束’来‘暂停’或‘结束’活动,如在该文档的发行部分中所提及的。
例如活动可能已被不正确地配置或编程,导致应用程序的不期望的行为。一旦活动被暂停或结束,我们的API将返回无值。
重要:确保应用程序被编程使得无响应被正确地处理并且示出默认的用户体验。
6.4.3报告
如果你没有在报告中看到数据,请确保MMTApp被配置为使用生产配置,因为沙盒配置不支持报告。同样请确保通过调用[[MMTApp defaultApi]trackContentSeen:%CampaignName%]],Maxymiser平台被通知内容正在被服务(被用户看到)。
7.开发支持
如果你需要进一步的帮助,请提交ZenDesk单据(ticket)或者联系你的客户经理提供以下相关的细节:
1.环境配置。
a.开发机器-OS/XCode版本。
b.部署目标-模拟器或设备,如果是设备,请陈述类型和iOS版本。
2.再现问题的步骤。
3.来自MMTApp的调试级别日志。
4.如果适用的话,应用程序代码的相关部分的副本。
注意
应当理解,以上引用的布置仅仅是对于本发明的原理的示意性应用。在不背离本发明的精神和范围的情况下可以设计大量的修改和备选的布置。尽管本发明已在附图中示出并且结合目前认为是本发明的最实际和优选的示例特别地并且详细地在以上充分描述,但是在不背离如这里阐明的本发明的原理和概念的情况下可以进行大量的修改,这对于本领域普通技术人员将是清楚的。

Claims (60)

1.一种对于原生应用程序的优化的方法,所述原生应用程序的软件以基于反射的编程语言编写,所述原生应用程序在包括显示器和处理器的计算设备上可执行,所述原生应用程序被配置为在所述计算设备的显示器上显示用户界面,所述方法包括以下步骤:
(i)将通用代码应用于所述原生应用程序以产生修改的原生应用程序,该修改的原生应用程序被配置为与所述计算设备外部的服务器通信,其中所述通用代码是唯一需要被应用于所述原生应用程序的源代码以启用原生应用程序优化系统对所述修改的原生应用程序的优化的代码,和
(ii)从所述服务器远程地配置所述修改的原生应用程序,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容;
其中,所述更改至少包括:
在测试期间自动检测高表现的内容变体;以及
使那些高表现的内容变体服务于更多的未来用户;并且
所述测试至少包括:
为多个内容变体中的每一个内容变体设立变体加权,以及
基于所述变体加权将所述多个内容变体中的相应内容变体呈现给所有用户中的相应比例的用户,其中所述相应比例与所述变体加权相关联。
2.根据权利要求1所述的方法,其中所述通用代码使得许多种类的优化能够在优化系统的用户界面中远程地配置,而不改变原生应用程序的多个版本和实例内的代码。
3.根据权利要求1-2中任一项所述的方法,其中在运行时对所述修改的原生应用程序的结构和行为进行修改包括对所述修改的原生应用程序的值、元数据、性质、图像和功能中的一个或多个进行修改。
4.根据权利要求1-2中任一项所述的方法,其中所述计算设备通过到服务器的移动电话网络或者有线或无线广域网可连接到因特网。
5.根据权利要求1-2中任一项所述的方法,其中所述优化包括实时对于每个用户适配视觉体验以便增加用户完成期望动作的概率。
6.根据权利要求5所述的方法,其中所述期望动作是点击或下单。
7.根据权利要求1-2中任一项所述的方法,其中基于反射的编程语言是常见的基于反射的编程语言。
8.根据权利要求1-2中任一项所述的方法,其中所述方法进一步包括收集关于用户/设备的一个或多个属性,以在瞄准、扼要描述或分析用户行为中使用。
9.根据权利要求8所述的方法,其中收集的属性是以下的一个或多个:到设备的连接类型;设备类型;应用程序版本;操作系统类型和版本;位置;因特网服务提供商;对应用程序的过去访问的新近和细节;过去动作的新近和细节;定制用户定义的属性;用户有机会从各种位置启动应用程序的引用源;通过年、月、日、小时的访问时间,以及从其它位置导入的数据。
10.根据权利要求9所述的方法,其中:
到设备的连接类型包括2G、3G、4G、和Wi-Fi中的至少一种;
位置按照坐标、城市、国家、洲、和邮编中至少一个;
定制用户定义的属性至少包括与特定产品类别的过去交互;并且
所述其他位置包括CRM数据库。
11.根据权利要求8所述的方法,进一步包括以下步骤:使用访问者/设备的属性从活动中排除或包括访问者/设备。
12.根据权利要求8所述的方法,进一步包括以下步骤:根据访问者/设备的属性结合对于其它用户分段信息的规则,创建分段规则以将内容指向访问者/设备。
13.根据权利要求1-2中任一项所述的方法,其中在活动期间以及在活动之后优化原生应用程序性能。
14.根据权利要求1-2中任一项所述的方法,其中可更改的用户界面内容包括以下的一个或多个:
i)简单的文本或图像块移动、调整大小、隐藏、重定格式;
j)按钮文本、移动、调整大小、重定格式和隐藏;
k)“推送通知”频率和内容;
l)显示的照片;
m)新的文本或图像块;
n)列表和表格;
o)应用程序内的导航路径,以及
p)基于最后的用户选择显示导航。
15.根据权利要求14所述的方法,其中:
所述简单的文本或图像块包括页面的标头、横幅;
所显示的照片存储在外部服务器上;
所述列表和表格涉及排序以及要显示多少项目;
所述导航路径包括进行“添加到购物车”以将用户引导至购物车页面或返回到类别页面以做出进一步的选择。
16.根据权利要求1-2中任一项所述的方法,其中所述原生应用程序包括库。
17.根据权利要求16所述的方法,其中所述库对于所有应用程序是静态的。
18.根据权利要求16所述的方法,其中所述库被配置为向内容生成器发送请求并且从内容生成器接收响应。
19.根据权利要求16所述的方法,其中所述库与包括在所述原生应用程序中的原生应用程序缓存交互。
20.根据权利要求19所述的方法,其中所述原生应用程序缓存被配置为接收从外部服务器推送的内容。
21.根据权利要求16所述的方法,其中在原生应用程序开始时所述库对内容生成器做出请求。
22.根据权利要求16所述的方法,其中所述库被布置为对内容生成器做出请求,该请求在参数中包括位置和用户属性。
23.根据权利要求16所述的方法,其中所述库包括以下模块的一个或多个:
9)内容生成器请求模块;
10)外部资产模块;
11)跟踪模块;
12)应用程序对象识别模块;
13)MVT模块;
14)个性化模块;
15)分段模块,以及
16)管理控制台模块。
24.根据权利要求23所述的方法,其中:
所述外部资产模块用于图像事务;
所述跟踪模块用于动作跟踪以及发送结果到内容生成器;并且
所述MVT模块用于实现备选的内容可视化。
25.根据权利要求16所述的方法,其中所述库可以修改代码指令中仅指定的对象和性质。
26.根据权利要求1-2中任一项所述的方法,用于从可选择按钮的至少两个备选当中优化显示在显示器上的可选择按钮。
27.根据权利要求1-2中任一项所述的方法,用于基于最近使用的过滤选项,从显示的产品的至少两个备选当中优化显示器上的显示的产品。
28.根据权利要求1-2中任一项所述的方法,用于基于最近查看的食物类别,从显示的食物产品的至少两个备选当中优化显示器上的显示的食物产品。
29.根据权利要求1-2中任一项所述的方法,用于基于对于显示的广告的记录的点进率,从显示的广告的至少两个备选当中优化显示器上的显示的广告。
30.一种包括服务器、计算设备以及修改的原生应用程序的系统,所述计算设备包括显示器和处理器,所述修改的原生应用程序在所述计算设备上可执行,所述修改的原生应用程序软件以基于反射的编程语言编写,所述修改的原生应用程序被配置为在所述计算设备的显示器上显示用户界面,原生应用程序已通过将通用代码应用于所述原生应用程序而被修改以产生被配置为与所述计算设备外部的服务器通信的修改的原生应用程序,其中所述通用代码是唯一需要被应用于所述原生应用程序的源代码以启用原生应用程序优化系统对所述修改的原生应用程序的优化的代码,并且所述修改的原生应用程序可由所述服务器远程地配置,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容;
其中,所述更改至少包括:
在测试期间自动检测高表现的内容变体;以及
使那些高表现的内容变体服务于更多的未来用户;并且
所述测试至少包括:
为多个内容变体中的每一个内容变体设立变体加权,以及
基于所述变体加权将所述多个内容变体中的相应内容变体呈现给所有用户中的相应比例的用户,其中所述相应比例与所述变体加权相关联。
31.根据权利要求30所述的系统,其中所述服务器进一步被配置为收集关于用户/设备的一个或多个属性,以在瞄准、扼要描述或分析用户行为中使用。
32.根据权利要求31所述的系统,其中所述服务器进一步被配置为通过属性值过滤报告,该报告包括转换和收入报告。
33.根据权利要求31或32所述的系统,其中所述服务器进一步被配置为基于属性发现分段,该分段需要不同的体验来增加转换率。
34.根据权利要求30-32中任一项所述的系统,其中所述系统包括将完结的活动切换为服务“仅获胜者”的模式的能力,其中,为了应用用户体验或内容的获胜变化,原生应用程序供应商不需要对代码进行更新。
35.根据权利要求30-32中任一项所述的系统,其中所述系统包括自学习、预测算法,该算法自动将每个用户趋向对于该个体的最佳提供。
36.根据权利要求30-32中任一项所述的系统,其中所述系统包括用于使分析处理自动化以发现用户分段的分段发现处理,所述用户分段需要与总体获胜者不同的体验以针对该分段的度量增加性能。
37.根据权利要求30-32中任一项所述的系统,其中所述系统提供多变量测试。
38.根据权利要求30-32中任一项所述的系统,其中所述服务器被配置为向所述原生应用程序发送分段规则。
39.根据权利要求30-32中任一项所述的系统,其中所述系统被配置为跟踪以下的一个或多个:
f)特定屏幕的视图;
g)按钮点击或手指/尖笔轻敲;
h)相关网站页面上的跟踪;
i)音频/视频播放器播放时间,以及
j)动作属性和动作值机会。
40.根据权利要求39所述的系统,其中动作属性和动作值机会以或其它货币度量销售值,并且所述特定屏幕包括在订单完成时显示的屏幕。
41.根据权利要求30-32中任一项所述的系统,其中所述系统被配置为度量用户对应用程序中的变化的响应。
42.根据权利要求30-32中任一项所述的系统,其中历史客户信息被用于在原生应用程序上对于每个客户动态地驱动最佳的、个性化的体验。
43.根据权利要求42所述的系统,其中历史客户信息包括持有的产品或者客户购买产品的倾向。
44.一种包括显示器和处理器的计算设备,所述计算设备包括其软件以基于反射的编程语言编写的修改的原生应用程序,所述修改的原生应用程序在设备上可执行,所述修改的原生应用程序被配置为在所述计算设备的显示器上显示用户界面,所述修改的原生应用程序已通过将通用代码应用于原生应用程序而被修改以产生被配置为与所述计算设备外部的服务器通信的修改的原生应用程序,其中所述通用代码是唯一需要被应用于所述原生应用程序的源代码以启用原生应用程序优化系统对所述修改的原生应用程序的优化的代码,并且所述修改的原生应用程序可由所述服务器远程地配置,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容;
其中,所述更改至少包括:
在测试期间自动检测高表现的内容变体;以及
使那些高表现的内容变体服务于更多的未来用户;并且
所述测试至少包括:
为多个内容变体中的每一个内容变体设立变体加权,以及
基于所述变体加权将所述多个内容变体中的相应内容变体呈现给所有用户中的相应比例的用户,其中所述相应比例与所述变体加权相关联。
45.一种被配置为与计算设备通信的服务器,所述计算设备包括显示器和处理器,所述计算设备包括其软件以基于反射的编程语言编写的修改的原生应用程序,所述修改的原生应用程序在所述计算设备上可执行,所述修改的原生应用程序被配置为在所述计算设备的显示器上显示用户界面,所述修改的原生应用程序已通过将通用代码应用于原生应用程序而被修改以产生被配置为与所述计算设备外部的服务器通信的修改的原生应用程序,其中所述通用代码是唯一需要被应用于所述原生应用程序的源代码以启用原生应用程序优化系统对所述修改的原生应用程序的优化的代码,并且所述服务器被布置为远程地配置所述修改的原生应用程序,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容;
其中,所述更改至少包括:
在测试期间自动检测高表现的内容变体;以及
使那些高表现的内容变体服务于更多的未来用户;并且
所述测试至少包括:
为多个内容变体中的每一个内容变体设立变体加权,以及
基于所述变体加权将所述多个内容变体中的相应内容变体呈现给所有用户中的相应比例的用户,其中所述相应比例与所述变体加权相关联。
46.一种包括服务器、多个计算设备以及修改的原生应用程序的系统,每个计算设备包括显示器和处理器,所述修改的原生应用程序在所述多个计算设备上可执行,修改的原生应用程序软件以基于反射的编程语言编写,所述修改的原生应用程序被配置为在所述多个计算设备的每一个的显示器上显示用户界面,原生应用程序已通过将通用代码应用于所述原生应用程序而被修改以产生被配置为与所述多个计算设备外部的服务器通信的修改的原生应用程序,其中所述通用代码是唯一需要被应用于所述原生应用程序的源代码以启用原生应用程序优化系统对所述修改的原生应用程序的优化的代码,并且所述修改的原生应用程序可由所述服务器远程地配置,以在运行时对所述修改的原生应用程序的结构和行为进行检查和修改,以便能够更改以下的一个或多个:由所述修改的原生应用程序生成的用户界面的数据、功能或内容,其中所述服务器被布置为以多个不同的配置对所述多个计算设备上的多个修改的原生应用程序进行配置,并且记录关于所述多个不同配置的多个计算设备上的用户动作的度量;
其中,所述更改至少包括:
在测试期间自动检测高表现的内容变体;以及
使那些高表现的内容变体服务于更多的未来用户;并且
所述测试至少包括:
为多个内容变体中的每一个内容变体设立变体加权,以及
基于所述变体加权将所述多个内容变体中的相应内容变体呈现给所有用户中的相应比例的用户,其中所述相应比例与所述变体加权相关联。
47.一种被配置为执行权利要求1至29的任意一项所述的方法的系统。
48.根据权利要求47所述的系统,其中所述服务器进一步被配置为收集关于用户/设备的一个或多个属性,以在瞄准、扼要描述或分析用户行为中使用。
49.根据权利要求48所述的系统,其中所述服务器进一步被配置为通过属性值过滤报告,该报告包括转换和收入报告。
50.根据权利要求48或49所述的系统,其中所述服务器进一步被配置为基于属性发现分段,该分段需要不同的体验来增加转换率。
51.根据权利要求47-49中任一项所述的系统,其中所述系统包括将完结的活动切换为服务“仅获胜者”的模式的能力,其中,为了应用用户体验或内容的获胜变化原生应用程序供应商不需要对代码进行更新。
52.根据权利要求47-49中任一项所述的系统,其中所述系统包括自学习、预测算法,该算法自动将每个用户趋向对于该个体的最佳提供。
53.根据权利要求47-49中任一项所述的系统,其中所述系统包括用于使分析处理自动化以发现用户分段的分段发现处理,所述用户分段需要与总体获胜者不同的体验以针对该分段的度量增加性能。
54.根据权利要求47-49中任一项所述的系统,其中所述系统提供多变量测试。
55.根据权利要求47-49中任一项所述的系统,其中所述服务器被配置为向所述原生应用程序发送分段规则。
56.根据权利要求47-49中任一项所述的系统,其中所述系统被配置为跟踪以下的一个或多个:
f)特定屏幕的视图;
g)按钮点击或手指/尖笔轻敲;
h)相关网站页面上的跟踪;
i)音频/视频播放器播放时间,以及
j)动作属性和动作值机会。
57.根据权利要求56所述的系统,其中动作属性和动作值机会以或其它货币度量销售值,并且所述特定屏幕包括在订单完成时显示的屏幕。
58.根据权利要求47-49中任一项所述的系统,其中所述系统被配置为度量用户对应用程序中的变化的响应。
59.根据权利要求47-49中任一项所述的系统,其中历史客户信息被用于在原生应用程序上对于每个客户动态地驱动最佳的、个性化的体验。
60.根据权利要求59所述的系统,其中历史客户信息包括持有的产品或者客户购买产品的倾向。
CN201480047398.2A 2013-07-09 2014-07-09 对于应用程序的优化的方法 Active CN105683912B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1312280.9 2013-07-09
GBGB1312280.9A GB201312280D0 (en) 2013-07-09 2013-07-09 Native app
PCT/GB2014/052088 WO2015004452A1 (en) 2013-07-09 2014-07-09 Method of optimization for an application

Publications (2)

Publication Number Publication Date
CN105683912A CN105683912A (zh) 2016-06-15
CN105683912B true CN105683912B (zh) 2019-08-27

Family

ID=49033535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480047398.2A Active CN105683912B (zh) 2013-07-09 2014-07-09 对于应用程序的优化的方法

Country Status (5)

Country Link
EP (1) EP3019955A1 (zh)
JP (2) JP2016528608A (zh)
CN (1) CN105683912B (zh)
GB (2) GB201312280D0 (zh)
WO (1) WO2015004452A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105561579A (zh) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 游戏素材展现方法及装置
CN109792617B (zh) * 2016-07-13 2021-02-23 华为技术有限公司 用于部署在平台上的应用程序的应用程序弹性系统及其方法
US10735449B2 (en) 2017-07-11 2020-08-04 Viaforensics, Llc Methods and apparatuses for improved mobile app security testing via bridged native and web user interface interaction
CN108491370B (zh) * 2018-03-26 2021-11-26 成都睿码科技有限责任公司 使用元数据结构和数据驱动的方式产生内容的系统与方法
CN109032629A (zh) * 2018-06-28 2018-12-18 北京达佳互联信息技术有限公司 一种代码更新方法及装置
CN109754511B (zh) * 2019-01-14 2021-05-14 深圳前海微众银行股份有限公司 购物车设备固件更新方法、系统、平台、网关及存储介质
TR201907957A2 (tr) * 2019-05-24 2020-12-21 D Market Elektronik Hizmetler Ve Ticaret Anonim Sirketi A/b test yapilmasina i̇li̇şki̇n bi̇r si̇stem ve yöntem
US20220156760A1 (en) * 2020-11-16 2022-05-19 Salesforce.Com, Inc. Configuring choice components of an application or web page using a database system
CN113568634B (zh) * 2021-06-28 2022-05-17 荣耀终端有限公司 应用优化的处理方法及处理装置
CN113672228A (zh) * 2021-09-17 2021-11-19 灵犀科技有限公司 一种基于组件和数据资产交易的可视化开发方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835507A (zh) * 2005-03-17 2006-09-20 国际商业机器公司 用于用户与web浏览器交互的服务器端处理的方法与系统
CN101861740A (zh) * 2007-11-14 2010-10-13 雅虎公司 使用与移动应用的集成的移动设备上的广告

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1237078A1 (de) 2001-01-19 2002-09-04 Siemens Aktiengesellschaft Durchführung eines zeitoptimierten Austausches einer Software-Applikation
FR2841014B1 (fr) 2002-06-18 2005-02-11 Canon Kk Procede et dispositif d'optimisation d'un programme informatique
US7155706B2 (en) * 2003-10-24 2006-12-26 Microsoft Corporation Administrative tool environment
US7444327B2 (en) * 2004-01-09 2008-10-28 Microsoft Corporation System and method for automated optimization of search result relevance
US20070027760A1 (en) * 2005-07-29 2007-02-01 Collins Robert J System and method for creating and providing a user interface for displaying advertiser defined groups of advertisement campaign information
EP1977334A4 (en) * 2006-01-25 2011-01-12 Greystripe Inc SYSTEM AND METHOD FOR MANAGING CONTENT IN PRE-EXISTING MOBILE APPLICATIONS
US20080134045A1 (en) * 2006-07-13 2008-06-05 Neustar, Inc. System and method for adaptively and dynamically configuring a graphical user interface of a mobile communication device
WO2008020443A1 (en) * 2006-08-14 2008-02-21 Inner-Active Ltd. System and method for real time delivery of interactive advertising messages into mobile applications
US9063765B2 (en) * 2008-04-28 2015-06-23 Kaazing Corporation System and methods for distributed execution of computer executable programs utilizing asymmetric translation
US20100037204A1 (en) * 2008-08-07 2010-02-11 Google Inc. Content Distribution for Mobile Device
US20100153866A1 (en) * 2008-12-11 2010-06-17 Accenture Global Services Gmbh Method and system for modifying the execution of a native application running on a portable electronic device
GB0909695D0 (en) * 2009-06-05 2009-07-22 Maxymiser Ltd On page console
JP2011215758A (ja) * 2010-03-31 2011-10-27 Kyocera Mita Corp 情報処理装置および情報処理プログラム
CN103384864B (zh) * 2011-02-22 2016-12-14 国际商业机器公司 渲染内容的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835507A (zh) * 2005-03-17 2006-09-20 国际商业机器公司 用于用户与web浏览器交互的服务器端处理的方法与系统
CN101861740A (zh) * 2007-11-14 2010-10-13 雅虎公司 使用与移动应用的集成的移动设备上的广告

Also Published As

Publication number Publication date
GB2518936A (en) 2015-04-08
JP2019215895A (ja) 2019-12-19
EP3019955A1 (en) 2016-05-18
WO2015004452A1 (en) 2015-01-15
JP2016528608A (ja) 2016-09-15
CN105683912A (zh) 2016-06-15
JP6865252B2 (ja) 2021-04-28
GB201312280D0 (en) 2013-08-21
GB201412190D0 (en) 2014-08-20

Similar Documents

Publication Publication Date Title
CN105683912B (zh) 对于应用程序的优化的方法
CN108009871B (zh) 基于增强现实视点的产品推荐
Van den Bulte et al. Social contagion and income heterogeneity in new product diffusion: A meta-analytic test
US20150135160A1 (en) System and method for providing an application development and distribution social platform
US20150220942A1 (en) Data collection and reporting system
IL301284A (en) System and method for implementing a system interface based on operable cards that integrate user interface components
US20110179165A1 (en) Unaffiliated web domain hosting service product mapping
CN103747022A (zh) 客户关系管理系统
US11699019B2 (en) Visual content optimization system using artificial intelligence (AI) based design generation and validation
WO2005015362A2 (en) System and method for delivering and optimizing media programming in public spaces
US20110077990A1 (en) Method and System for Collection and Management of Remote Observational Data for Businesses
TW201310986A (zh) 虛擬廣告平台
Farney et al. Web analytics strategies for information professionals: a LITA guide
Stone et al. Relevance of academic research in information technology and information management
CN110245968A (zh) 数据分析的方法、装置和存储介质
Mallard Developing uses, qualifying goods: on the construction of market exchange for Internet access services
KR102709310B1 (ko) 드릴다운 기법을 통해 마케팅리포트를 제공하는 방법
AU2014233616B2 (en) Unaffiliated web domain hosting service based on a common service architecture
US10535082B1 (en) Hybrid selection of target for advertisement campaign
WO2018089500A1 (en) Method and apparatus for serving online communities of users
WO2017223547A1 (en) Automated aggregated multivariate testing systems, methods, and processes
Aboueldahab The Impact of Innovative Mobile Customer Relationship Management (mCRM) Processes on Customer Satisfaction of Samsung, Dubai, UAE.
Gonzalez-Miranda et al. An IoT-leveraged information system for future shopping environments
Chumpoonta Overcoming Business Disruption for MICE Business (Powered by Zoho CRM)
Chehore User Experience & Human Centred Design for a blockchain based provenance traceability platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant