LiveIntent User ID Module: Eliminating live-connect NPM Dependency.
3link opened this issue · comments
Type of issue
Eliminating live-connect NPM dependency.
Description
The goal of this issue is to get rid of the LiveConnect NPM module dependency.
Instead, the following approach should be implemented: The LiveIntent user ID module will rely on the LiveConnect script being present on the page. This LiveConnect script will accept commands and execute them according to the configuration passed along with them (e.g. what to resolve, privacy settings, callbacks, etc.).
The user ID module implementation will look like in the snippet below:
window.liQHub = window.liQHub || [];
decode(value, config) {
const sync = {
config: config,
commands: [{
command: "sync"
}]
}
window.liQHub.push(sync)
// decode the value
}
getId(config) {
const result = function(callback) {
const syncAndResolve = {
config: config,
commands: [
{
command: "sync"
},
{
command: 'resolve',
onSuccess: response => {callback(response)},
onError: error => {callback()}
}
]
}
window.liQHub.push(syncAndResolve)
}
return {callback: result}
}
Hi @SKOCHERI @patmmccann @jdwieland8282. The proposal is as communicated in Slack. We started working on it this week. There is no PR in Prebid yet as we have to rewrite LiveConnect from scretch first.
@3link excluding the import in geographies you don't function had a rather noticeable performance improvement; this speaks to the potential opportunity in the geographies where you do from the disentangling
@patmmccann Do you mean bidding performance or technical (time to load the script, time to bid etc.)?