Skip to content

Commit 3b1a214

Browse files
authored
April 25th Release to main/prod
Monthly release scheduled originally on April 18th, delayed to April 25th.
2 parents a9213b3 + 526454f commit 3b1a214

File tree

196 files changed

+10514
-2345
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+10514
-2345
lines changed

.env

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ EXTERNAL_PORT=443
55
PORT=8080
66

77
# list of service names
8-
SERVICES=("home" "news" "shop" "travel" "dsp" "dsp-a" "dsp-b" "dsp-x" "dsp-y" "ssp" "ssp-a" "ssp-b" "ssp-x" "ssp-y" "idp" "ad-server")
8+
SERVICES=("home" "news" "shop" "travel" "dsp" "dsp-a" "dsp-b" "dsp-x" "dsp-y" "ssp" "ssp-a" "ssp-b" "ssp-x" "ssp-y" "ad-server" "service-provider" "moto-news" "soccer-news" "gardening-news")
99

1010
DEMO_HOST_PREFIX=privacy-sandbox-demos-
1111

@@ -86,11 +86,13 @@ SSP_X_HOST=privacy-sandbox-demos-ssp-x.dev
8686
SSP_X_URI=http://privacy-sandbox-demos-ssp-x.dev:8080
8787
SSP_X_HOST_INTERNAL=ssp-x
8888
SSP_X_DETAIL="Ad-Platform: SSP-X for publisher"
89+
SSP_X_GRPC='172.16.0.104:50053'
8990

9091
SSP_Y_HOST=privacy-sandbox-demos-ssp-y.dev
9192
SSP_Y_URI=http://privacy-sandbox-demos-ssp-y.dev:8080
9293
SSP_Y_HOST_INTERNAL=ssp-y
9394
SSP_Y_DETAIL="Ad-Platform: SSP-Y for publisher"
95+
SSP_Y_GRPC='172.16.0.204:50053'
9496

9597
## Collector for Aggregation Service
9698
COLLECTOR_HOST=privacy-sandbox-demos-collector.dev
@@ -117,3 +119,9 @@ TOPICS_DETAIL="Topics page"
117119
AD_SERVER_HOST=privacy-sandbox-demos-ad-server.dev
118120
AD_SERVER_URI=http://privacy-sandbox-demos-ad-server.dev:8080
119121
AD_SERVER_DETAIL="Ad server"
122+
123+
# Service Provider
124+
SERVICE_PROVIDER_HOST=privacy-sandbox-demos-services.dev
125+
SERVICE_PROVIDER_URI=http://privacy-sandbox-demos-services.dev:8080
126+
SERVICE_PROVIDER_TOKEN=""
127+
SERVICE_PROVIDER_DETAIL="Services: Payments etc"

.firebaserc.template

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@
88
"home": [
99
"privacy-sandbox-demos-home"
1010
],
11+
"news": [
12+
"privacy-sandbox-demos-news"
13+
],
14+
"shop": [
15+
"privacy-sandbox-demos-shop"
16+
],
17+
"travel": [
18+
"privacy-sandbox-demos-travel"
19+
],
1120
"dsp": [
1221
"privacy-sandbox-demos-dsp"
1322
],
@@ -23,9 +32,6 @@
2332
"dsp-y": [
2433
"privacy-sandbox-demos-dsp-y"
2534
],
26-
"shop": [
27-
"privacy-sandbox-demos-shop"
28-
],
2935
"ssp": [
3036
"privacy-sandbox-demos-ssp"
3137
],
@@ -40,18 +46,24 @@
4046
],
4147
"ssp-y": [
4248
"privacy-sandbox-demos-ssp-y"
49+
]
50+
"ad-server": [
51+
"privacy-sandbox-demos-ad-server"
4352
],
44-
"news": [
45-
"privacy-sandbox-demos-news"
53+
"services": [
54+
"privacy-sandbox-demos-services"
4655
],
47-
"travel": [
48-
"privacy-sandbox-demos-travel"
56+
"moto-news": [
57+
"privacy-sandbox-demos-motorcycles"
58+
],
59+
"soccer-news": [
60+
"privacy-sandbox-demos-soccer"
61+
],
62+
"gardening-news": [
63+
"privacy-sandbox-demos-gardening"
4964
],
5065
"collector": [
5166
"privacy-sandbox-demos-collector"
52-
],
53-
"ad-server": [
54-
"privacy-sandbox-demos-ad-server"
5567
]
5668
}
5769
}

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
**Prior to creating a pull request, please follow all the steps in the [contributing guide](CONTRIBUTING.md).**
22

3-
# Description
3+
## Description
44

55
Please describe a summary of the changes.
66

7-
## Related Issue
8-
9-
- Fixes #xxx
10-
117
## Affected services
128

139
- [ ] Home
1410
- [ ] News
1511
- [ ] Shop
1612
- [ ] Travel
17-
- [ ] DSP
18-
- [ ] SSP
13+
- [ ] Ad-tech
14+
- [ ] Service Provider
1915
- [ ] ALL
2016

21-
Other:
17+
## Changelog
18+
19+
Explain your changes in more detail.

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
build
12
node_modules
3+
.cache
24
.vscode
3-
build
45
*pem
56
.firebase
67
.firebaserc

.pre-commit-config.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ci:
2121
autoupdate_branch: "dev"
2222
autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate"
2323
autoupdate_schedule: quarterly
24-
skip: []
24+
skip: [npm-build-services-home]
2525
submodules: false
2626

2727
fail_fast: true
@@ -45,3 +45,15 @@ repos:
4545
hooks:
4646
- id: markdownlint-cli2
4747
name: lint markdown
48+
49+
# when home service docs are modified, try to build docs before commit
50+
- repo: local
51+
hooks:
52+
- id: npm-build-services-home
53+
name: Build services/home docs
54+
entry: sh -c 'cd services/home && npm install && npm run build'
55+
language: system
56+
files: "^services/home.*"
57+
pass_filenames: false
58+
always_run: false
59+
verbose: true

CHANGELOG.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
# Changelog
22

3+
## v3.1.0 (2025/4/22)
4+
5+
- **New Use Cases:**
6+
7+
- Bidding & Auction Services for Protected Audience (PR #619)
8+
- Ads Composed of Multiple Pieces (full release)
9+
- Multi-touch Attribution (PR #620)
10+
- Reach Measurement (full release)
11+
12+
- **Fixes and Improvements:**
13+
- Nginx version update
14+
- Nginx Configuration Update
15+
- docusaurus config
16+
- New domain added
17+
- Dockerfile Modification
18+
19+
And Others
20+
21+
## v3.0.0 (2025/3/14)
22+
23+
- **New Use Cases:**
24+
25+
- **Reach Measurement with Shared Storage:** Added demonstration of reach measurement using Shared Storage. (PR #573)
26+
- **Multi-piece Ads with Protected Audience:** Introduced demo showcasing multi-piece ads/Protected Audience ad components. (PR #560)
27+
28+
- **Fixes and Improvements:**
29+
30+
- **Infrastructure Updates/Fixes:**
31+
- Fixed documentation index page to include missing demos.
32+
- Corrected firebase deployment script with missing project setting command.
33+
- Updated release notes for v2.0.0. (PR #570)
34+
35+
- **Refactoring:**
36+
- Significant code refactoring for improved efficiency and future development.
37+
338
## v2.0.0 (2025/2/21)
439

540
- added framework skeleton for synthetic monitoring (see monitoring/puppeteer-nodejs/ folder)
@@ -105,4 +140,4 @@ NA
105140

106141
- Launch Privacy Sandbox Demos [Github Repository](https://github.com/privacysandbox/privacy-sandbox-demos)
107142
- Launch hosted demos [https://privacy-sandbox-demos.dev/](https://privacy-sandbox-demos.dev/)
108-
- Publication of a [blog post](https://developer.chrome.com/blog/privacy-sandbox-demos/)on [developers.chrome.com](http://developers.chrome.com/)
143+
- Publication of a [blog post](https://privacysandbox.google.com/blog/privacy-sandbox-demos/)on [developers.chrome.com](http://developers.chrome.com/)

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Privacy Sandbox Demos
22

3-
A use case demo library for the [Privacy Sandbox APIs](https://developer.chrome.com/en/docs/privacy-sandbox/) on the web.
3+
A use case demo library for the [Privacy Sandbox APIs](https://privacysandbox.google.com) on the web.
44

55
## Motivation
66

7-
The Privacy Sandbox initiative offers [20+ APIs](https://developer.chrome.com/en/docs/privacy-sandbox/) to protect people’s privacy online while
8-
giving companies and developers tools to build thriving digital businesses.
7+
The Privacy Sandbox initiative offers [20+ APIs](https://privacysandbox.google.com) to protect people’s privacy online while giving companies and
8+
developers tools to build thriving digital businesses.
99

1010
Web ecosystem developers expect new approaches to typical use cases supported today by third-party cookies. These use cases often require
1111
incorporating a combination of new Privacy Sandbox APIs into their products, which requires advanced planning and a clear understanding how these APIs
@@ -39,13 +39,14 @@ and experimenting.
3939

4040
The current release supports the following use cases:
4141

42-
| **Category** | **Use Case** | **Privacy Sandbox APIs** | **Relevant for** |
43-
| :---------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------: | :----------------------------------------: |
44-
| Show Relevant Video Ads | [Instream VAST video ad in a Protected Audience multi-seller auction](services/home/docs/demos/instream-video-ad-multi-seller.md) | Protected Audience API | Publisher, Ad Server, SSP, Advertiser, DSP |
45-
| Show Relevant Video Ads | [Instream VAST video ad in a Protected Audience single-seller auction](services/home/docs/demos/vast-video-protected-audience.md) | Protected Audience API | Publisher, SSP, Advertiser, DSP |
46-
| Show Relevant Content and Ads | [Retargeting / Remarketing](services/home/docs/demos/retargeting-remarketing.md) | Protected Audience API | Publisher, SSP, Advertiser, DSP |
47-
| Measure Digital Ads | [Single-touch conversion Attribution](services/home/docs/demos/single-touch-conversion-attribution.md) | Attribution Reporting API, Aggregation Service | Publisher, SSP, Advertiser, DSP |
48-
| Measure Digital Ads | [Multi-touch conversion Attribution](services/home/docs/demos/multi-touch-conversion-attribution.md) | Private Aggregation, Shared Storage, Aggregation Service | Publisher, Advertiser, DSP |
42+
| **Use Case** | **Privacy Sandbox APIs** |
43+
| ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
44+
| [Basic retargeting / remarketing ad campaign](demos/retargeting-remarketing.md) | Protected Audience, Fenced Frames |
45+
| [Sequential setup of Protected Audience with contextual auction](demos/sequential-auction-setup.md) | Protected Audience, Fenced Frames |
46+
| [Incorporating publisher ad quality requirements in Protected Audience](demos/publisher-ad-quality-req.md) | Protected Audience, Fenced Frames |
47+
| [In-stream video ads with Protected Audience](demos/instream-video-ad.md) | Protected Audience |
48+
| [Event-level reports for single touch attribution](demos/single-touch-event-level-report.md) | Attribution Reporting |
49+
| [Single-touch conversion attribution](demos/single-touch-conversion-attribution.md) | Protected Audience, Fenced Frames, Attribution Reporting |
4950

5051
These use cases are based on a set of demo apps and services that we have developed to simulate the actors in the ad tech ecosystem :
5152

cicd/.env.dev

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ EXTERNAL_PORT=443
55
PORT=8080
66

77
# list of service names
8-
SERVICES=("home" "news" "shop" "travel" "dsp" "dsp-a" "dsp-b" "dsp-x" "dsp-y" "ssp" "ssp-a" "ssp-b" "ssp-x" "ssp-y" "idp" "ad-server")
8+
SERVICES=("home" "news" "shop" "travel" "dsp" "dsp-a" "dsp-b" "dsp-x" "dsp-y" "ssp" "ssp-a" "ssp-b" "ssp-x" "ssp-y" "ad-server" "service-provider" "moto-news" "soccer-news" "gardening-news")
99

1010
DEMO_HOST_PREFIX=privacy-sandcastle-dev-
1111

@@ -111,12 +111,18 @@ IDP_DETAIL="Identity Provider for relying parties. Also Issuing Private State To
111111
MOTO_NEWS_HOST=privacy-sandcastle-dev-motorcycles.web.app
112112
MOTO_NEWS_URI=https://privacy-sandcastle-dev-motorcycles.web.app
113113
SOCCER_NEWS_HOST=privacy-sandcastle-dev-soccer-foot.web.app
114-
SOCCER_NEWS_URI=https://privacy-sandcastle-dev-soccer-foot.web
114+
SOCCER_NEWS_URI=https://privacy-sandcastle-dev-soccer-foot.web.app
115115
GARDENING_NEWS_HOST=privacy-sandcastle-dev-gardening-potager.web.app
116-
GARDENING_NEWS_URI=https://privacy-sandcastle-dev-gardening-potager
116+
GARDENING_NEWS_URI=https://privacy-sandcastle-dev-gardening-potager.web.app
117117
TOPICS_DETAIL="Topics page"
118118

119119
## ad server
120120
AD_SERVER_HOST=privacy-sandcastle-dev-ad-server.web.app
121121
AD_SERVER_URI=https://privacy-sandcastle-dev-ad-server.web.app
122122
AD_SERVER_DETAIL="Ad server"
123+
124+
# Service Provider
125+
SERVICE_PROVIDER_HOST=privacy-sandcastle-dev-services.web.app
126+
SERVICE_PROVIDER_URI=https://privacy-sandcastle-dev-services.web.app
127+
SERVICE_PROVIDER_TOKEN=""
128+
SERVICE_PROVIDER_DETAIL="Services: Payments etc"

cicd/.env.prod

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ EXTERNAL_PORT=443
55
PORT=8080
66

77
# list of service names
8-
SERVICES=("home" "news" "shop" "travel" "dsp" "dsp-a" "dsp-b" "dsp-x" "dsp-y" "ssp" "ssp-a" "ssp-b" "ssp-x" "ssp-y" "idp" "ad-server")
8+
SERVICES=("home" "news" "shop" "travel" "dsp" "dsp-a" "dsp-b" "dsp-x" "dsp-y" "ssp" "ssp-a" "ssp-b" "ssp-x" "ssp-y" "ad-server" "service-provider" "moto-news" "soccer-news" "gardening-news")
99

1010
DEMO_HOST_PREFIX=privacy-sandbox-demos-
1111

@@ -120,3 +120,9 @@ TOPICS_DETAIL="Topics page"
120120
AD_SERVER_HOST=privacy-sandbox-demos-ad-server.dev
121121
AD_SERVER_URI=https://privacy-sandbox-demos-ad-server.dev
122122
AD_SERVER_DETAIL="Ad server"
123+
124+
# Service Provider
125+
SERVICE_PROVIDER_HOST=privacy-sandbox-demos-services.dev
126+
SERVICE_PROVIDER_URI=https://privacy-sandbox-demos-services.dev
127+
SERVICE_PROVIDER_TOKEN=""
128+
SERVICE_PROVIDER_DETAIL="Services: Payments etc"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PLACEHOLDER FOR ATTESTATION FILE
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PLACEHOLDER FOR ATTESTATION FILE

cicd/cloudbuild.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ steps:
2020
script: |
2121
#!/usr/bin/env bash
2222
cp -f cicd/attestations/privacy-sandbox-attestations.json.*.${PROJECT_ENV} services/ad-tech/src/public/.well-known/
23+
cp -f cicd/attestations/privacy-sandbox-attestations.json.service-provider.${PROJECT_ENV} services/service-provider/src/public/.well-known/privacy-sandbox-attestations.json
2324
2425
# HOME
2526
# Build the HTML files with docusaurus
@@ -197,6 +198,45 @@ steps:
197198
echo $${ENV_VARS}
198199
gcloud run deploy travel --image ${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/travel:$COMMIT_SHA --platform managed --region ${_LOCATION} --memory 2Gi --min-instances 1 --allow-unauthenticated --set-env-vars "^@^$${ENV_VARS}"
199200
201+
# SERVICE-PROVIDER
202+
# Build the container image
203+
- name: "gcr.io/cloud-builders/docker"
204+
id: build-service-provider
205+
waitFor:
206+
- copy-attestations
207+
args:
208+
[
209+
"build",
210+
"-t",
211+
"${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/service-provider:$COMMIT_SHA",
212+
"services/service-provider",
213+
]
214+
# Push the container image to Container Registry
215+
- name: "gcr.io/cloud-builders/docker"
216+
id: push-service-provider
217+
waitFor:
218+
- build-service-provider
219+
args:
220+
[
221+
"push",
222+
"${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/service-provider:$COMMIT_SHA",
223+
]
224+
# Deploy container image to Cloud Run
225+
- name: "gcr.io/cloud-builders/gcloud"
226+
id: deploy-service-provider
227+
waitFor:
228+
- push-service-provider
229+
- read-env
230+
entrypoint: "bash"
231+
args:
232+
- "-c"
233+
- |
234+
ENV_VARS=$(cat /workspace/env_vars.txt)
235+
HOSTNAME_ENV="HOSTNAME=$(grep "SERVICE_PROVIDER_HOST=" cicd/.env.${_PROJECT_ENV} | cut -d '=' -f2)"
236+
ENV_VARS=$${HOSTNAME_ENV}@$${ENV_VARS}
237+
echo $${ENV_VARS}
238+
gcloud run deploy service-provider --image ${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/service-provider:$COMMIT_SHA --platform managed --region ${_LOCATION} --memory 2Gi --min-instances 1 --allow-unauthenticated --set-env-vars "^@^$${ENV_VARS}"
239+
200240
# AD-TECH
201241
# Build the ad-tech image
202242
- name: "gcr.io/cloud-builders/docker"
@@ -414,6 +454,7 @@ images:
414454
- "${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/news:$COMMIT_SHA"
415455
- "${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/shop:$COMMIT_SHA"
416456
- "${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/travel:$COMMIT_SHA"
457+
- "${_LOCATION}-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/service-provider:$COMMIT_SHA"
417458

418459
options:
419460
machineType: "E2_HIGHCPU_8"

0 commit comments

Comments
 (0)