Flutter VWO实验管理插件vwo_flutter_sdk的使用

Flutter VWO实验管理插件vwo_flutter_sdk的使用

要求

  • Dart SDK版本 >=2.12.0 < 4.0.0
  • Flutter版本 >=1.20.0

文档

请参考官方VWO文档

基本用法

实例化

SDK提供了一个方法来实例化一个VWO客户端。该方法接受apiKey和配置对象。实例化SDK所需的参数是apiKey。

VWOConfig vwoConfig = VWOConfig();
if (Platform.isIOS) {
  await VWO.launch(ios_apiKey, vwoConfig: vwoConfig);
} else {
  await VWO.launch(android_apiKey, vwoConfig: vwoConfig);
}
推送自定义维度
await VWO.pushCustomDimension("CUSTOM_DIMENSION_KEY", "CUSTOM_DIMENSION_VALUE");
获取变体名称
await VWO.getVariationNameForTestKey("campaign_key");
获取变量值
  • 获取字符串变量值
await VWO.getStringForKey("variable_key", "default_value")
  • 获取整数变量值
await VWO.getIntegerForKey("variable_key", default_value)
  • 获取双精度变量值
await VWO.getDoubleForKey("variable_key", default_value)
  • 获取布尔变量值
await VWO.getBooleanForKey("variable_key", default_value)
  • 获取对象变量值
await VWO.getObjectForKey("variable_key", default_value)
触发目标
  • 自定义目标
await VWO.trackConversion("test_goal");
  • 收益目标
await VWO.trackConversion("test_goal", revenue_value);

凭证

此SDK需要一个应用密钥。您可以在VWO注册一个帐户。 一旦注册成功,您可以添加一个新的Android/iOS应用,并在应用中使用生成的应用密钥。

设置VWO账户

  1. VWO注册VWO帐户
  2. 从创建菜单中创建一个新的Android应用
  3. 集成SDK到Android/iOS应用时使用生成的应用密钥
  4. 创建并运行活动

作者

更改日志

请参阅CHANGELOG.md

贡献指南

请阅读我们的贡献指南

行为准则

请阅读行为准则

许可证

Apache许可证,版本2.0

版权所有2021 Wingify Software Pvt. Ltd.


示例代码

example/lib/main.dart

///
/// Copyright 2021 Wingify Software Pvt. Ltd.
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
///    http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:vwo_flutter_sdk/vwo_flutter_sdk.dart';
import 'package:vwo_flutter_sdk_example/providers/navigation_provider.dart';
import 'package:vwo_flutter_sdk_example/screens/sorting/sorting_campaign.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
    VWO.vwoStream.listen((vwoProperties) {
      print("接收到的数据来自VWO:- $vwoProperties");
      String campaignId = vwoProperties["vwo_campaign_name"];
      String campaignName =  vwoProperties["vwo_campaign_id"];
      String variationId =  vwoProperties["vwo_variation_name"];
      String variationName =  vwoProperties["vwo_variation_id"];
      print("活动ID $campaignId, 活动名称 $campaignName, 变体ID $variationId, 变体名称 $variationName" );
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider<NavigationProvider>(
          create: (context) => NavigationProvider(),
        ),
      ],
      child: MaterialApp(
        home: SortingCampaign(),
      ),
    );
  }
}

更多关于Flutter VWO实验管理插件vwo_flutter_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter VWO实验管理插件vwo_flutter_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


vwo_flutter_sdk 是一个用于在 Flutter 应用程序中集成 VWO(Visual Website Optimizer)实验管理的插件。通过这个插件,你可以在 Flutter 应用中轻松地运行 A/B 测试、功能发布和个性化实验。

以下是如何使用 vwo_flutter_sdk 的基本步骤:

1. 安装插件

首先,在你的 pubspec.yaml 文件中添加 vwo_flutter_sdk 依赖:

dependencies:
  flutter:
    sdk: flutter
  vwo_flutter_sdk: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 初始化 VWO SDK

在你的 Flutter 应用程序中,首先需要初始化 VWO SDK。通常在 main.dart 文件中的 main 函数中进行初始化。

import 'package:flutter/material.dart';
import 'package:vwo_flutter_sdk/vwo_flutter_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化 VWO SDK
  await VWO.init(
    sdkKey: 'YOUR_SDK_KEY',  // 你的 VWO SDK Key
    config: Config(
      logLevel: LogLevel.ALL,  // 设置日志级别
    ),
  );

  runApp(MyApp());
}

3. 获取实验变量

在初始化之后,你可以在应用程序的任何地方使用 VWO 来获取实验变量或执行其他操作。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('VWO Flutter SDK Example'),
        ),
        body: Center(
          child: FutureBuilder(
            future: VWO.stringVariable('YOUR_VARIABLE_KEY', 'default_value'),
            builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done) {
                return Text('Variable Value: ${snapshot.data}');
              } else {
                return CircularProgressIndicator();
              }
            },
          ),
        ),
      ),
    );
  }
}

4. 跟踪用户转换

如果你希望在用户完成某个操作时跟踪转换,可以使用 trackConversion 方法。

VWO.trackConversion('YOUR_GOAL_IDENTIFIER');

5. 其他功能

你还可以使用 VWO 提供的其他功能,如:

  • 获取用户细分 (VWO.getUserSegment): 获取用户的细分信息。
  • 获取所有活动变量 (VWO.getAllVariables): 获取所有活动的变量。
  • 设置自定义变量 (VWO.setCustomVariable): 设置自定义变量以用于进一步的细分。

6. 调试与日志

在开发过程中,你可以通过设置 logLevel 来查看详细的日志信息,帮助你调试和验证 SDK 的行为。

await VWO.init(
  sdkKey: 'YOUR_SDK_KEY',
  config: Config(
    logLevel: LogLevel.ALL,  // 设置为 LogLevel.ALL 以查看所有日志
  ),
);
回到顶部