taplytics/taplytics-php

Taplytics PHP SDK,用于快速进行A/B测试和功能标志

1.1.0 2019-04-05 17:41 UTC

This package is not auto-updated.

Last update: 2024-09-29 20:14:29 UTC


README

CircleCI

入门指南

Taplytics PHP SDK 允许在边缘交付服务器端实验、功能标志和功能。

如何构建

参考入门指南,将 Taplytics 集成到您的项目中。

初始化

API 客户端可以按照以下方式初始化。

$client = new TaplyticsLib\TaplyticsClient();

类参考

APIController

获取单例实例

可以通过 API 客户端访问 APIController 类的单例实例。

$client = $client->getClient();

createGetVariables

给定用户的全部变量及其值

function createGetVariables(
        $token,
        $userId,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$body = new Body();

$result = $client->createGetVariables($token, $userId, $body);

createGetVariationForExperiment

对于给定的实验,确定用户是否在实验中,以及所在变体

function createGetVariationForExperiment(
        $token,
        $userId,
        $experimentName,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$experimentName = 'experimentName';
$body = new Body();

$result = $client->createGetVariationForExperiment($token, $userId, $experimentName, $body);

createGetVariableValue

给定 Taplytics 动态变量的值。如果用户不在包含该变量的实验中,响应将是查询参数中提供的默认值。

function createGetVariableValue(
        $token,
        $userId,
        $varName,
        $defaultValue,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$varName = 'varName';
$defaultValue = 'defaultValue';
$body = new Body();

$result = $client->createGetVariableValue($token, $userId, $varName, $defaultValue, $body);

createGetBucketing

返回用户被分割的所有实验的关键值对,以及分配给用户的变体。

function createGetBucketing(
        $token,
        $userId,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$body = new Body();

$result = $client->createGetBucketing($token, $userId, $body);

postEvent

向 Taplytics 发送事件。这些事件随后用于与实验目标进行比较,以确定 A/B 测试的成功。

function postEvent(
        $token,
        $userId,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$body = array(
	'events' => array(
	        		array('eventName' => 'event name!', 'eventValue' => 5)
				)
);

$result = $client->postEvent($token, $userId, $body);

传递事件的格式如下

{
	attributes: {
		name: '',
		...
	},
	events: [
		{eventName: '', eventValue},
		...
	]
}

createGetConfig

返回项目的完整配置。这是告知实验信息(如分割)的文档。非常详细,应用于调试。

function createGetConfig(
        $token,
        $userId,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$body = new Body();

$result = $client->createGetConfig($token, $userId, $body);

createGetFeatureFlags

返回具有名称和键名的功能标志列表。

function createGetFeatureFlags(
        $token,
        $userId,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$body = new Body();

$result = $client->createGetFeatureFlags($token, $userId, $body);
foreach($result as $flagObj) {
        // $flagObj->name to get the name of the feature flag
        // $flagObj->keyName to get the key of the feature flag
}

isFeatureFlagEnabled

根据传递的键名是否是启用的功能标志,返回 true 或 false。

function isFeatureFlagEnabled(
        $token,
        $userId,
        $keyName,
        $body = null)

参数

示例用法

$token = 'token';
$userId = 'user_id';
$keyName = 'featureFlagKey';
$body = new Body();

$result = $client->isFeatureFlagEnabled($token, $userId, $keyName, $body);
if ($result) {
        showFeature();
}