This module loads a dynamically generated JavaScript from prebid.wurflcloud.com
The WURFL RTD module enriches the Prebid.js bid request’s OpenRTB 2.0 device data with WURFL device data. The module populates the device.ext.wurfl
with WURFL device capabilities, ensuring that all bidder adapters have access to enriched device data. At a minimum, three WURFL capabilities are made available to all adapters: is_mobile
, complete_device_name
and form_factor
.
SSPs and other demand partners subscribed to this service with ScientiaMobile will also receive an expanded set of device properties, including more detailed detection for iOS devices (e.g., specific iPhone and iPad model information). For a comprehensive list of available device capabilities, please refer to the WURFL device capabilities documentation.
WURFL.js is fully compatible with Chromium’s User-Agent Client Hints (UA-CH) device identification mechanisms. If the User-Agent string is generic and Client Hints are not available in the HTTP request, the service will automatically request and obtain high entropy client hint values from the client.
However, it is still recommended to explicitly opt-in and declare support for User-Agent Client Hints on the publisher’s website. Doing so improves performance and contributes to a faster user experience. For detailed instructions on implementing User-Agent Client Hint support, refer to the relevant documentation here.
While the WURFL RTD module enriches the OpenRTB 2.0 payload, it is the responsibility of the SSP’s adapter to access and pass the information to the auction endpoint. The auction endpoint must then use the new data to support its business logic.
The following scenarios are possible:
SSP Adapter | SSP Server Side End-Point | |
---|---|---|
SSP adapter is already passing the ORTB2 device to the server (auction endpoint). | No changes required. | Update backend logic to utilize the device data. |
SSP adapter is not currently passing the data to server. | Update adapter to read device.ext.wurfl data and pass it to the endpoint. |
Update backend logic to utilize the device data. |
SSP doesn’t have a Bidder Adapter. | Implement PreBid.js adapter and read device.ext.wurfl data and pass it to the endpoint. |
Update end-point to read and utilize the data. |
To build the WURFL RTD module with Prebid.js, use the following command:
gulp build --modules="wurflRtdProvider,appnexusBidAdapter,..."
To initialize the WURFL RTD module in Prebid.js, use the setConfig
function as shown below. The module is configured as part of realTimeData.dataProviders
var TIMEOUT = 1000;
pbjs.setConfig({
realTimeData: {
auctionDelay: TIMEOUT,
dataProviders: [{
name: 'wurfl',
waitForIt: true,
params: {
debug: false
}
}]
}
});
Name | Type | Description | Default |
---|---|---|---|
name | String | Real time data module name | Always set to ‘wurfl’ |
waitForIt | Boolean | Set to true if an auctionDelay is defined (optional) |
false |
params | Object | Configuration parameters for the WURFL RTD module. | |
params.altHost | String | Alternate host for connecting to WURFL.js | |
params.debug | Boolean | Enable debug mode. | false |
To test how the WURFL RTD module works, run the following command:
gulp serve --modules=wurflRtdProvider,appnexusBidAdapter
Then, point your browser to:
http://localhost:9999/integrationExamples/gpt/wurflRtdProvider_example.html