Flutter:一个新的Split的开源插件

287 阅读5分钟

Flutter是谷歌的开源SDK,用于构建多平台应用程序。自推出以来,它已经成为跨平台开发最广泛使用的工具之一。我们希望通过发布这个针对Split的官方Flutter插件,使开发者能够轻松地将Split整合到他们的应用程序中。

这篇文章将探讨我们如何通过一个简单的用例来使用它。我们将演示如何验证我们应用中的某个屏幕的设计最适合最大化购买。

我们的实验

想象一下,我们有我们的Flutter应用程序,并希望确保我们向我们的用户展示最有效的特定屏幕的设计。

我们不能肯定地知道哪种设计选择是最好的,所以我们需要创建一个实验来找出答案。幸运的是,我们知道Split可以帮助我们做到这一点。

连接Split移动SDK

在进入插件的使用之前,让我们退一步考虑,到目前为止,在Flutter中使用Split意味着什么。如果你已经尝试过,你有两个选择,每个选择都有自己的挑战。

选项1;自己创建一个插件。在Dart中建立一个具有你需要的SDK功能的接口,并使用一个平台通道与我们的本地SDK沟通。

这意味着,你必须。

  • 注意在Flutter和每个原生平台之间正确传递信息
  • 确保您的SDK版本是最新的
  • 在实施新功能时面临挑战

选项 2;与我们的 API 进行通信。执行 HTTP 请求以与平台互动;这需要。

  • 需要实现同步化、缓存和评估逻辑
  • 功能有限
  • 即使是基本的使用,也需要大量的工作

无论你的集成实施过程如何,构建和维护都是一件麻烦事。更重要的是,不可否认的是,它分散了你的注意力,使你无法从事为用户提供价值的功能。

在Split,我们喜欢为开发者提供尽可能好的体验,这就是为什么我们要承担起为你处理这些额外工作的责任。让我们来看看使用我们的Flutter插件来实现我们的实验是多么容易。

第1步:设置

首先要做的是。我们需要将Flutter插件添加到我们项目的依赖项中。在写这篇文章的时候,最新的版本是0.1.1。请确保在pub.dev上验证。

dependencies:
  split: any # replace with the latest version

接下来,我们应该实例化插件对象,并获得对我们客户端的引用。客户端实例将使我们能够检查这个特定用户的处理值。

final Splitio _split = Splitio(‘my_split_api_key’, ‘user_identifier’);

final SplitClient _client = await _split.client().whenReady();

第2步:创建特征标志

为了能够在两个屏幕变体之间进行切换,我们必须有一个拆分的地方。

让我们在Split控制台创建一个,并将其称为 "buy_screen"。要做到这一点,在左边的菜单中导航到分割,并点击顶部的 "创建分割 "按钮。

我们将设置这个分片的处理方法为 "variant_1 "和 "variant_2",用于每个屏幕选项。

一旦我们完成了这些,我们就可以在我们的应用程序中检查我们分割的处理值,以决定建立哪个屏幕。

String? _screenVariant;

@override
void initState() {
  super.initState();
  _client
  .getTreatment(‘buy_screen’)
  .then((treatment) => setState(() => _screenVariant = treatment));
}

@override
Widget buildScreen(BuildContext context) {
  if (_screenVariant == ‘variant_1’) {
    return _buildScreenOne();
  } else if (_screenVariant == ‘variant_2’ {
    return _buildScreenTwo();
  } else {
    return _buildLoadingIndicator();
  }
}

第三步:跟踪一个事件

为了衡量哪个变体最成功,我们需要一个指标,为此,我们将创建一个 "购买 "事件。

由于我们对衡量我们的布局在最大化购买行为方面的有效性感兴趣,我们应该跟踪点击购买按钮时的事件。我们可以使用我们之前创建的客户端来做到这一点。

PurchaseButton(
  onPressed: makePurchase
);

[…]

void makePurchase async {
  _client.track(‘purchase’);
  _purchaseService.buy();
}
PurchaseButton(
  onPressed: makePurchase
);

[…]

void makePurchase async {
  _client.track(‘purchase’);
  _purchaseService.buy();
}

Split平台将跟踪这一事件,并利用它来确定我们的任何一个屏幕是否比其他屏幕更好。

衡量影响

一旦我们向客户推出这个实验,我们就可以从Split控制台查看结果。例如,它可能会显示,我们的第一个变体使我们的购买量增加了10%!这本身就很有帮助;我们可以从Split控制台查看结果。这本身就很有帮助;我们确保了我们推出的是最合适的屏幕设计。但我们可以更深入地挖掘。

给我们的跟踪方法添加属性,我们可以扩展它以包括细节,比如。

  • 购买的总金额
  • 购物车中的物品数量
  • 购物车中最少或最贵的物品

有了这些新信息,我们可以得出结论,帮助我们更好地了解用户的行为。我们可以采取行动,调整我们的产品以更好地满足他们的需求。

结论

虽然这是一个简单的例子,但它说明了在Flutter应用程序中集成功能标记是多么容易,并迅速获得有价值的数据,以帮助您的业务表现更好。请查看我们的文档,了解更多关于其他可用功能的信息