@frontity/smart-adserver
API reference of `@frontity/smart-adserver` package
Last updated
Was this helpful?
API reference of `@frontity/smart-adserver` package
Last updated
Was this helpful?
Smart Adserver is an ad serving network and they provide an API for displaying the ads which is described .
The @frontity/smart-adserver
package will load a third-party Smart Adserver library which adds certain properties on the global window
object. Then you as the developer can render the exposed <SmartAd>
component, which will use those properties to make the "ad call" (which are basically API calls to the Smart Adserver).
In response, the Smart Adserver dynamically loads some code which will modify the DOM to insert the ad in the place that the <SmartAd>
component was rendered.
The package has 3 main components:
The "Root" component. It includes the <Head>
that loads the Smart Adserver library. When the user adds the @frontity/smart-adserver
to their frontity.settings.js
file, this library will be loaded automatically.
The SmartAd
component. This component is exposed in libraries.fills.SmartAdserver.SmartAd
. The users can just use this component directly to display ads by passing it relevant props. The component takes care of calling the Smart Adserver API and injecting the ad into the DOM in the relevant place
Ability to specify the ads in fills
in the frontity.settings.js
file. Ads can be placed in specific slots in a theme by using that approach.
The package can be installed like:
This package can be included in your frontity.settings.js
file as one of the packages that will be part of your Frontity project.
Name
Type
Required
Description
slot
string
yes
The name of the slot as defined in your theme where you want the ad to go.
library
string
yes
The React component used to display the Ad. We can set this value to "smartAdserver.SmartAd"
(SmartAd
component available in the smartAdserver
package).
priority
int
no
Assigns a priority in case more than one fill is assigned to that slot.
props
obj
yes
Props that will be passed to the <Slot>
component (see table below)
props
propertyAn object with props that will be passed to the <Slot>
component.
Name
Type
Required
Description
siteId
number
yes
pageId
number
yes
formatId
number
yes
callType
string
yes
The type of the ad call. Possible values: iframe
or std
tagId
string
no
The id
of the container that will contain the ad. Default Value: sas_${formatId}"
width
number
no
The width of the ad. Used with callType iframe
.
height
number
no
The height of the ad. Used with callType iframe
.
minHeight
number
no
Minimum height of the container for the ad. Used with callType std
.
css
no
target
string
no
Slot & Fill
patternWith this configuration we can then insert the Slots representing the Ads in any React component.
Alternatively, since the Ad component is exposed in libraries
, you can get the SmartAd
component from libraries
and render it wherever you wish.
The for this package is smartAdserver
. To use the pattern with this package we should add a settings object to state.fills
under the smartAdserver
namespace.
Each in the smartAdserver
namespace is an object which should be assigned to an arbitrarily named key. The structure should be as follows:
To define a SmartAd using the pattern we use
The id
of the site as defined in ; represents a website or mobile application;
The id
of the page as defined in ; represents a website or mobile application;
The id
of the format as defined in ; represents an ad slot on a page (medium rectangle, skyscraper...);
The optional styles that can be passed to the SmartAd component via css
prop. They will be merged with the default styles of the SmartAd component.
Keyword targeting allows you to display ads only when specific keywords or key/value pairs are passed in the ad request.
The recommended usage of this component is using the pattern. The configuration of the fill(s) is done in the state.fills.smartAdserver
namespace in frontity.settings.js
as explained above.