tbolner/twitter-php-ads-sdk

PHP支持的Twitter广告API SDK

v11.0.2 2023-06-29 15:00 UTC

README

此分支仅修改版本号从9到11。

以下更改尚未实现

如果您想实现其中的一些,那么欢迎贡献者。

此版本的Packagist页面: - https://packagist.org.cn/packages/tbolner/twitter-php-ads-sdk

入门 Build Status Scrutinizer Status

安装

# installing the latest signed release
composer require tbolner/twitter-php-ads-sdk

快速开始

const CONSUMER_KEY = 'your consumer key';
const CONSUMER_SECRET = 'your consumer secret';
const ACCESS_TOKEN = 'access token';
const ACCESS_TOKEN_SECRET = 'access token secret';
const ACCOUNT_ID = 'account id';


// Create Twitter Ads Api Instance
$api = TwitterAds::init(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);

$accounts = $api->getAccounts();
// load up the account instance, campaign and line item
$account = new Account(ACCOUNT_ID);
$account->read();
$campaigns = $account->getCampaigns('', [CampaignFields::COUNT => 1]);
$campaigns->setUseImplicitFetch(false);
$campaignsData = [];

// Create your campaign

$fundingInstruments = $account->getFundingInstruments();
$fundingInstrument = $fundingInstruments->getCollection()[0];

$campaign = new Campaign();
$campaign->setFundingInstrumentId($fundingInstrument->getId());
$campaign->setDailyBudgetAmountLocalMicro(1000000);
$campaign->setName("My first campaign: ");
$campaign->setEntityStatus('PAUSED');
$campaign->setStartTime(new \DateTime());
$campaign->save();

// Automatic fetch from API when collection arrives to end:
$campaign->setUseImplicitFetch(true);

// Default fetch from API when collection arrives to end (GLOBAL):
Cursor::setDefaultUseImplicitFetch(true);

// Disable it
Cursor::setDefaultUseImplicitFetch(false);

// Async stats
$stats = $lineItem->stats(
    [
        AnalyticsFields::METRIC_GROUPS_BILLING,
        AnalyticsFields::METRIC_GROUPS_MOBILE_CONVERSION,
        AnalyticsFields::METRIC_GROUPS_ENGAGEMENT,
    ],
    [
        AnalyticsFields::START_TIME => $date[0],
        AnalyticsFields::END_TIME => $date[1],
        AnalyticsFields::GRANULARITY => Enumerations::GRANULARITY_TOTAL,
        AnalyticsFields::PLACEMENT => Enumerations::PLACEMENT_ALL_ON_TWITTER
    ], true
);

// Sync stats, set parameter to false, or not include it
$stats = $lineItem->stats(
    [
       AnalyticsFields::METRIC_GROUPS_BILLING,
        AnalyticsFields::METRIC_GROUPS_MOBILE_CONVERSION,
        AnalyticsFields::METRIC_GROUPS_ENGAGEMENT,
    ],
    [
        AnalyticsFields::START_TIME => $date[0],
        AnalyticsFields::END_TIME => $date[1],
        AnalyticsFields::GRANULARITY => Enumerations::GRANULARITY_TOTAL,
        AnalyticsFields::PLACEMENT => Enumerations::PLACEMENT_ALL_ON_TWITTER
    ], false
);

字段常量

现在,对于每个包含的类,都提供了能够字段类,以便更容易过滤和创建数据 .. code:: php AnalyticsFields::GRANULARITY -> 'granularity' AnalyticsFields::PLACEMENT -> 'placement' . . .

开发

如果您想为此项目做出贡献或尝试此项目的未发布开发版本,可以按照以下示例轻松实现。

# clone the repository
git clone git@github.com:hborras/twitter-php-ads-sdk.git
cd twitter-php-ads-sdk

# install dependencies
composer install

许可证

MIT许可证(MIT)

版权所有(c)2019 Hector Borras

特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人(以下简称“用户”)免费使用权,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许软件的接受者进行上述操作,但需遵守以下条件

上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定用途和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是因合同行为、侵权行为或其他原因引起的,无论这些责任是否与软件或软件的使用或其他操作有关。