对于应用程序的优化的方法_4

文档序号:9916549阅读:来源:国知局
e的开发环境。
[0336] ?如果你为了测试目的在设备上运行你的应用程序,你将需要具有Apple开发程 序账户。
[0337] ?精通使用Objective-C和原生iOS应用程序的开发。
[0338] 注意:我们的SDK支持iOS 7及以上。对于i0S6及以下,SDK可以集成到你的应用程 序中,但是SDK将是不活跃的并且你将不能够使用Maxymiser特征。
[0339] 3.集成指导
[0340]我们的集成指导带你通过六个步骤来完成iOS应用程序内A/B测试的设立。
[0341] 3.1活动创建
[0342]我们已提供了到我们当前的Maxymiser UI文档的多个链接。这是你将设立并维护 移动应用程序测试的地方。对于我们的术语注释,参见附录1,并且我们的词汇表可以在附 录3中查看。
[0343] 3.1.1设立用于测试的活动
[0344] 1.创建最大测试活动一全部文档可以在我们的帮助指导中找到。
[0345] 2.将你的活动映射到对于应用程序测试已在Maxymiser UI中创建的页面一全部 文档可以在我们的帮助指导中找到。请确保你没有将你的活动映射到其它页面,因为预定 义的页面具有为应用程序测试而设置的特殊性质。
[0346] 3.在你的应用程序内部创建至少一个你想要跟踪的动作一全部文档可以在我们 的帮助指导中找到。对于移动应用程序测试所支持的用户属性的列表,请参见附录2。
[0347] 4.创建将包含你的用户体验的变体的元素一全部文档可以在我们的帮助指导中 找到。在示例中,多变量测试不被支持,所以请确保每个活动仅创建一个元素。
[0348] 5.对于你的用户体验的元素创建至少一个变体一全部文档可以在我们的帮助指 导中找到。
[0349] 6.指定变体权重和控制一全部文档可以在我们的帮助指导中找到。
[0350] 例如:
[0351] 我们想要改变背景颜色并且证实哪一个具有较高的转换率。创建你的用户体验的 两个变体,除了默认之外,因为默认被自动创建。默认变体(控制变体)具有白色背景。变体 1 一具有绿色背景并且变体2具有蓝色背景。
[0352] 现在我们需要设立变体加权。
[0353] 默认一50 %。
[0354] 变体 1 - 25 %。
[0355] 变体 2 -25%。
[0356]这意味着:所有用户的一半在UI中没有看到任何改变,并且将不参与活动。四分之 一的用户将看到绿色背景并且四分之一的用户将看到蓝色背景。
[0357] 3.2SDK 集成
[0358] 现在活动已在Maxymiser UI中配置,我们可以开始集成SDK的处理。
[0359] 1.定位并且提取MMTApp库压缩文件,其和该文档一起分发。
[0360] 2.提取SDK包的内容。
[0361 ] 3.启动XCode并且打开将被测试的iOS应用程序。
[0362] 4.将来自SDK包的以下文件添加到你的应用程序:
[0363] MTApp. h
[0364] MTApi .h
[0365] MMTExperiences.h
[0366] MMTLogger.h
[0367] IibMMTApp.a
[0368] 5.将你的应用程序的目标与以下的库链接:
[0369] CoreData. framework
[0370] SystemConfiguration·framework
[0371] IibMMTApp.a
[0372] 6 ·将' #import〃MMTApp · h〃'指示插入到你的工程中的工作文件的顶部。MMTApp是 到API的进入点。
[0373] 7 ·创建并配置API:
[0374] a)在你的应用程序委托(delegate)中,插入以下:
[0375] //为'myapp'站点创建 API
[0376] id〈MMTApi>api=[MMTApp apiForSite:@"myapp"];
[0377] //使用沙盒配置,不是生产
[0378] [api useSandbox:YES];
[0379] b)在Maxymiser UI中用你的站点的名称替换'myapp'。
[0380] c)随后你可以通过[MMTApp defaultApi]引用首次创建的API,所以不需要保持对 仓|J建的API的引用。
[0381] 对于更多的配置选项,请参见API引用。
[0382] 3.3体验获取
[0383] 以下的代码将获取并且缓存所有活动和它们的变体以供随后使用。
[0384] //示出间隙(interstitial)页面
[0385] [[MMTApp defaultApiIfetchExperiences:'{
[0386] //隐藏间隙页面并且显示主页面
[0387] }];
[0388]第一个变元(argument)是一旦获取体验我们将调用的块。在该块内部更新UI是安 全的,因为它将在主线程上被调用。
[0389 ]注意:请意识到由于时延,在从Maxym i s er接收具有待显示的变体的细节的响应时 可能存在短的延迟。因此,我们推荐在你的应用程序中用户可以自然地体验延迟的位置(例 如间隙页面或者搜索项/登录输入页面)中获取体验。我们推荐在应用程序启动时获取体 验。
[0390] 3.4内容变换
[0391 ]当获取体验时,你可以使用它们以变换内容。
[0392] 存在你可以从其选择以实现内容变换的两种方法。
[0393] 3.4.1变体名称
[0394] 你的应用程序的判定逻辑基于变体名称。在该情况下,对于视图元素的用户体验 的变体使用在以下示例中示出的格式。
[0395] 当变体名称为默认时,变体内容为空。
[0396] 当变体名称为变体1时,变体内容为空。
[0397] 当变体名称为变体2时,变体内容为空。
[0398] * view Will AppeMn(BC) { |suptT vkw认..qLA.ppear:at'd;m;ated" UK.k)lor " coli >r ? nil; NSStfifig ¥vadimtNiinie ? ([[MMT.App defaukApt] gerlixperiencesj gel\'aHantNamcr<'oK^ampaigfi:(%t<(ii\nipa-ign n V iew!i]; tf (|{^)nVariantl,f jsEquaiToStringrvanan i:Namc]) { color r:: fUK.]i:4or greej:i(.^c>k;s:r]; } else if (1??" Vmant2H bEqudlViSiTtrx^vHiTcintNvitriel)( color - [UICoior l:s!ue(^ok>ii.; } else I color - [UICoior whiteColorj; } self.Tiewi;>ackgrcm? α >?οη
[[MMT.App def:iu!t:Api| t.mi:k(.^)rit(;r?tSe<::iK({:4H(-anipa?gnH|; }
[0399] 3.4.2变体内容
[0400] 你可以在变体内容中描述内容变换。对于视图元素的用户体验的变体将使用在以 下示例中示出的格式。
[0401 ]当变体名称是默认时,变体内容是白色。
[0402] 当变体名称是变体1时,变体内容是绿色。
[0403] 当变体名称是变体2时,变体内容是蓝色。
[0404] -(v〇id}vK^vWiliAppear:?(){)I,-}aairn^rUH |
[super view Wi [],\ppcvir:;>mma redj; NvSvSmng :· v^riantCc.Hueru: - |[|MMT.:\pp deimih./Xptj gotj!?!xpericrH.:es] get'VadaiiiC(>rmtm.F〇K^ derminr^^^Vu^v'*]; i{^wi^nK^>Ment I- nil) i seli, view,hackgr<>aiui( x>lor 二 jl.'i("〇i〇r |xrf〇miSe]ectQn'NSSekx-^>rF:ix>mSmrig{yarb } eke i selfA^^i.K-ckgTO ^ [?Ι(.Λ>1?Γ whif(C<ol0r|^
[| ΜΛΓΓ.λρρ dehUi-irApj] track(>)ateatSeen>;i7)ii{'^mv^
[0405] 重要:当用户被示出来自活动的内容时,Maxymiser平台必须通过调用以下被通 知:
[0406] [[MMTApp defaultApi]trackContentSeen:%CampaignName%
[0407] 未能执行该步骤将意味着报告将被损坏,因为没有用户将被辨识为进入活动。
[0408] 3.5动作跟踪
[0409] 所有测试活动需要至少一个动作,使得你可以跟踪更改用户体验的影响一例如, 跟踪到销售的转换。
[0410] 使用以下代码来跟踪动作:
[0411] [[MMTApp defaultApi]track Action:@〃Purchase〃value:IOOattribute:nil]; [0412]如果到Maxymiser的连接不可用,则动作将被缓存并且一旦连接恢复就被发送。
[0413] 3.6QC&上线
[0414] 环境
[0415] Maxymiser UI支持两种环境:沙盒和生产
[0416] 3.6.1沙盒
[0417] 沙盒是在其中创建并配置活动的开发测试环境。关于你的应用程序的所有测试都 应当在沙盒中进行。沙盒通信量(traf f i c)被从预定义的公司IP服务。
[0418]为了质量控制(QC)测试目的预览应用程序中(in-app)的特定变体:
[0419] 1 ·使用Maxymiser UI-活动设置〉活动内容〉元素&变体页面,以将所有变体的加权 设置为'〇'。
[0420] 2.将你想要预览的变体的权重设置为'100'。运行你的应用程序,并且确保变换被 正确地应用和其它的功能性像预期的那样工作。
[0421] 3.对于用户体验中的所有变体重复这些步骤。
[0422] 4.完成必要的阶段以触发所有配置的动作。
[0423] 5.检查动作日志报告,确保动作的值和动作的属性正在被正确地记录日志。
[0424]注意:在沙盒模式中捕获的数据不出现在Maxymiser UI通用报告中。该模式为了 QC测试目的而存在。应用程序不允许带有连接到沙盒环境的测试而发布,因为服务级别协 议(SLA)不被支持并且报告将不可用。
[0425] 3.6.2生产
[0426] 生产是用于服务生产(现场用户)通信量的环境。
[0427] 从该环境采集的数据被使得在报告区域(参见Maxymiser UI-分析选项卡)中可 用,以用于分析来确定哪个变体是最佳的表现者。
[0428] MMTApp允许环境如下切换:
[0429] #ifdef DEBUG
[0430] [api useSandbox:YES];
[0431] #endif
[0432] 重要:绝不将包含仍连接到沙盒环境的活动的应用程序发布给终端用户。
[0433] 3.6.3发行
[0434] 发行对于在沙盒与生产状态之间移动活动是必要的一全部文档可以在我们的帮 助指导中找到。
[0435] -旦活动被设立,它可以经历从实现开始直到当它被发行时上线的状态。这些状 态在图15中不出的表格中描述。
[0436] 3.6.4结束活动
[0437] 在活动结束时(当识别出获胜的用户体验变体时),获胜的变体在重新发行活动之 前在Maxymiser UI中被加权到100 -这确保仅仅获胜的变体被显示给用户。推荐的是,一旦 活动已结束,活动被切换到'不收集数据'状态,使得性能数据被冻结以用于未来的引用。
[0438] 当获胜的用户体验变体已被编码到应用程序代码基中(例如在下一次发布)时,活 动特定的代码应当从应用程序中移除。
[0439] 对于我们的故障排除指导,请参见附录4
[0440] 4 API 引用 [0441 ] MTApp
[0442] SDK顶级类。提供为站点创建API的便利并且包含用于SDK配置的方法。
[0443] 任务
[0444] 管理 API
[0445] +defaultApi
[0446] +setDefaultApi:
[0447] +apiForSite:
[0448] 配置
[0449] +setLogger:
[0450] +setLogLevel:
[0451 ]类方法
[0452] +defaultApi
[0453] 返回默认的API。
[0454] +(id<MMTApi>)defaultApi;
[0455] 返回值
[0456] 利用+setDefaultApi :显式设置的API对象或者利用+apiForSite:创建的第一个 API对象,否则返回无 (nil)。
[0457] +setDefaultApi:
[0458] 设置默认的API。
[0459] +(void)setDefaultApi:(id<MMTApi>)api;
[0460] 参数
[0461] api
[0462] 将被设置为默认的API对象。
[0463] +apiForSite:
[0464 ] 对于给定的站点创建新的AP L·
[0465] +(id<MMTApi>)apiForSite:(NSString ^)site;
[0466] 参数
[0467] site
[0468] 站点的名称。
[0469] 返回值
[0470]与给定的站点链接的API对象。
[0471 ] +setLogger:
[0472] 设置将由SDK使用的日志记录器(logger)。
[0473] +(void)setLogger:(id<MMTLogger>)logger;
[0474] 参数
[0475] logger
[0476] 将使用的日志记录器。
[0477] +setLogLevel:
[0478] 设置日志记录级别。
[0479] +(void)setLogLevel:(MMTLogLevel)Ievel;
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1