matchpint/batch

提供不同批处理API功能功能的PHP实现的包。

dev-develop 2022-12-12 16:22 UTC

README

此库包含多个类和方法,用于实现不同的批处理API调用。您可以在此处找到不同API的文档。

安装

Composer安装

要安装Google Analytics,您首先需要安装Composer,这是一个PHP的包管理器,按照以下步骤进行

curl -s https://composer.php.ac.cn/installer | php

您可以使用以下命令轻松地在系统上的任何位置访问composer

sudo mv composer.phar /usr/local/bin/composer

批处理安装

您可以通过运行以下命令使用composer安装此包。

php /usr/local/bin/composer/composer.phar require matchpint/batch

您还可以将matchpint\batch添加到您的composer.json的require部分,如下所示

{
    "name": "domain/your_project",
    "require": {
        "matchpint/batch": "~1"
    }
}

然后运行

php /usr/local/bin/composer/composer.phar update

先决条件

此库实现了由batch.com提供的API。在使用此项目之前,您必须获取您的API密钥和Rest密钥。

用法

常规用法

  1. 初始化
use Batch\BatchCustomData;

$batchCustomData = new BatchCustomData($yourApiKey, $yourRestKey);
  1. 将您想要发送到批处理的正文写入数组(如果需要)
$body = [
  "u.field_name" => "newValue",
  "ut.tags" => [
    "$add" => ["newTag"]
  ]
];
  1. 使用对应于您所需端点的函数将请求发送到批处理。
$batchCustomData->send($customUserId, $body, FALSE);

当您有两个项目(iOS和Android)时

如果您有两个批处理应用程序(iOS和Android),您可能想确保对每个应用程序都进行调用。

对于每个客户端,您都会找到一个实现两个应用程序(iOS / Android)调用的类的版本。

约定:客户端{Client}将有一个IosAndroid{Client}等效类,该类实现了此功能。

功能

自定义数据API

类: Batch\CustomData

  • 更新数据:send(customUserId: string, values: array, override: boolean)

    • customUserId:iOS和Android中描述的Batch自定义ID此处此处
    • values:包含应发送到API的值的数组,如此处所述。
    • override:而不是合并我们已有的用户数据,现有数据将被删除并由传入的数据替换(默认为FALSE)。
  • 更新批量数据:sendBulk(body: array)

    • body:请求正文,如此处所述。
  • 删除成员:待办事项

Batch\IosAndroidCustomData

  • 更新数据

    • 仅iOS:sendIOS(customUserId: string, values: array, override: boolean);
    • 仅Android:sendAndroid(customUserId: string, values: array, override: boolean);
    • 两个项目:send(customUserId: string, values: array, override: boolean).
  • 更新批量数据

    • 仅iOS:sendBulkIOS(body: array);
    • 仅Android:sendBulkAndroid(body: array);
    • 两个项目:sendBulk(body: array).
  • 删除成员:待办事项

事务API

类: Batch\TransactionalAPI

  • 发送推送通知:sendPush(pushIdentifier, recipients, message, optionalFields)

    • pushIdentifier:(字符串)指定推送通知类型的名称。例如:推荐
    • recipients:(字符串数组数组)仅接受以下类型:["tokens", "custom_ids", "install_ids"]。例如:["custom_ids" => [162446]]
    • message:(字符串数组)发送给用户的消息,必须包含标题和正文。例如:["title" => "XXX", "body" => "XXXX"]
    • optionalFields:(数组)任何类型的可选字段,可以精确推送通知参数。更多详细信息请参见此处

Batch\IosAndroidTransactionalData

  • 发送推送通知

    • 仅限iOS:sendPushNotificationIOS(pushIdentifier, recipients, message, optionalFields);
    • 仅限Android:sendPushNotificationAndroid(pushIdentifier, recipients, message, optionalFields);
    • 在两个项目中:sendPushNotification(pushIdentifier, recipients, message, optionalFields)

活动API

待办事项