growingio/php-sdk

PHP SDK for GrowingIO

v1.0.4 2024-11-22 06:25 UTC

This package is not auto-updated.

Last update: 2024-12-20 09:21:10 UTC


README

GrowingIO提供在Server端部署的PHP SDK,从而可以方便的进行事件上报等操作

集成 & 安装

php sdk已经发布在Packagist, 可以通过Composer进行安装

"growingio/php-sdk": "1.0.3"
<?php
use com\growingio\GrowingIO;
//Load Composer's autoloader
require 'vendor/autoload.php';

如果没有使用Composer, 可以直接下载源代码到php配置中指定的include_path目录中, 并手动加载类文件

<?php
use com\growingio\GrowingIO;

include_once 'path/src/GrowingIO.php'; // path为对应路径

初始化配置

初始化参数
初始化配置额外参数
示例
$accountID = '1234567887654321';
$host = 'https://localhost.com';
$dataSourceId = '12345678';
$props = array('debug' => true);

$gio = GrowingIO::getInstance($accountID, $host, $dataSourceId, $props);

数据采集API

1. 采集自定义事件

接口功能

发送一个自定义事件。在添加所需要发送的事件代码之前,需要在事件管理用户界面配置事件以及事件级变量

请求参数
示例
$gio->trackCustomEvent($gio->getCustomEventFactory()
    ->setEventKey('event_name')
    ->setLoginUserId('loginUserId')
    ->setAnonymousId('anonymousId')
    ->setEventTime(1648524854000)
    ->setLoginUserKey('loginUserKey')
    ->setProperties(array('attrKey1' => 'attrValue1',
        'attrKey2' => 'attrValue2',
        'array' => array('1', '2', '3')))
    ->create()
);

2. 设置登录用户变量

接口功能

以登录用户的身份定义用户属性变量,用于用户信息相关分析

请求参数
示例
$gio->setUserAttributesEvent($gio->getUserAttributesFactory('loginUserId')
    ->setLoginUserId('loginUserId')
    ->setAnonymousId('anonymousId')
    ->setProperties(array('gender' => 'male',
        'age' => '18',
        'goods' => array('book', 'bag', 'lipstick')))
    ->setLoginUserKey('loginUserKey')
    ->create());

3. 设置物品模型

接口功能

上传物品模型

请求参数
示例
$gio->setItemAttributes(
    '1001',
    'product',
    array('color' => 'red')
);

集成示例

<?php
use com\growingio\GrowingIO;

include_once 'path/src/GrowingIO.php'; // path为对应路径

// 请在您调试前,将accountID修改为您的项目AccountID
// 所有自定义事件需要提前在GrowingIO产品中进行定义
// 所有自定义事件的属性也需要提前在GrowingIO产品中进行定义
$accountID = '1234567887654321';
$host = 'https://localhost.com';
$dataSourceId = '12345678';
$props = array('debug' => true);
$gio = GrowingIO::getInstance($accountID, $host, $dataSourceId, $props);

// 采集自定义事件
$gio->trackCustomEvent($gio->getCustomEventFactory()
    ->setEventKey('event_name')
    ->setLoginUserId('loginUserId')
    ->setAnonymousId('anonymousId')
    ->setEventTime(1648524854000)
    ->setLoginUserKey('loginUserKey')
    ->setProperties(array('attrKey1' => 'attrValue1',
        'attrKey2' => 'attrValue2',
        'array' => array('1', '2', '3')))
    ->create()
);

// 设置登录用户变量
$gio->setUserAttributesEvent($gio->getUserAttributesFactory('loginUserId')
    ->setLoginUserId('loginUserId')
    ->setAnonymousId('anonymousId')
    ->setProperties(array('gender' => 'male',
        'age' => '18',
        'goods' => array('book', 'bag', 'lipstick')))
    ->setLoginUserKey('loginUserKey')
    ->create());

// 设置物品模型
$gio->setItemAttributes(
    '1001',
    'product',
    array('color' => 'red')
);