WICG / turtledove

TURTLEDOVE
https://wicg.github.io/turtledove/
Other
538 stars 237 forks source link

Trying to implement: Google Protected Audience API #1149

Closed AdScripter closed 6 months ago

AdScripter commented 6 months ago

This is what we’re trying to implement: Google Protected Audience API. Here’s Google’s Info on it:: https://developers.google.com/privacy-sandbox/relevance/protected-audience

Implementation info that our dev team is using: https://github.com/WICG/turtledove/blob/main/FLEDGE.md

I will need some input from you in other to create the script we need. Bolded below are the "variables" that I need input on, I added a brief description of what those variables are/do , hoping that helps. If needed, we can also schedule a sync and go over this together so we can determine what we need :

const myGroup = { 'owner': 'https://www.example-dsp.com', 'name': 'womens-running-shoes', // need input on what this needs to be 'lifetimeMs': 30 * kMillisecsPerDay, 'priority': 0.0,
'priorityVector': {
'signal1': 2, 'signal2': -3.5, ... } 'prioritySignalsOverrides': { 'signal1': 4.5, 'signal2': 0, ... } 'enableBiddingSignalsPrioritization' : true, 'biddingLogicURL': ..., 'biddingWasmHelperURL': ..., 'updateURL': ..., 'executionMode': ..., 'trustedBiddingSignalsURL': ..., 'trustedBiddingSignalsKeys': ['key1', 'key2'], 'trustedBiddingSignalsSlotSizeMode' : 'slot-size', 'maxTrustedBiddingSignalsURLLength' : 10000, 'userBiddingSignals': {...},

'ads': [{renderURL: shoesAd1, sizeGroup: 'group1', ...},
{renderURL: shoesAd2, sizeGroup: 'group2', ...}, {renderURL: shoesAd3, sizeGroup: 'size3', ...}],

        //Need input on this. The ads list contains the various ads that the interest group might show. Each entry is an object that must  contain a renderURL property with the URL for the ad that would be shown.

'adComponents': [{renderURL: runningShoes1, sizeGroup: 'group2', ...}, {renderURL: runningShoes2, sizeGroup: 'group2', ...}, {renderURL: gymShoes, sizeGroup; 'group2', ...}, {renderURL: gymTrainers1, sizeGroup: 'size4', ...}, {renderURL: gymTrainers2, sizeGroup: 'size4', ...}],

               //Need input on this.The adComponents field contains the various ad components (or "products") that can be used to construct "Ads Composed of Multiple Pieces".

'adSizes': {'size1': {width: '100', height: '100'}, 'size2': {width: '100', height: '200'}, 'size3': {width: '75', height: '25'}, 'size4': {width: '100', height: '25'}},

          //Need input on this.The adSizes field (optionally) contains a dictionary of named ad sizes. Each size has the format {width: widthVal, height: heightVal}, where the values can have either pixel units (e.g. 100 or '100px') or screen dimension coordinates (e.g. 100sw or 100sh)

'sizeGroups:' {'group1': ['size1', 'size2', 'size3'], 'group2': ['size3', 'size4']},

//Need input on this. The sizeGroups field (optionally) contains a dictionary of named lists of ad sizes. Each ad declared above must specify a size group, saying which sizes it might be loaded at. Each named ad size is also considered a size group, so you don't need to manually define singleton size groups; for example see the sizeGroup: 'size3' code above.

'auctionServerRequestFlags': ['omit-ads'], }; const joinPromise = navigator.joinAdInterestGroup(myGroup);

michaelkleber commented 6 months ago

Hi @AdScripter,

If you've already read through the Developer Guide at https://developers.google.com/privacy-sandbox/relevance/protected-audience-api and still have questions, then I'd recommend you open a GitHub issue in the Privacy Sandbox Developer Support repository, over at https://github.com/privacysandbox/privacy-sandbox-dev-support

(This repository is more about making changes to the design of how the API works.)