1. Giriş
Teklifli Sistem ve Açık Artırma Hizmetleri (T&A), Protected Audience açık artırmasını kolaylaştırmak için alıcılar ve satıcılara sunulan 4 hizmetten oluşur:
Alıcı grubu:
- Alıcı Ön Uç Hizmeti
- Bidding Hizmeti
Satıcı grubu:
- Satıcı Kullanıcı Arayüzü Hizmeti
- Auction Hizmeti
Bu kod laboratuvarı, uçtan uca kurulumu yerel ortamınızda ayarlama ve test etme konusunda size yol gösterir. İlk hizmet oluşturma süresi hariç, açıklamalı kılavuzun yaklaşık 1 saat sürmesi beklenir.
Yalnızca alıcı tarafı kodu veya satıcı tarafı kodu üzerinde çalışsanız bile, alıcı ve satıcı paketlerinin birbirleriyle nasıl çalıştığını daha iyi anlamak için uçtan uca akışı yerel ortamınızda ayarlamak yararlıdır. Her iki paketi de ayarlayarak daha sonra başka bir tarafın ilgili alıcı veya satıcı paketiyle entegrasyon yaparken daha emin olabilirsiniz. Hizmetleri yerel olarak test etmek, geliştirme maliyetinizi de düşürür.
Bu codelab'de, açıklamalı kılavuz olarak B&A Yerel Test Uygulaması'nı kullanacağız.
Ek yerel test uygulaması, B&A açık artırmasında kullanılan çeşitli alıcı ve satıcı kaynaklarını barındırır. Uygulama, http://localhost:3000
adresinde çeşitli açık artırma yapılandırmalarını simüle edebileceğiniz bir kullanıcı arayüzü de sunar.
2. Ortam kurulumu
2.1 Linux makinesi hazırlama
Yerel bir Linux makinesi kullanın veya tercih ettiğiniz bulut sağlayıcının Linux sanal makinesini hazırlayın. Derleme süresini iyileştirmek için en az 16 çekirdek önerilir ve 32'den fazla çekirdek tercih edilir.
Bu makinenin http://localhost:3000
adresinden bir HTML sayfası yükleyeceğimizi unutmayın. Sanal makine bir GUI sağlamıyorsa yerel makinenize bağlanabilmek için 3000
bağlantı noktasına erişebildiğinden emin olun.
2.2 Docker'ı yükleme
Hizmetleri ve yerel test uygulamasını çalıştırmak için Docker'ı kullanırız.
Docker'ı test ortamına yüklemek için kolaylık komut dosyasını kullanacağız.
# 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
Uyarı: sudosuz kurulumda Docker grubu kullanıcıya kök düzeyinde ayrıcalıklar verir. Daha fazla bilgi edinmek için sudo kullanmadan Docker kullanma kılavuzunu okuyun.
2.3 Yerel test tamamlayıcı uygulamasını başlatma
Arkadaş uygulama, sahte teklif verme/puanlama komut dosyaları ve sahte K/V BYOS uç noktaları gibi kaynaklar sağlar. Kaynakların hizmetlere yüklenmesi için uygulama, B&A hizmetleri çalıştırılmadan önce başlatılmalıdır.
Yerel Test Uygulaması deposu'nu aşağı çekin:
git clone https://github.com/privacysandbox/bidding-auction-local-testing-app.git
Deponun kökünden kurulum komut dosyasını çalıştırın:
./setup
Kurulum komut dosyası, ba-dev
Docker ağını oluşturur, SSL sertifikaları oluşturur ve test uygulaması görüntüsünü oluşturur.
Derleme başarılı olduktan sonra başlangıç komut dosyasını çalıştırın:
./start
3. B&A'yı yerel olarak derleme ve çalıştırma
3.1 B&A Hizmetleri'ni indirin
Aynı makinede iki B&A hizmetleri grubu çalıştıracağımız için deposu iki farklı klasöre indireceğiz.
A grubu:
B&A deposunu indirin:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-a
B grubu
B&A deposunu indirin:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-b
`
3.2 Hizmetleri oluşturma
Her B&A klasörünün kök klasöründen 4 hizmetin tümünü derlemek için aşağıdaki komutu çalıştırın:
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
Yukarıdaki komut, 4 hizmetin tamamı için Google Cloud Platform (gcp
) geliştirme derlemesinin (non_prod
) bir local
örneğini oluşturur. Gerekirse --platform
işaretini tercih ettiğiniz bulut sağlayıcıyla güncelleyin. Derleme işaretleri hakkında daha fazla bilgi edinmek için build_and_test_all_docker
dosyasını inceleyin.
64 çekirdekli bir makine kullanılıyorsa ilk derleme 2 saat sürebilir ve derleme süresi, çekirdek sayısına göre doğrusal olarak ölçeklenir. 32 çekirdekli bir makine kullanıyorsanız bu işlem 4 saat sürebilir. 16 çekirdekli bir makine kullanıyorsanız bu işlem 8 saat sürebilir.
Sonraki derlemelerde önbelleğin kullanıldığını ve her derlemenin yaklaşık 5-20 dakika süreceğini unutmayın.
(Bu codelab'i yazarken xkcd'den Randall Munroe ile tanıştım ve bu karikatürü buraya eklediğimi söyledim)
3.3 Hizmetleri çalıştırma
Testimiz için 8 hizmet (her yığın için 4 hizmet) çalıştıracağız. Her komut, Yerel Test Uygulaması tarafından sağlanan kaynakları kullanacak şekilde ayarlanmıştır. tmux
gibi bir pencere yöneticisi kullanmanız önemle tavsiye edilir.
En az 8 ek terminal penceresi açın ve her oturumda aşağıdaki komutları çalıştırın.
Teklif verme ve puanlama komut dosyaları uygulama tarafından yayınlanacağından, yerel test uygulaması sunucusunun zaten ayrı bir işlemde çalışıyor olması gerektiğini unutmayın.
3.3.1 A komutları ayarlama
Hizmet | Komut |
|
|
|
|
|
|
|
|
3.3.2 B komutlarını ayarlama
Hizmet | Komut |
|
|
|
|
|
|
|
|
3.3.2 Yerel başlatma komut dosyaları için çevre değişkenleri
Aşağıdaki ortam değişkenleri, başlatma davranışını kontrol etmek için kullanılabilir.
Env var | Kullanılabilirlik | Açıklama |
| Tüm hizmetler | docker komutu için ayarlanacak işaretler |
| Tüm hizmetler | Yerel makinenizde test yaparken Varsayılan olarak |
| Tüm hizmetler | Hizmet günlüklerinin düzeyi. Daha yüksek seviye daha fazla günlük sağlar. 0 en düşük, 10 en yüksek kademeyi temsil eder. Varsayılan olarak |
| Bidding Hizmeti | Teklif Verme Hizmeti'nin bağlantı noktası. Varsayılan olarak |
| Bidding Hizmeti | Teklif verme mantığının URL'si |
| Bidding Hizmeti | Model eğitimi için veri çıkışı |
| Bidding Hizmeti | Teklif çıkarımıyla ilgili bağımsız değişkenler |
| BFE Hizmeti | BFE Hizmeti'nin bağlantı noktası. Varsayılan olarak |
| BFE Hizmeti | Alıcının BYOS K/V adresi |
| BFE Hizmeti | Alıcının TEE K/V adresi |
| BFE Hizmeti | Alıcının Bidding Hizmeti adresi |
| Auction Hizmeti | Açık Artırma Hizmeti'nin bağlantı noktası. Varsayılan olarak |
| Auction Hizmeti | Puanlama mantığının URL'si |
| Auction Hizmeti | Alıcının kazandığı teklif raporlama URL'si |
| Auction Hizmeti | Alıcının kazandığı raporlama komut dosyası |
| Auction Hizmeti | PAS için alıcının kazandığı raporlama komut dosyası |
| SFE Hizmeti | SFE Hizmeti'nin bağlantı noktası. Varsayılan olarak |
| SFE Hizmeti | Satıcının Auction Hizmeti adresi |
| SFE Hizmeti | Satıcının BYOS K/V adresi |
| SFE Hizmeti | Satıcının TEE K/V adresi |
| SFE Hizmeti | Satıcının menşei |
| SFE Hizmeti | Alıcının BFE adresleri |
4. Komut satırından Secure Invoke ile test etme
4.1 SFE testi
Hizmetleri doğrudan komut satırından çağırmak için B&A Hizmetleri paketine dahil olan Güvenli Çağırma aracını da kullanabilirsiniz.
4.1.2 SFE SelectAd
yükü
Aşağıdaki JSON isteği, SSP-BA
'nin tek satıcılı B&A açık artırma ayarıyla doldurulmuştur:
{
"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]"
}
]
}
}
}
}
A grubu B&A Hizmetleri deposunun kök klasörüne dosyayı sfe-test.json
olarak kaydedin(B&A derleme komut dosyası, deponun kök klasöründeki dosyaları Docker görüntüsünün /src/workspace
klasörüne kopyalar).
4.1.2 Güvenli Çağırma ile SFE'yi çağırma
B&A Services deposunun kök klasöründen aşağıdaki komutu çalıştırın:
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
Karşılaştırmalı analiz grupları doğru şekilde ayarlanmışsa aşağıdaki başarılı yanıtı alırsınız:
{"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 BFE testi
4.2.1 BFE GetBids
isteği
{
"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"
}
Dosyayı B&A Services deposunun kök klasörüne bfe-test.json
olarak kaydedin.
4.2.2 Güvenli Çağırma ile BFE'yi çağırma
B&A Services deposunun kök klasöründen aşağıdaki komutu çalıştırın:
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
B&A yığınları doğru şekilde ayarlanmışsa BFE aşağıdaki yanıtı döndürür:
{"bids":[{"bid":6,"render":"https://localhost:5003/ad.html","interestGroupName":"dsp-x-demo"}],"updateInterestGroupList":{}}
4.3 SFE günlüklerini kontrol edin
Terminali ziyaret edin ve SFE günlüklerini kontrol edin. Çıktıda yer alan önemli günlüklerden bazılarını inceleyeceğiz.
4.3.1 SelectAd
isteğinin şifrelenmiş yükü
Bu SFE günlük çıkışında, navigator.getInterestGroupAdAuctionData()
aramasının şifrelenmiş yükü bulunur. Bu yük, tarayıcı tarafından oluşturulur, etiketten SAS'a gönderilir ve SAS bunu SFE'ye iletir:
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 Şifresi çözülmüş yük
Bu çıktıda, navigator.getInterestGroupAdAuctionData()
çağrısının şifresi çözülmüş yükü bulunur:
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 GetBids
request to BFE
GetBids
isteği SFE'den BFE'ye gönderilir:
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 BFE'den GetBids
yanıtı
BFE, teklifle yanıt verir:
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 ScoreAds
, Auction Hizmeti'ne istek gönderir.
Teklifler alındıktan sonra SFE, her teklif için Açık Artırma Hizmeti'ne ScoreAds
çağrısı yapar:
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 Açık Artırma Hizmeti'nden ScoreAds
yanıtı
Satıcının Açık Artırma Hizmeti, arzu edilirlik puanıyla yanıt verir:
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 SFE'den SelectAd
yanıtı
SFE'nin SelectAd
yanıtı şifrelenir ve SAS'e gönderilir:
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. Tarayıcıdan yerel test uygulamasıyla test etme
5.1 Chrome'u açın
Chrome'u komut satırından başlatma ile ilgili Chromium makalesini okuyun ve aşağıdaki işaretlerle başlatın:
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
İşaret, https://storage.googleapis.com/ba-test-buyer/coordinator-test-key.json
adresinde barındırdığımız sahte koordinatör anahtarını yükleyecek şekilde ayarlanmıştır.
Önemli: Chrome'u B&A işaretleriyle komut satırından açmadan önce tüm Chrome örneklerinden tamamen çıktığınızdan emin olun. Tüm Chrome işlemlerinden çıkmak için komut satırından ps aux | grep -ie chrome/chrome | awk '{print $2}' | xargs kill -9
komutunu çalıştırmayı deneyin.
5.2 Yerel Test Uygulaması Kullanıcı Arayüzünü Ziyaret Edin
Uygulama kullanıcı arayüzünü, işaretlerle açtığınız Chrome Tarayıcı örneğinde http://localhost:3000 adresinde bulabilirsiniz. Farklı bir ana makine adına sahip bir sanal makine kullanıyorsanız ziyaret ettiğiniz tam adres farklı olabilir.
Uygulamanın üst satırındaki "Denetimler" panelinde, farklı açık artırma yapılandırmalarını simüle etmek için düğmeler bulunur. Diğer iki panel, reklamveren ve yayıncı sitelerinden alınan iFrame'leri içerir.
Reklamveren sayfası iframe'inde "DSP etiketlerini yükle" düğmesini tıkladığınızda her DSP'den bir komut dosyası sayfaya eklenir. Bu komut dosyaları, kullanıcıyı ilgi alanı gruplarına ekler. Chrome Geliştirici Araçları'nı açın ve DSP etiketleri tarafından birleştirilen ilgi alanı gruplarını incelemek için "Uygulama / Depolama / İlgi Alanı Grupları"nı ziyaret edin:
Ardından, çeşitli açık artırma türlerini simüle etmek için "Denetimler" panelindeki düğmeleri tıklayın.
B&A Hizmetleri ve Yerel Test Uygulaması doğru şekilde ayarlanmışsa önceki reklam "Yayıncı sitesi iframe'i" panelinde oluşturulur.
5.3 Yerel Test Uygulaması açık artırma yapılandırması
Ek yerel test uygulamasında, bağlantı noktası numarasına göre ayrılmış aşağıdaki katılımcılar barındırılır (farklı bir bağlantı noktası kaynakta çapraz olarak kabul edilir):
Katılımcı | Açıklama | Bağlantı noktası |
Reklamveren | Sayfaya DSP etiketleri yükler |
|
Yayıncı | Sayfaya SSP etiketleri yükler |
|
| Cihaz üzerinde alıcı |
|
| Cihaz üzerinde alıcı |
|
| B&A alıcı |
|
| B&A alıcı |
|
| Üst düzey satıcı |
|
| Yalnızca cihaz üzerinde satıcı |
|
| Yalnızca B&A satıcısı |
|
| Karma modda çalışan satıcı |
|
Dört DSP vardır:
DSP-A
veDSP-B
cihaz üzerinde açık artırmalara katılıyorDSP-X
veDSP-Y
B&A açık artırmalarına katılıyor
Dört SSP vardır ve her satıcı farklı bir açık artırma yapılandırması kullanır:
SSP-OD
yalnızca cihaz üzerinde açık artırma düzenlerSSP-BA
yalnızca B&A açık artırması düzenlerSSP-MIX
karma modlu bir açık artırma düzenlerSSP-TOP
çok satıcılı açık artırma düzenlerSSP-OD/BA/MIX
,SSP-TOP
'un çok satıcılı açık artırmasında bileşen satıcısı olarak katılır.
Mimarinin tamamı için tasarım şemasına göz atın.
5.4 Teklif verme ve Auction Services yapılandırması
Bu codelab'de, iki adet A/B testi grubunu birlikte çalıştırıyoruz.
Hazır | Hizmet | Katılımcı |
|
A grubu | Bidding Hizmeti |
|
|
BFE Hizmeti |
|
| |
Auction Hizmeti |
|
| |
SFE Hizmeti |
|
| |
B grubu | Bidding Hizmeti |
|
|
BFE Hizmeti |
|
| |
Auction Hizmeti |
|
| |
SFE Hizmeti |
|
| |
Uygulama | Yerel Test Uygulaması | Tümü |
|
- A grubunda alıcı hizmetleri
DSP-X
tarafından, satıcı hizmetleri iseSSP-BA
tarafından kullanılır. - B grubunda alıcı hizmetleri
DSP-Y
tarafından, satıcı hizmetleri iseSSP-MIX
tarafından kullanılır.
Yerel test uygulaması ile B&A Hizmetleri arasında iletişim kurmak için bir Docker köprü ağı kullanılır. ba-dev
köprü ağı, Yerel Test Uygulaması'nın kurulum komut dosyası tarafından oluşturulur. B&A hizmetlerine 192.168.84.0
alt ağında bir IP adresi atanır.
Örneğin, uygulamadan A grubu SFE'sini çağırırken 192.168.84.104:50053
ağının adresi kullanılır. DSP-X'ten BFE'ye sahte teklif verme komut dosyasını yüklerken https://192.168.84.100:5003/generate-bid.js
kullanılır.
6. Son adım
Bu aşamada B&A Services paketini makinenizde yerel olarak çalıştırmayı öğrendiğinizi ve hizmetlerin birbirleriyle nasıl iletişim kurduğunu daha iyi anladığınızı umuyoruz.
6.1. Teknik destek
- Yerel Test Uygulaması'nı ayarlamayla ilgili sorularınız varsa LTA deposunda bir sorun kaydı açın.
- Teklif ve Açık Artırma Hizmetleri ile ilgili sorularınız varsa B&A Hizmetleri deposunda bir sorun kaydı açın.
- Özel Korumalı Alan ile ilgili genel bir sorunuz varsa privacy-sandbox-dev-support deposunda bir sorun kaydı açın.
6.2 Daha fazla bilgi
- Web için B&A mimarisi hakkında daha fazla bilgi edinin.
- Web için B&A ile satıcı entegrasyonu hakkında daha fazla bilgi