制作电视应用程序
even better

燃料在OTT经验中延伸持续改进的实验

电视正在快速变化。领导收费。

参与客户的见解

客户行动胜于雄辩。你在听么?尝试订阅流量,内容发现,广告放置和布局,以了解他们的渴望。

优化每个频道

每个观看媒体都不同。移动观看的适用性不会为家庭影院削减它。这就是为什么优化的SDK所有工作都在一起,所以您可以发现客户旅程的每个步骤的最佳体验。

更快的迭代。风险较低。分阶段推出和即时更新

分阶段的卷展栏和即时更新让您快速迭代并无畏地启动。测试新的想法并随着现场变量和简单的流量分配调整。

目标每一个经历

以先进的目标为正确的受众提供合适的经验。由于优化的SDK所有工作都在一起,您可以轻松实验和个性化跨频道和设备的服务器端实验 - 以及整个全技术堆栈。

自信地送货。没有惊喜。

灵活的配置选项

在应用的任何部分运行实验。轻松配置网络,日志记录,异常处理,集成以及更多以满足您的生产需求。

专注于性能

实时实验,性能影响最小。我们的轻量级开源SDK不提供网络请求,并为您的应用程序或Google播放审查启用即时更新。

值得信赖的解决方案

在世界领先的实验平台上优化您的应用,已经在全球范围内提供数十亿个经验。由优化的行业领先提供动力 统计引擎。

                      
              

// Initialize an Optimizely manager

OPTLYManager *optlyManager = [OPTLYManager init:^(OPTLYManagerBuilder * _Nullable builder) { builder.projectId = @"projectId"; }];

// Initialize an Optimizely client by asynchronously downloading the datafile

[optlyManager initializeWithCallback:^(NSError * _Nullable error, OPTLYClient * _Nullable client) {

// Activate user in an experiment

OPTLYVariation *variation = [client activate:@"my_experiment" userId:@"userId"]; if ([variation.variationKey isEqualToString:@"control"]) {

// Execute code for the control

} else if ([variation.variationKey isEqualToString:@"treatment"]) {

// Execute code for the treatment

} else {

// Execute default code

}

// Track conversion event

[client track:@"my_conversion" userId:@"userId"]; }];
                      
              

// Initialize an Optimizely manager

let optimizelyManager : OPTLYManager? = OPTLYManager.init {(builder) in builder!.projectId = "projectId" }

// Initialize an Optimizely client by asynchronously downloading the datafile

optimizelyManager?.initialize(callback: { [weak self] (error, optimizelyClient) in

// Activate user in an experiment

if let variation = optimizelyClient?.activate("my_experiment", userId: "userId") { if (variation.variationKey == "control") {

// Execute code for the control

} else if (variation.variationKey == "treatment") {

// Execute code for the treatment

} } else {

// execute default code

}

// Track conversion event

optimizelyClient?.track("my_conversion", userId: "userId")
                      
              import com.optimizely.ab.Optimizely;
              
              

// Get an Optimizely client

OptimizelyClient optimizelyClient = optimizelyManager.getOptimizely();

// Activate user in an experiment

Variation variation = optimizelyClient.activate("my_experiment", "user_id"); if (variation != null) { if (variation.is("control")) {

// Execute code for variation A

} else if (variation.is("treatment")) {

// Execute code for variation B

} } else {

// Execute default code

}

// Track conversion event

optimizelyClient.track("my_conversion", user_id);

在您的技术堆栈中的任何地方进行实验

测试定价,搜索算法等。 优化完整的堆栈 使您可以在您的移动客户端进行实验,并深入了解您的后端。

APP实验的完整解决方案,没有开发人员头痛

  • 开源SDKS.

    我们的TVOS和Android电视SDK是透明的,所以你确切地知道他们的工作原理。
  • 事件跟踪

    在您的应用程序或任何其他服务中监控您关心的所有转换度量和KPI。
  • 分阶段推出

    通过首先将它们滚动到一小组用户,无论是随机的还是有针对性的,降低推出新功能的风险。
  • 自定义配置

    轻松交换您自己的组件,以进行日志记录,错误处理,事件调度,集成等。
  • 观众

    定义自定义属性以获取细粒度目标和分割。
  • 多通道实验

    设置您自己的用户ID,以在所有客户频道上创建一致的个性化体验。
  • 完整的堆栈实验

    运行跨越前端和后端代码的实验与Optimizely的SDK中的任何一个。
  • 优化统计引擎

    通过世界领先的实验平台,查看实验的影响。
  • 即时更新

    实时对实验和变量进行更新,而不等待您的下一个App Store版本。
  • 原始事件出口

    轻松从优化下载完整的事件数据。
  • 交通分裂

    轻松创建应用程序中的随机流量交换机,而不会影响性能。
  • 企业就绪安全性

    角色和权限,2系列身份验证和单点登录。

开始使用我们的开发人员文档

本机电视和移动应用程序是将观众参与他们在迅速改变观察习惯之前的巨大机会。通过优化,我们可以轻松地在我们的应用中运行实验,并确保产品,营销和工程团队都在一起,以实现共同的目标 - 提供最佳客户体验。
施坦尼桑切斯

SVP商业智能和战略

立即开始尝试在您的顶级应用程序中进行实验