简化/yieldoptimizer

使用支持Rust服务器的rivrs php库优化拍卖/出价请求

0.2.1 2021-06-17 11:09 UTC

This package is not auto-updated.

Last update: 2024-09-20 04:44:06 UTC


README

一个简单的包装器,可以轻松构建RivrRequests,优化它们并获取RivrResponse。

简单地在本地上运行rivr-server或测试rivr-as-a-service。

基本用法

<?php

use Simplaex\Yieldoptimizer\Model\RivrRequest;
use Simplaex\Yieldoptimizer\Client\RivrHttpClient;

$client = new RivrHttpClient();             // You can reuse the client for as many requests as you like
$request = RivrRequest::createBuilder()
    ->appOrSite("App or Site")
    ->userId("userid-xyz")
    ->browser("choose")
    ->additionalProperty("random-key", "foobar")
    ->additionalProperty("dataCentre", "us-east-1")
    ->build();


$response = $client->optimize($request);

if ($response->requiresClientAction()) {
    print_r($response->getBidderIds());
    echo "do sth with dsps\n";
} else {
    echo "continue with your regular flow\n";
}

调试 + 日志记录

默认情况下,rivr不会使用客户端发出任何日志。为了调试潜在的问题,您只需提供您喜欢的实现Psr\Log\LoggerInterface的记录器,定义您希望的日志级别,客户端将发出日志。

<?php

use Monolog\Handler\ErrorLogHandler;
use Monolog\Logger;
use Simplaex\Yieldoptimizer\Logging\LoggingMiddleware;
use Simplaex\Yieldoptimizer\Client\RivrHttpClient;

$logger = new Logger('Rivr');
$logger->pushHandler(new ErrorLogHandler(ErrorLogHandler::OPERATING_SYSTEM, Logger::INFO));

LoggingMiddleware::initLogger($logger);
$client = new RivrHttpClient();

// When running will emit something like:
[2021-05-26T15:56:30.298900+02:00] Rivr.INFO: Timeout set to 5 ms. [] []
[2021-05-26T15:56:30.300092+02:00] Rivr.INFO: Autoconfig done. Sending all requests to localhost:7487/v1/optimize [] []

配置选项

有多个环境变量可用于更改验证器的行为。

标志描述
RIVR_SERVER_ENDPOINT要发送请求的端点,默认为localhost:7487
RIVR_REMOTE_AUTH_TOKEN当使用不同的端点时,可能需要凭据
RIVR_RESPONSE_TIMEOUT等待响应的时间(毫秒),默认为5ms,但在使用rivr-as-a-service进行测试时更改为>500ms

有关整个生态系统的更多信息,请参阅完整的集成指南。