1. Pengantar
Layanan Bidding & Lelang (B&A) terdiri dari 4 layanan bagi pembeli dan penjual untuk memfasilitasi lelang Protected Audience:
Stack pembeli:
- Layanan Front-End Pembeli
- Layanan Bidding
Stack penjual:
- Layanan Front-End Penjual
- Layanan Lelang
Codelab ini akan memandu Anda menyiapkan dan menguji penyiapan menyeluruh di lingkungan lokal. Panduan ini diperkirakan akan memerlukan waktu sekitar 1 jam, tidak termasuk waktu build layanan awal.
Meskipun Anda mungkin hanya mengerjakan kode sisi beli atau kode sisi jual, sebaiknya siapkan alur menyeluruh di lingkungan lokal untuk lebih memahami cara kerja stack pembeli dan penjual satu sama lain. Dengan menyiapkan kedua stack, Anda dapat lebih yakin nanti saat berintegrasi dengan stack pembeli atau penjual pihak lain. Menguji layanan secara lokal juga menghemat biaya pengembangan Anda.
Dalam codelab ini, kita akan menggunakan Aplikasi Pengujian Lokal B&A sebagai pendamping panduan.
Aplikasi pengujian lokal pendamping menghosting berbagai resource pembeli dan penjual yang digunakan dalam lelang B&A. Aplikasi ini juga menyediakan UI di http://localhost:3000
tempat Anda dapat menyimulasikan berbagai konfigurasi lelang.
2. Penyiapan lingkungan
2.1 Menyiapkan mesin Linux
Gunakan mesin Linux lokal, atau sediakan VM Linux dari penyedia cloud pilihan Anda. Untuk meningkatkan waktu build, minimal 16 core direkomendasikan sebagai minimum, dan 32+ core lebih disukai.
Perhatikan bahwa kita akan memuat halaman HTML dari http://localhost:3000
mesin ini. Jika VM tidak menyediakan GUI, pastikan port 3000
dapat diakses oleh mesin lokal Anda sehingga Anda dapat terhubung ke port tersebut.
2.2 Menginstal Docker
Kita menggunakan Docker untuk menjalankan layanan dan aplikasi pengujian lokal.
Kita akan menggunakan skrip praktis untuk menginstal Docker di lingkungan pengujian.
# Install Docker
> curl -fsSL https://get.docker.com -o get-docker.sh
> sudo sh get-docker.sh
# Set up sudo-less Docker
> sudo groupadd docker
> sudo usermod -aG docker $USER
> newgrp docker
# Test
> docker run hello-world
Peringatan: Dengan penyiapan tanpa sudo, grup Docker memberikan hak istimewa tingkat root kepada pengguna. Baca panduan Docker tanpa sudo untuk mempelajari lebih lanjut.
2.3 Memulai Aplikasi Pengujian Lokal pendamping
Aplikasi pendamping menyediakan resource seperti skrip bidding/penskoran tiruan, dan endpoint BYOS K/V tiruan. Aplikasi harus dimulai sebelum menjalankan layanan B&A sehingga resource dapat dimuat ke dalam layanan.
Tarik repositori Aplikasi Pengujian Lokal:
git clone https://github.com/privacysandbox/bidding-auction-local-testing-app.git
Dari root repositori, jalankan skrip penyiapan:
./setup
Skrip penyiapan akan membuat jaringan Docker ba-dev
, membuat sertifikat SSL, dan mem-build image aplikasi pengujian.
Setelah build berhasil, jalankan skrip awal:
./start
3. Mem-build dan menjalankan B&A secara lokal
3.1 Menarik Layanan B&A
Kita akan menjalankan dua kumpulan Layanan B&A di mesin yang sama, jadi kita akan mendownload repositori ke dalam dua folder yang berbeda.
Set A:
Download repositori B&A:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-a
Set B
Download repositori B&A:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-b
`
3.2 Mem-build layanan
Dari folder root setiap folder B&A, jalankan perintah berikut untuk mem-build keempat layanan:
production/packaging/build_and_test_all_in_docker \
--service-path bidding_service \
--service-path auction_service \
--service-path buyer_frontend_service \
--service-path seller_frontend_service \
--platform gcp \
--instance local \
--no-precommit \
--no-tests \
--build-flavor non_prod \
--gcp-skip-image-upload
Perintah di atas akan mem-build instance local
dari build pengembangan (non_prod
) untuk Google Cloud Platform (gcp
) dari keempat layanan. Perbarui tanda --platform
ke penyedia cloud pilihan Anda jika diperlukan. Untuk mempelajari flag build lebih lanjut, lihat file build_and_test_all_docker
.
Build awal mungkin memerlukan waktu 2 jam jika menggunakan mesin 64 core, dan waktu build diskalakan secara linear berdasarkan jumlah core. Jika Anda menggunakan mesin 32 core, prosesnya mungkin memerlukan waktu 4 jam. Jika Anda menggunakan mesin 16 core, mungkin perlu waktu 8 jam.
Perhatikan bahwa build berikutnya menggunakan cache, dan setiap build akan memerlukan waktu sekitar 5-20 menit.
(Saya bertemu Randall Munroe dari xkcd saat menulis codelab ini, dan memberi tahu dia bahwa saya menambahkan komik ini di sini)
3.3 Menjalankan layanan
Untuk pengujian, kita akan menjalankan 8 layanan (4 layanan per stack). Setiap perintah disiapkan untuk menggunakan resource yang disediakan oleh Aplikasi Pengujian Lokal. Sebaiknya gunakan pengelola jendela seperti tmux
.
Buka minimal 8 jendela terminal tambahan, dan jalankan perintah berikut di setiap sesi.
Perhatikan bahwa server Aplikasi Pengujian Lokal harus sudah berjalan dalam proses terpisah, karena skrip bidding dan penskoran akan ditayangkan oleh aplikasi.
3.3.1 Menetapkan perintah A
Layanan | Perintah |
|
|
|
|
|
|
|
|
3.3.2 Menetapkan perintah B
Layanan | Perintah |
|
|
|
|
|
|
|
|
3.3.2 Variabel lingkungan untuk skrip mulai lokal
Variabel lingkungan berikut dapat digunakan untuk mengontrol perilaku pengaktifan.
Variabel lingkungan | Ketersediaan | Deskripsi |
| Semua layanan | Flag yang akan ditetapkan untuk perintah docker |
| Semua layanan | Saat melakukan pengujian di komputer lokal, Anda mungkin perlu menggunakan sertifikat yang ditandatangani sendiri yang gagal dalam pemeriksaan verifikasi peer SSL Default-nya adalah |
| Semua layanan | Tingkat log layanan. Level yang lebih tinggi memberikan lebih banyak log. 0 adalah terendah dan 10 adalah tertinggi. Default-nya adalah |
| Layanan Bidding | Port Layanan Bidding. Default-nya adalah |
| Layanan Bidding | URL logika bidding |
| Layanan Bidding | Egress data untuk pelatihan model |
| Layanan Bidding | Argumen untuk inferensi bidding |
| Layanan BFE | Port Layanan BFE. Default-nya adalah |
| Layanan BFE | Alamat K/V BYOS pembeli |
| Layanan BFE | Alamat K/V TEE pembeli |
| Layanan BFE | Alamat Layanan Bidding Pembeli |
| Layanan Lelang | Port Layanan Lelang. Default-nya adalah |
| Layanan Lelang | URL logika penskoran |
| Layanan Lelang | URL pelaporan kemenangan pembeli |
| Layanan Lelang | Skrip pelaporan kemenangan pembeli |
| Layanan Lelang | Skrip pelaporan kemenangan pembeli untuk PAS |
| Layanan SFE | Port Layanan SFE. Default-nya adalah |
| Layanan SFE | Alamat Layanan Lelang Penjual |
| Layanan SFE | Alamat K/V BYOS penjual |
| Layanan SFE | Alamat K/V TEE penjual |
| Layanan SFE | Asal penjual |
| Layanan SFE | Alamat BFE pembeli |
4. Menguji dengan Secure Invoke dari command line
4.1 Pengujian SFE
Anda juga dapat menggunakan alat Secure Invoke yang disertakan dalam paket Layanan B&A untuk memanggil layanan langsung dari command line.
4.1.2 Payload SelectAd
SFE
Permintaan JSON berikut telah diisi dengan penyiapan lelang B&A penjual tunggal SSP-BA
:
{
"auction_config": {
"seller": "https://localhost:6002",
"auction_signals": "{\"testKey\":\"someValue\"}",
"seller_signals": "{\"testKey\":\"someValue\"}",
"buyer_list": [
"https://localhost:5003",
"https://localhost:5004"
],
"per_buyer_config": {
"https://localhost:5003": { "buyer_signals": "{\"testKey\":\"someValue\"}" },
"https://localhost:5004": { "buyer_signals": "{\"testKey\":\"someValue\"}" }
}
},
"raw_protected_audience_input": {
"publisher_name": "http://localhost:4001",
"generation_id": "1210718540",
"enable_debug_reporting": true,
"raw_buyer_input": {
"https://localhost:5003": {
"interest_groups": [
{
"name": "dsp-x-demo",
"ad_render_ids": ["1234"],
"bidding_signals_keys": ["demo-key"],
"browser_signals": { "bid_count": "1", "join_count": "1", "prev_wins": "[]" },
"user_bidding_signals": "[1, 2, 3]"
}
]
},
"https://localhost:5004": {
"interest_groups": [
{
"name": "dsp-x-demo",
"ad_render_ids": ["1234"],
"bidding_signals_keys": ["demo-key"],
"browser_signals": { "bid_count": "1", "join_count": "1", "prev_wins": "[]" },
"user_bidding_signals": "[1, 2, 3]"
}
]
}
}
}
}
Simpan file sebagai sfe-test.json
di folder root repositori Layanan B&A Set A(skrip build B&A akan menyalin file di folder root repo ke folder /src/workspace
image Docker).
4.1.2 Memanggil SFE dengan Secure Invoke
Jalankan perintah berikut dari folder root repositori Layanan B&A:
DOCKER_NETWORK=ba-dev ./builders/tools/bazel-debian run //tools/secure_invoke:invoke \
-- \
-target_service=sfe \
-input_file=/src/workspace/sfe-test.json \
-host_addr=192.168.84.104:50053 \
-client_ip=192.168.84.100 \
-insecure=true
Jika stack B&A disiapkan dengan benar, Anda akan menerima respons berhasil berikut:
{"adRenderUrl":"https://localhost:5004/ad.html","interestGroupName":"dsp-x-demo","interestGroupOwner":"https://localhost:5004","score":39,"bid":39,"biddingGroups":{"https://localhost:5003":{"index":[0]},"https://localhost:5004":{"index":[0]}}}
4.2 Pengujian BFE
4.2.1 Permintaan GetBids
BFE
{
"buyer_input": {
"interest_groups": {
"name": "dsp-x-demo",
"ad_render_ids": ["1234"],
"bidding_signals_keys": ["demo-key"],
"browser_signals": { "bid_count": "1", "join_count": "1", "prev_wins": "[]" }
}
},
"auction_signals": "{\"testKey\":\"someValue\"}",
"buyer_signals": "{\"testKey\":\"someValue\"}",
"seller": "https://localhost:6002",
"publisher_name": "http://localhost:4001",
"enable_debug_reporting": true,
"client_type": "CLIENT_TYPE_BROWSER"
}
Simpan file sebagai bfe-test.json
di folder root repositori Layanan B&A.
4.2.2 Memanggil BFE dengan Secure Invoke
Jalankan perintah berikut dari folder root repositori Layanan B&A:
DOCKER_NETWORK=ba-dev ./builders/tools/bazel-debian run //tools/secure_invoke:invoke \
-- \
-target_service=bfe \
-input_file="/src/workspace/bfe-test.json" \
-host_addr="192.168.84.102:50051" \
-client_ip=192.168.84.100 \
-insecure=true
Jika stack B&A disiapkan dengan benar, BFE akan menampilkan respons berikut:
{"bids":[{"bid":6,"render":"https://localhost:5003/ad.html","interestGroupName":"dsp-x-demo"}],"updateInterestGroupList":{}}
4.3 Memeriksa log SFE
Buka terminal dan periksa log SFE. Kita akan membahas beberapa log penting dalam output.
4.3.1 Payload terenkripsi permintaan SelectAd
Dalam output log SFE ini, kita menemukan payload terenkripsi dari panggilan navigator.getInterestGroupAdAuctionData()
. Payload ini dibuat oleh browser, dikirim dari tag ke SAS, lalu SAS meneruskannya ke SFE:
I1210 21:20:47.266673 37 select_ad_reactor.cc:228] Protected auction ciphertext: AEAAIAABAAKg3OQSSLEBMR1MmJiwfOT8uef41iE+DQIvKUowsQvVcGbWZ+r17ff2r/iTbEnwqLPtpAxSTy77mi+cVV5cKjkKb4piaZnKiCDIMCyEvrQUD4+BG+HgrbUFhqiWPmQhNThvInMaHuYrXG7xushbRtvSPsVzEl6iBZcLZzD7W3CHMFK7bnJ+ufu52W6B7/8dOQ1gZW6SpwXMGNcrurTGoucbwbZRIPqCcbZk76J1gB69wrDYRo1wQ6jmBleLM36nulxbEj/sHhpQIgr895aKqEGQ3Fy+/HHPTO+zHphcX44YeF6mZ/I+WxZTDxCi1x27nI4yvzC8vI4a/giJN5XUlJZGb/fMrj3/Qly+gwJ8lbxdX+4GWTooDoS4MTtiBpJqh9wkIQ5XwfO54p8Kv6j/tk+51hOfVkOdtGwX0LvVrWT9PiJOJHa23nZ1fLg/22mTe05xdbR3WVeA+xiO9YwF4ozyCYDRUkDyWB/3k9RuaaT9H5S1szVpuOuD2nYSRpT9svmpfG4kipiS6BTPZPX2whDlukpuuoFgdiDtH6cFShNhZ5C47R0ayAvaZ1QSpOZMWfA6pdl4nhvNLpOKesKY/KFDEBzpUXRDsQWsfvmdqFl1mCeX9rOrEc9rodYVLXXhM8GPycehHmvqkccTBW6kipOQlmnSdIYaFmtWSFpUrzxajGkct3mZdTjVjOf...
4.3.2 Payload yang didekripsi
Dalam output ini, kita menemukan payload yang didekripsi dari panggilan navigator.getInterestGroupAdAuctionData()
:
I1210 21:20:47.267590 37 select_ad_reactor.cc:347] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Decoded BuyerInput:
https://localhost:5003 : {interest_groups { name: "dsp-x-demo" bidding_signals_keys: "demo-key" browser_signals { join_count: 1 recency: 7 prev_wins: "[]" } }}
4.3.3 Permintaan GetBids
ke BFE
Permintaan GetBids
dikirim dari SFE ke BFE:
I1210 21:20:47.267710 37 select_ad_reactor.cc:751] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Getting bid from a BFE
I1210 21:20:47.267729 37 buyer_frontend_async_client.cc:52] Raw request:
buyer_input {
interest_groups {
name: "dsp-x-demo"
bidding_signals_keys: "demo-key"
browser_signals {
join_count: 1
recency: 7
prev_wins: "[]"
}
}
}
auction_signals: "{\"testKey\":\"someValue\"}"
buyer_signals: "{\"testKey\": \"someValue\"}"
seller: "https://localhost:6002"
publisher_name: "localhost"
enable_debug_reporting: true
log_context {
generation_id: "c2824bfc-d515-4a1a-9de9-7660ad963252"
}
client_type: CLIENT_TYPE_BROWSER
4.3.4 Respons GetBids
dari BFE
BFE merespons dengan bid:
I1210 21:20:47.282549 41 select_ad_reactor.cc:856] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Received response from a BFE ...
I1210 21:20:47.282552 41 select_ad_reactor.cc:859] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252)
GetBidsResponse:
bids {
bid: 9
render: "https://localhost:5003/ad.html"
interest_group_name: "dsp-x-demo"
}
update_interest_group_list {
}
4.3.5 Permintaan ScoreAds
ke Layanan Lelang
Setelah bid diterima, panggilan ScoreAds
dilakukan oleh SFE ke Layanan Lelang untuk setiap bid:
I1210 21:20:47.287898 18 select_ad_reactor.cc:1280] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) ScoreAdsRawRequest:
ad_bids {
bid: 9
render: "https://localhost:5003/ad.html"
interest_group_name: "dsp-x-demo"
interest_group_owner: "https://localhost:5003"
join_count: 1
k_anon_status: true
}
seller_signals: "{\"testKey\":\"someValue\"}"
auction_signals: "{\"testKey\":\"someValue\"}"
scoring_signals: "{\"renderUrls\":{\"https://localhost:5003/ad.html\":[1,2,3],\"https://localhost:5004/ad.html\":[1,2,3]}}"
publisher_hostname: "localhost"
enable_debug_reporting: true
log_context {
generation_id: "c2824bfc-d515-4a1a-9de9-7660ad963252"
}
per_buyer_signals {
key: "https://localhost:5003"
value: "{\"testKey\": \"someValue\"}"
}
per_buyer_signals {
key: "https://localhost:5004"
value: "{\"testKey\": \"someValue\"}"
}
seller: "https://localhost:6002"
4.3.6 Respons ScoreAds
dari Layanan Lelang
Layanan Lelang Penjual merespons dengan skor keinginan:
I1210 21:20:47.298029 33 default_async_grpc_client.h:134] Decrypting the response ...
I1210 21:20:47.298100 33 default_async_grpc_client.h:152] Decryption/decoding of response succeeded: ad_score {
desirability: 9
render: "https://localhost:5003/ad.html"
interest_group_name: "dsp-x-demo"
buyer_bid: 9
interest_group_owner: "https://localhost:5003"
win_reporting_urls {
top_level_seller_reporting_urls {
}
}
ad_type: AD_TYPE_PROTECTED_AUDIENCE_AD
}
4.3.7 Respons SelectAd
dari SFE
Respons SelectAd
SFE dienkripsi dan dikirim ke SAS:
I1210 21:20:47.298428 33 select_ad_reactor.cc:1413] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Encrypted SelectAdResponse:
auction_result_ciphertext: "\023\233\252\321\000\331M\327\216\201S\332kl?\322\255\247\312\375h\007W\367\016\366FR\364\275\377\326\027h\204\203\265\t\271-\333\266\tH\342\033F\001k\211C\026V\013\271\255(\236\273\353\260\275\007\346\027\340?\005|\235S\244\265\2563U\246\322\177%\200/\3175\034 \020\024\362\345\3263\356F.s\261\005\231\262Z\000\330x\0230\335>\"\217\254\010\254\330>\206\007\274\235\037`\370W\032\207\356\367\206\026\341.i\"$\370\367\2554i\247\354\304e\306\2466S\337\321w\327+!\316\035:\002\231\246\362\366qm\211\000\013\343\345\224{\365py\361\374\316\202\217-\244\302\331\216D\025W#.\304nH\235\315\311<#\342\344\324\257\354\2441\251\312\320\226\342\021\377>3`\347/\350\254h\306\273\023\365\340@\321\2412\254\323\213\0137,\013n\220|\211\323/\030)\314\263\223\355>\254\312aa`!\375\335\023Z\234p\206\037\001\355\261{$\025+\341\275\327Ny\342\342\264=\376\2138\224\026\2058\251\020\202\245*46\023\307)K\342\364k<\2104r\247\034\216}\034\001\374\215\363\210\026\275\371S>\031;f.b\260\363\257.\255\023I\341A\237*_T\355\262\005\344L\336D%\327\267@\302$\300\340\203c\350|\337>C\275c\260\202o\315xp\260\257\241\305U\nK\033\274L6\025\350\373a:\253\212&>p\210\215\017&^\327\005_\037\020\212\362\351\341\231@g\372\0037\275b:)\207\303d\243?\261O\266\343\214\200\004\247\372\022S\326\200\037\330\252r\257+e\273[\231\202\3625{\330\213\240\370\245\\\214\350/\313\ty/\004\313\0304k\223\354\374\305\233\264\224K\344\241\251\322?\323q6\314D\027\200\203\035]\023O\306\230?\203\237:\254\305\265\332\330\2641l\322\020\022\330O-\242\207>Q\364_{F\235\353tk\207\035\205\005\221\373\207\0143\035\014\322\240H\220\347%\262f\347\017\352\273\265\231\014\204\r\312\254z\000\340&\354\222\323\245\356\217(i\246"
5. Menguji dengan Aplikasi Pengujian Lokal dari browser
5.1 Buka Chrome
Baca artikel Chromium tentang memulai Chrome dari command line, dan mulai dengan flag berikut:
google-chrome --enable-privacy-sandbox-ads-apis --disable-features=EnforcePrivacySandboxAttestations,FledgeEnforceKAnonymity --enable-features=FledgeBiddingAndAuctionServerAPI,FledgeBiddingAndAuctionServer:FledgeBiddingAndAuctionKeyURL/https%3A%2F%2Fstorage.googleapis.com%2Fba-test-buyer%2Fcoordinator-test-key.json
Flag ditetapkan untuk memuat kunci koordinator tiruan yang telah kami host di https://storage.googleapis.com/ba-test-buyer/coordinator-test-key.json
Penting: Pastikan Anda telah keluar sepenuhnya dari semua instance Chrome sebelum membukanya dari command line dengan flag B&A. Untuk keluar dari semua proses Chrome, coba jalankan ps aux | grep -ie chrome/chrome | awk '{print $2}' | xargs kill -9
dari command line.
5.2 Buka UI Aplikasi Pengujian Lokal
UI aplikasi dapat ditemukan di http://localhost:3000 di instance browser Chrome yang Anda buka dengan flag. Alamat persis yang Anda kunjungi mungkin berbeda jika Anda menggunakan VM dengan nama host yang berbeda.
Di baris atas aplikasi, panel "Kontrol" berisi tombol untuk menyimulasikan berbagai konfigurasi lelang. Dua panel lainnya berisi iframe dari situs pengiklan dan penayang.
Saat Anda mengklik tombol "Muat tag DSP" di iframe halaman pengiklan, skrip dari setiap DSP akan ditambahkan ke halaman. Skrip tersebut menambahkan pengguna ke grup minat. Buka Chrome DevTools, lalu buka "Application / Storage / Interest Groups" untuk memeriksa grup minat yang digabungkan oleh tag DSP:
Kemudian, klik tombol di panel "Kontrol" untuk menyimulasikan berbagai jenis lelang.
Jika Layanan B&A dan Aplikasi Pengujian Lokal disiapkan dengan benar, iklan sebelumnya akan dirender di panel "iframe situs penayang".
5.3 Konfigurasi lelang Aplikasi Pengujian Lokal
Di aplikasi pengujian lokal pendamping, peserta berikut dihosting, yang dibedakan berdasarkan nomor port (port yang berbeda dianggap lintas-asal):
Peserta | Deskripsi | Port |
Pengiklan | Memuat tag DSP di halaman |
|
Penerbit | Memuat tag SSP di halaman |
|
| Pembeli di perangkat |
|
| Pembeli di perangkat |
|
| Pembeli B&A |
|
| Pembeli B&A |
|
| Penjual tingkat atas |
|
| Penjual khusus di perangkat |
|
| Penjual khusus B&A |
|
| Penjual mode campuran |
|
Ada empat DSP:
DSP-A
danDSP-B
berpartisipasi dalam lelang di perangkatDSP-X
danDSP-Y
berpartisipasi dalam lelang B&A
Ada empat SSP, dan setiap penjual menjalankan konfigurasi lelang yang berbeda:
SSP-OD
menjalankan lelang khusus perangkatSSP-BA
menjalankan lelang khusus B&ASSP-MIX
menjalankan lelang mode campuranSSP-TOP
menjalankan lelang multi-penjualSSP-OD/BA/MIX
berpartisipasi sebagai penjual komponen lelang multi-penjualSSP-TOP
Untuk arsitektur lengkapnya, lihat diagram desain.
5.4 Konfigurasi Layanan Bidding dan Lelang
Dalam codelab ini, kita menjalankan dua set B&A secara bersamaan.
Setel | Layanan | Peserta | Alamat jaringan |
Set A | Layanan Bidding |
|
|
Layanan BFE |
|
| |
Layanan Lelang |
|
| |
Layanan SFE |
|
| |
Set B | Layanan Bidding |
|
|
Layanan BFE |
|
| |
Layanan Lelang |
|
| |
Layanan SFE |
|
| |
Aplikasi | Aplikasi Pengujian Lokal | Semua |
|
- Di Set A, layanan pembeli digunakan oleh
DSP-X
dan layanan penjual digunakan olehSSP-BA
- Di Set B, layanan pembeli digunakan oleh
DSP-Y
dan layanan penjual digunakan olehSSP-MIX
Untuk berkomunikasi antara Aplikasi Pengujian Lokal dan Layanan B&A, jaringan bridge Docker digunakan. Jaringan bridge ba-dev
dibuat oleh skrip penyiapan Aplikasi Pengujian Lokal. Layanan B&A diberi alamat IP di subnet 192.168.84.0
.
Misalnya, saat Anda memanggil SFE Set A dari aplikasi, alamat jaringan 192.168.84.104:50053
akan digunakan. Saat Anda memuat skrip bidding tiruan dari DSP-X ke BFE, https://192.168.84.100:5003/generate-bid.js
akan digunakan.
6. Rangkuman
Semoga Anda sudah memahami cara menjalankan stack Layanan B&A secara lokal di komputer, dan mendapatkan pemahaman yang lebih baik tentang cara layanan berkomunikasi satu sama lain.
6.1. Dukungan teknis
- Jika Anda memiliki pertanyaan tentang cara menyiapkan Aplikasi Pengujian Lokal, buka masalah di repositori LTA.
- Jika Anda memiliki pertanyaan tentang Layanan Bidding dan Lelang, buka masalah di repositori Layanan B&A.
- Jika Anda memiliki pertanyaan tentang Privacy Sandbox secara umum, buka masalah di repositori privacy-sandbox-dev-support.
6.2 Pelajari lebih lanjut
- Pelajari arsitektur B&A untuk web lebih lanjut
- Pelajari lebih lanjut integrasi penjual dengan B&A untuk web