1. Giriş
Teklifli Sistem ve Açık Artırma Hizmetleri (B&A), alıcılar ve satıcılar için Protected Audience açık artırmasını kolaylaştıran 4 hizmetten oluşur:
Alıcı yığını:
- Alıcı Tarafı Ön Uç Hizmeti
- Bidding Hizmeti
Satıcı yığını:
- Satıcıya Yönelik Kullanıcı Arayüzü Hizmeti
- Auction Hizmeti
Bu codelab'de, yerel ortamınızda uçtan uca kurulumu ayarlama ve test etme adımları açıklanmaktadır. İlk hizmet oluşturma süresi hariç olmak üzere, adım adım açıklamanın yaklaşık 1 saat sürmesi beklenmektedir.
Yalnızca satın alma tarafı kodu veya satış tarafı kodu üzerinde çalışıyor olsanız bile, alıcı ve satıcı yığınlarının birbirleriyle nasıl çalıştığını daha iyi anlamak için uçtan uca akışı yerel ortamınızda ayarlamanız faydalı olur. Her iki yığını da ayarlayarak daha sonra başka bir tarafın alıcı veya satıcı yığınıyla entegrasyon yaparken daha fazla güven duyabilirsiniz. Hizmetleri yerel olarak test etmek, geliştirme maliyetinizi de düşürür.
Bu codelab'de, adım adım kılavuz olarak B&A Local Testing App'i kullanacağız.
Yardımcı yerel test uygulaması, bir 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 makine hazırlama
Yerel bir Linux makinesi kullanın veya tercih ettiğiniz bulut sağlayıcının Linux sanal makinesini sağlayın. Derleme süresini iyileştirmek için en az 16 çekirdek önerilir ve 32 veya daha fazla çekirdek tercih edilir.
Bu makinenin http://localhost:3000 konumundan bir HTML sayfası yükleneceğini unutmayın. Sanal makine GUI sağlamıyorsa bağlanabilmek için 3000 bağlantı noktasına yerel makinenizden erişilebildiğ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ı: Sudo'suz kurulumda Docker grubu, kullanıcıya kök düzeyinde ayrıcalıklar verir. Daha fazla bilgi için sudo olmadan Docker kılavuzunu okuyun.
2.3 Tamamlayıcı yerel test uygulamasını başlatın
Yardımcı uygulama, sahte teklif verme veya puanlama komut dosyaları ve sahte K/V BYOS uç noktaları gibi kaynaklar sağlar. Kaynakların hizmetlere yüklenebilmesi için B&A hizmetleri çalıştırılmadan önce uygulama başlatılmalıdır.
Local Testing App repository'yi ç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ı üretir ve test uygulaması görüntüsünü oluşturur.
Derleme başarılı olduktan sonra başlatma komut dosyasını çalıştırın:
./start
3. B&A'yı yerel olarak derleme ve çalıştırma
3.1 B&A Hizmetlerini çekme
Aynı makinede iki grup B&A Hizmeti çalıştıracağımız için depoyu iki farklı klasöre indireceğiz.
A kümesi:
B&A deposunu çekin:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-a
B Grubu
B&A deposunu çekin:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-b
`
3.2 Hizmetleri oluşturma
Her bir B&A klasörünün kök klasöründen aşağıdaki komutu çalıştırarak 4 hizmetin tamamını oluşturun:
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
Bu komut, 4 hizmetin tamamı için Google Cloud'da (gcp) geliştirme derlemesinin (non_prod) local örneğini oluşturur. Gerekirse --platform işaretini tercih ettiğiniz bulut sağlayıcıya göre 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 artar. 32 çekirdekli bir makinede 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ürdüğünü unutmayın.
Derleme çalışırken tembellik eden iki programcı.
(Bu codelab'i yazarken xkcd'den Randall Munroe ile tanıştım ve bu çizgi romanı buraya eklediğimi söyledim)
3.3 Hizmetleri çalıştırma
Testimizde 8 hizmet (yığın başına 4 hizmet) çalıştıracağız. Her komut, Yerel Test Uygulaması tarafından sağlanan kaynakları kullanacak şekilde ayarlanır. tmux gibi bir pencere yöneticisi kullanmanız önemle tavsiye edilir.
En az 8 terminal penceresi daha açın ve her oturumda aşağıdaki komutları çalıştırın.
Teklif verme ve puanlama komut dosyaları uygulama tarafından sunulacağından, yerel test uygulaması sunucusunun ayrı bir süreçte çalışıyor olması gerektiğini unutmayın.
3.3.1 A komutlarını ayarlama
Hizmet | Komut |
|
|
|
|
|
|
|
|
3.3.2 Set B komutları
Hizmet | Komut |
|
|
|
|
|
|
|
|
3.3.2 Yerel başlangıç komut dosyaları için ortam değişkenleri
Başlatma davranışını kontrol etmek için aşağıdaki ortam değişkenleri kullanılabilir.
Ortam değişkeni | 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 değerdir. Varsayılan olarak |
| Bidding Hizmeti | Bidding 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ı ile ilgili argümanlar |
| BFE Hizmeti | BFE hizmetinin 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 | Auction Hizmeti'nin bağlantı noktası. Varsayılan olarak |
| Auction Hizmeti | Puanlama mantığının URL'si |
| Auction Hizmeti | Alıcının kazandığı 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 Service 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 güvenli çağırma ile test etme
4.1 SFE testi
Hizmetleri doğrudan komut satırından çağırmak için B&A Services paketinde yer alan Secure Invoke aracını da kullanabilirsiniz.
4.1.2 SFE SelectAd yükü
Aşağıdaki JSON isteği, SSP-BA'nın tek satıcılı B&A açık artırma kurulumuyla 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]"
}
]
}
}
}
}
Dosyayı, Set A'nın B&A Services deposunun kök klasörüne 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 Secure Invoke ile SFE'yi çağırma
Aşağıdaki komutu B&A Services deposunun kök klasöründen ç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
Öncesi/Sonrası 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 Secure Invoke ile BFE'yi çağırma
Aşağıdaki komutu B&A Services deposunun kök klasöründen ç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ıdaki önemli günlüklerden bazılarını inceleyeceğiz.
4.3.1 SelectAd isteğinin şifrelenmiş yükü
Bu SFE günlük çıktısında, navigator.getInterestGroupAdAuctionData() çağrısının şifrelenmiş yükünü görüyoruz. Bu yük, tarayıcı tarafından oluşturulur, etiketten SAS'a gönderilir ve ardından SAS tarafından SFE'ye iletilir:
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ünü görüyoruz:
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 BFE'ye istek
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 Açık artırma hizmetine ScoreAds isteği
Teklifler alındıktan sonra, her teklif için SFE tarafından Açık Artırma Hizmeti'ne ScoreAds çağrısı yapılır:
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 ScoreAds Auction Service'ten yanıt
Satıcının açık artırma hizmeti, uygunluk 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'ye 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çma
Chrome'u komut satırından başlatma ile ilgili Chromium makalesini okuyun ve Chrome'u 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 ayarlanır.
Önemli: Komut satırından B&A işaretleriyle 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 etme
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ı içeren bir sanal makine kullanıyorsanız ziyaret ettiğiniz adres tam olarak aynı olmayabilir.
Tarayıcıda ziyaret edilen yerel test uygulamasının ekran görüntüsü
Uygulamanın üst satırındaki "Denetimler" panelinde, farklı açık artırma yapılandırmalarını simüle etmeye yarayan düğmeler bulunur. Diğer iki panelde reklamveren ve yayıncı sitelerinden iFrame'ler bulunur.
Chrome Geliştirici Araçları'ndaki ilgi alanları gruplarının ekran görüntüsü.
Ardından, çeşitli açık artırma türlerini simüle etmek için "Kontroller" panelindeki düğmeleri tıklayın.

B&A Hizmetleri ve Yerel Test Uygulaması doğru şekilde ayarlanmışsa yukarıdaki reklam "Yayıncı sitesi iframe" panelinde oluşturulur.
5.3 Yerel Test Uygulaması açık artırma yapılandırması
Yerel test yardımcı uygulamasında, bağlantı noktası numarasına göre farklılaştırılmış aşağıdaki katılımcılar barındırılır (farklı bir bağlantı noktası, kaynaklar arası olarak kabul edilir):
Katılımcı | Açıklama | Bağlantı noktası |
Reklamveren | Sayfadaki TTP etiketlerini yükler. |
|
Yayıncı | Sayfadaki SSP etiketlerini yükler. |
|
| Cihaz üzerinde satın alan kullanıcı |
|
| Cihaz üzerinde satın alan kullanıcı |
|
| B&A alıcısı |
|
| B&A alıcısı |
|
| Üst düzey satıcı |
|
| Yalnızca cihaz üzerinde satıcı |
|
| Yalnızca marka ve reklam satıcısı |
|
| Karma mod satıcı |
|
Dört TTP vardır:
DSP-AveDSP-B, cihaz üzerinde açık artırmalara katılır.DSP-XveDSP-Y, B&A açık artırmalarına katılır.
Dört SSP vardır ve her satıcı farklı bir açık artırma yapılandırması yürütür:
SSP-ODyalnızca cihaz üzerinde bir açık artırma düzenler.SSP-BA, yalnızca marka ve reklamveren açık artırması düzenliyorSSP-MIXkarma modda bir açık artırma düzenliyorSSP-TOPçok satıcılı bir açık artırma düzenlerSSP-OD/BA/MIX,SSP-TOP'nın çok satıcılı açık artırmasına bileşen satıcı olarak katılabilir.
Mimariyle ilgili tüm bilgiler için tasarım şemasına bakın.
5.4 Teklif ve Açık Artırma Hizmetleri yapılandırması
Bu codelab'de, iki farklı karşılaştırma grubu yan yana çalıştırılır.
Ayarlandı | Hizmet | Katılımcı |
|
A kümesi | 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 kümesinde, alıcı hizmetleri
DSP-Xtarafından, satıcı hizmetleri iseSSP-BAtarafından kullanılır. - B grubunda, alıcı hizmetleri
DSP-Ytarafından, satıcı hizmetleri iseSSP-MIXtarafından kullanılır.
Yerel Test Uygulaması ile B&A Hizmetleri arasındaki iletişim için 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 Seti'nin SFE'sini aradığınızda 192.168.84.104:50053 ağ adresi kullanılır. Sahte teklif verme komut dosyasını DSP-X'ten BFE'ye yüklerken https://192.168.84.100:5003/generate-bid.js kullanılır.
6. Özet
Bu noktada, B&A Services yığınını makinenizde yerel olarak çalıştırma konusunda bilgi sahibi olduğunuzu ve hizmetlerin birbirleriyle nasıl iletişim kurduğu konusunda daha iyi bir anlayış kazandığınızı umuyoruz.
6.1. Teknik destek
- Yerel Test Uygulaması'nı ayarlama hakkında bir sorunuz varsa LTA deposunda bir sorun kaydı açın.
- Teklif verme ve açık artırma hizmetleriyle ilgili bir sorunuz varsa B&A Services deposunda bir sorun 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 edinin.