船舶越快,风险越来越少。获得优化的推出,为开发人员提供免费功能标志。 建立免费账户



作为开发人员使用 特色标志 在优化的同时,在开发时,我必须在应用程序和IDE之间来回切换。这使得我的开发流程难以维护,因为应用和IDE之间的所有上下文切换。易于测试我的配置或观众而不是开发和运行项目的情况也是错误的。

所以,我写了一个 Intellij插件优化,这有助于您管理和使用 特色标志 和IDE内的实验。 

如果你不熟悉 特征门控实验, 采用这些有用的工具 将允许您减轻启动新功能的风险,从部署到高兴的客户。如果您已经熟悉使用优化,很棒!这将向您展示如何轻松将此有用的插件与优化的工作流程集成。

IDE插件

  • 通过自动完成显示要素标志或实验密钥
  • 通过键盘快捷方式访问所有优化配置选项
  • 插入键盘上可获得的属性,事件和可变/变体键  
  • 直接跳转到功能或实验编辑页面,并轻松添加和消耗变量
  • 显示一个调试对话框,允许您调试配置和复杂的受众组合

 

让我们通过一个场景,以如何优化 IntelliJ插件。 Optimizely IntelliJ插件实际上适用于所有基于Jetbrains的IDE。它支持Go,Java,Kotlin和Python的自动完成。 

在使用该插件之前,您需要安装 优化SDK. 在您的申请中。你可以去 开发人员文档,选择你的语言和SDK开始。

您还需要安装 优化插件,可提供偏好>插入。 Optimizely插件将在您的列表中 市场 您可以安装的插件。只需单击“安装”并安装插件。  

添加Optimizely插件

接下来,我们将挑战我们想要在后面的内容 功能旗帜 并通过在IDE中创建功能标志并实现它的示例。在下面的示例中,我们将为我们的Android项目创建一个用于新优惠券弹出窗口的功能标志。我们可以使用功能标志查看此新优惠券功能。首先,我们将创建该功能,然后创建一个受众,在这种情况下为纽约和加利福尼亚州用户,然后在Debug对话框中测试它。在此之后,我们可以将代码添加到我们的项目中。 

创造之后 功能旗帜 和一个受众(例如,您想要按位置定位,您将在HTTP标题或通过移动位置拾取),我们将切换到IDE。

驾驶配置密钥是 SDK钥匙 对于我们使用的优化环境。点击选项/ alt–o和s,然后将弹出SDK密钥输入屏幕。

优化 Intellij SDK键

从那里,如果您使用的是使用Go,Java,Kotlin或Python,您可以在键入优化的SDK方法时使用自动完成方法 ISFeatureEnabled,GetFeaturevariaBlestring,并激活。如果您使用了不同的语言或不想使用自动完成,则可以使用 选项 - o (实验) 选项-O f (特征) 选项-0 v 列出最后一个变量或变体,具体取决于您最后选择的特征或实验。

这是Ruby的一个例子,它没有自动完成:

Ruby Intellij AutoComplete.

和一个Java示例也使用Activate使用自动完成:

跳回我们的Java示例,我们想看看是否有一个功能密钥show_coupon,我们给出的优惠券功能的名称,如果是真的,则显示优惠券。以下是“show_coupon”自动完成的快照。

首先,让我们检查优惠券是否已启用。如果是,请将功能键传递给我们的Android 活动 显示优惠券。我们可以将其作为额外的数据传递,如下所示。

您还可以通过型自动完成轻松访问功能变量。以下是获取信息和折扣的GIF。  

在GIF中,GetFeatureVariaBlestring函数将仅返回类型字符串的变量。它依赖于第一变量是特征键的引用字符串的事实。

伟大的!如果功能发生变化,我们也希望能够反应。因此,我们将添加通知处理程序并通过重置该变量进行响应。

好的,现在我们有一个功能包裹在功能标志中,每当要素标志更改时更新。但是,如果我们想添加观众,那么我们如何向某些受众推出该功能?

我们要做的下一件事就是创造我们的 观众优化.

所以,去菜单,看 跳到 并跳转到show_coupon编辑页面。

创造一个受众。

在这种情况下,我们只为NY或CA创建了一个受众。接下来,我们可以使用OptimizelyPlugin来测试和添加观众。

好的,所以我们刚刚为我的show_coupon拍了很少的成分,我们可以看到有一个观众,我们不在其中。现在,让我们添加一个属性和重新运行。

啊,现在我们添加了一个位置,如果是CA或NY,我们将显示优惠券。如果我们想增加或减少暴露于该功能的客户数量,我们可以在以后更改观众是没有或其他别的。当您具有非常复杂的受众时,调试对话框可以非常有用,并且您想要验证它们将如何工作。

现在,我们添加了观众部分,以便我们可以推出。我们可能希望考虑不同的属性,例如年龄或其他人的人口统计。

也许添加任何其他人口统计数据,我们可能想要X或Y.

最后,我们希望确保在我们的功能调用中包含这些属性。现在,isfeatureenabled是它最有用的地方(它用于确定您是否是卷展栏的一部分),除非您的功能是实验的一部分(在这种情况下,您可以获得某个功能的非默认值在)。但是,随着有针对性的功能卷展栏的添加,您将能够根据您是否是目标而获得不同的特征变量值。所以,让我们确保并将这些属性添加到所有呼叫中。

因此,我们通过在使用Optimizely插件中添加了一个新功能并在功能标志中包装它。该插件对于初始设计和开发非常有用,但是,我将提倡重构代码,以便当您推动生产时,您的功能标志和条件位于包装纸后面。这样,将来,您可以轻松地交换功能名称,或者弃用功能,并且始终返回true。  

我不能压力足够有用 功能标记实验 可以用于产品开发。如果您想快速和自信地设置UI和功能,它们非常宝贵。 

我希望人们发现这个插件有助于创建可靠的测试实验和特征环境。我们将根据从工程师获得反馈,请沿任何反馈发送!你可以通过反馈 插件审查部分 或打开一个问题 github存储库.

如果您有兴趣入门逐步交付,则可以免费注册 优化推出 帐户。

优化X.