pathak-vikash/twitter-php-ads-sdk

PHP支持的Twitter广告API SDK

v11.0.0 2022-09-28 11:44 UTC

This package is auto-updated.

Last update: 2024-09-28 16:20:43 UTC


README

入门 构建状态 Scrutinizer状态

安装

# installing the latest signed release
composer require hborras/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

特此授予任何人免费获得本软件及其相关文档副本(以下简称“软件”)的权利,在不受限制的情况下使用软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的个人提供这样做,前提是遵守以下条件

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

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