Skip to content

edbizarro/laravel-facebook-ads

Repository files navigation

logo

Laravel Facebook Ads

Get ads infos (campaigns, ads, insights, etc...) from Facebook & Instagram Ads API

  • Supported Facebook API version: >= v3.0

Packagist Code Climate Codacy Badge StyleCI Packagist


Installation

Follow this steps to use this package on your Laravel installation

Installing with composer

composer require edbizarro/laravel-facebook-ads

The package will automatically register it's service provider.

For Laravel <= 5.4 add the provider manually

Load service provider (optional Laravel <= 5.4 only)

You need to update your config/app.php configuration file to register our service provider, adding this line on providers array:

Edbizarro\LaravelFacebookAds\Providers\LaravelFacebookServiceProvider::class

Enable the facade (optional)

This package comes with an facade to make the usage easier. To enable it, add this line at config/app.php on alias array:

'FacebookAds' => Edbizarro\LaravelFacebookAds\Facades\FacebookAds::class

Configuration

If you want to change any configurations, you need to publish the package configuration file. To do this, run artisan vendor:publish --provider="Edbizarro\LaravelFacebookAds\Providers\LaravelFacebookServiceProvider" on terminal. This will publish a facebook-ads.php file on your configuration folder like this:

<?php
return [
    'app_id' => env('FB_ADS_APP_ID'),
    'app_secret' => env('FB_ADS_APP_SECRET'),
];

Note that this file uses environment variables, it's a good practice put your secret keys on your .env file adding this lines on it:

FB_ADS_APP_ID="YOUR_APP_ID"
FB_ADS_APP_SECRET="YOUR_APP_SECRET_KEY"

First steps

Before using it, it's necessary to initialize the library with an valid access token, php example with:

FacebookAds::init($accessToken);

Now that everything is set up, it's easy to start using!

Example getting all ads

$ads = FacebookAds::adAccounts()->all()->map(function ($adAccount) {
  return $adAccount->ads(
      [
          'name',
          'account_id',
          'account_status',
          'balance',
          'campaign',
          'campaign_id',
          'status'
      ]
  );
});

Usage

To obtain a list of all AdAccount available fields, look at this.

adAccounts

To obtain an adAccounts instance:

$adAccounts = $adsApi->adAccounts();

all

Use this method to retrieve your owned Ad Accounts. This method accepts an array as argument containing a list of fields.

To obtain a list of all available fields, look at this.

$adAccounts->all(['account_id', 'balance', 'name']);

get

Use this method to get details of an AdAccount. This method accepts an array as argument containing a list of fields and an account_id act_<AD_ACCOUNT_ID>

To obtain a list of all available fields, look at this.

$adAccounts->get(['account_id', 'balance', 'name'], 'act_<AD_ACCOUNT_ID>');

Campaigns

To obtain an Campaigns instance:

$campaigns = $adsApi->campaigns();

all

Use this method to retrieve your adAccount campaigns. This method accepts an array as argument containing a list of fields and an account_id act_<AD_ACCOUNT_ID>

To obtain a list of all available fields, look at this.

$campaigns->all(['name'], 'act_<AD_ACCOUNT_ID>');

License

FOSSA Status