پیشنهاد طراحی خدمات مناقصه و مزایده برای Android جزئیات اجرا و جریان داده حراجهای در حال اجرا در اندروید را با استفاده از سرور مناقصه و مزایده مورد اعتماد ارائه میکند. برای اطمینان از اینکه دادههای در حال انتقال فقط توسط APIهای حفظ حریم خصوصی و سرورهای قابل اعتماد مدیریت میشوند، دادهها بین مشتری و سرور با استفاده از رمزگذاری کلید عمومی ترکیبی دو جهته رمزگذاری میشوند.
برای اجرای حراج همانطور که قبلاً توضیح داده شد، فناوری تبلیغات فروشنده روی دستگاه باید مراحل زیر را انجام دهد:
- داده ها را برای حراج سرور جمع آوری و رمزگذاری کنید
- درخواستی را به یک سرویس فروشنده غیرقابل اعتماد ارسال کنید
- پاسخی از یک سرویس فروشنده غیرقابل اعتماد دریافت کنید
- پاسخ حراج مخاطب محافظت شده را رمزگشایی کنید و نتیجه حراج را دریافت کنید
Protected Audience در حال معرفی دو API جدید به منظور پشتیبانی از حراج های سرور در حال اجرا است:
-
getAdSelectionDataAPI دادهها را برای مزایده سرور جمعآوری میکند و یک محموله رمزگذاری شده حاوی دادههای حراج تولید میکند. سرور Bidding and Auction از این بار برای اجرای حراج، تولید نتیجه حراج و برگرداندن نتیجه حراج استفاده می کند. - مشتریان فناوری تبلیغات روی دستگاه می توانند با
persistAdSelectionResultAPI تماس بگیرند تا نتیجه ایجاد شده توسط مزایده سرور را رمزگشایی کرده و URL رندر آگهی برنده را دریافت کنند.
فناوری تبلیغات فروشنده در دستگاه باید موارد زیر را ادغام و ایجاد کند تا حراج را اجرا کند:
- جمعآوری و رمزگذاری دادهها برای مزایده سرور فروشنده : فناوری تبلیغات باید
getAdSelectionDataAPI را برای دریافت بار رمزگذاریشده تماس بگیرد. - ارسال درخواست به سرویس فروشنده نامعتبر Send : یک درخواست
HTTP POSTیاPUTحاوی بار رمزگذاری شده تولید شده توسطgetAdSelectionDataAPI به سرویس فروشنده نامعتبر آنها و داده های مورد نیاز سرویس فروشنده نامعتبر برای ایجاد نتایج متنی. - دریافت پاسخ از سرویس فروشنده غیرقابل اعتماد : پاسخ سرویس فروشنده نامعتبر حاوی نتیجه حراج مخاطبان محافظت شده رمزگذاری شده و نتیجه حراج متنی است.
- پاسخ حراج مخاطب محافظت شده را رمزگشایی کنید و نتیجه حراج را دریافت کنید: برای رمزگشایی نتیجه حراج مخاطب محافظت شده، فناوری تبلیغات فروشنده باید با
persistAdSelectionResultAPI تماس بگیرد. نتیجه ایجاد شده توسطpersistAdSelectionResultبه فنآوران تبلیغات کمک میکند تا تعیین کنند که آیا آگهی متنی یا تبلیغ مخاطب محافظتشده برنده حراج شده است و در صورت وجود، URI آگهی مخاطب محافظتشده برنده.
ویژگی های پشتیبانی شده برای حراج سرور
هدف ما پشتیبانی از همه ویژگیهایی است که برای حراج روی دستگاه در دسترس هستند. جدول زمانی پشتیبانی از این ویژگی ها در مزایده سرور به شرح زیر است:
مزایده روی دستگاه | مزایده سرور | |||
پیش نمایش توسعه دهنده | بتا | پیش نمایش توسعه دهنده | بتا | |
گزارش پیروزی در سطح رویداد | Q1 '23 | Q3 '23 | N/A | Q4 '23 |
Q1 '23 | Q4 '23 | N/A | Q1 24 | |
Q2 '23 | Q3 '23 | N/A | Q4 '23 | |
تبلیغات متنی را برای فیلتر کردن به گردش کار انتخاب آگهی ارسال کنید | Q2 '23 | Q1 '24 | N/A | N/A |
Q2 '23 | Q3 '23 | N/A | Q4 '23 | |
Q3 '23 | Q4 '23 | N/A | Q4 '23 | |
صورتحساب غیر CPM | Q3 '23 | Q4 '23 | ||
اشکال زدایی | Q3 '23 | Q4 '23 | Q3 '23 | Q4 '23 |
میانجیگری مناقصه باز | N/A | N/A | N/A | Q1 '24 |
Q2 '23 | Q1 '24 | N/A | Q1 '24 | |
مدیریت ارز | N/A | N/A | N/A | Q1 '24 |
ادغام K-anon | N/A | Q1 '24 | N/A | Q1 '24 |
ادغام تجمیع خصوصی | N/A | N/A | N/A | Q3 '24 |
مزایده های سرور را با استفاده از APIهای مخاطب محافظت شده اجرا کنید
در مسیر پیشنمایش برنامهنویس، AdSelectionManager دو API جدید را نشان میدهد: getAdSelectionData و persistAdSelectionResult . این APIها به SDK های فناوری تبلیغات اجازه می دهند با سرورهای Bidding و Auction ادغام شوند.
داده ها را برای مزایده سرور جمع آوری و رمزگذاری کنید
getAdSelectionData API ورودی مورد نیاز را برای اجزای Bidding و Auction مانند BuyerInput و ProtectedAudienceInput ایجاد میکند و دادهها را قبل از در دسترس قرار دادن نتیجه برای تماسگیرنده رمزگذاری میکند. برای جلوگیری از نشت داده ها در بین برنامه ها، این داده ها حاوی اطلاعاتی از همه خریداران حاضر در دستگاه است. در مورد این تصمیم در بخش ملاحظات حریم خصوصی و استراتژی های بهینه سازی آن در بخش ملاحظات اندازه بیشتر بخوانید.
برای دسترسی به API، دسترسی به API مخاطب محافظت شده باید فعال باشد و مجوز ACCESS_ADSERVICES_CUSTOM_AUDIENCE باید در مانیفست تماس گیرنده تعریف شود.
public class AdSelectionManager {
public void getAdSelectionData(
GetAdSelectionDataRequest getAdSelectionDataRequest,
Executor executor,
OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver) {}
}
GetAdSelectionDataRequest
- تماسگیرنده باید فیلد
sellerرا در درخواست تنظیم کند، زیرا از آن برای اجرای بررسیهای ثبتنام قبل از سرویسدهی درخواست استفاده میشود. - فیلد
coordinatorOriginUriاختیاری است.- اگر تنظیم شود، این باید با طرح، نام میزبان، و پورت URL هماهنگکننده که هنگام استقرار سرور B&A فروشنده پیکربندی شده است، برابر باشد.
- هماهنگ کننده باید به لیست هماهنگ کننده های تایید شده تعلق داشته باشد:
ارائه دهنده URI منبع URI پیش فرض Google Cloud https://publickeyservice.pa.gcp.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.gcp.privacysandboxservices.com بله خدمات وب آمازون https://publickeyservice.pa.aws.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.aws.privacysandboxservices.com خیر - اگر مبدا هماهنگ کننده ارائه نشده باشد، از هماهنگ کننده پیش فرض استفاده می شود.
- اگرچه بسیار بعید است که URL هماهنگ کننده تغییر کند، اکیداً توصیه می شود مکانیزمی برای مدیریت پویا این URL پیاده سازی شود. این اطمینان را ایجاد می کند که هرگونه تغییر بعدی در URL را می توان بدون نیاز به انتشار SDK جدید در نظر گرفت.
public class GetAdSelectionDataRequest {
public setSeller(AdTechIdentifier seller);
public setCoordinatorOriginUri(Uri coordinatorOriginUri)
}
پس از تایید درخواست، دادههای خریدار روی دستگاه در BuyerInput و ProtectedAudienceInput ترکیب میشوند. سپس شیء بار نهایی با استفاده از رمزگذاری کلید عمومی ترکیبی دو جهته رمزگذاری می شود.
GetAdSelectionDataOutcome
GetAdSelectionDataOutcome به عنوان نتیجه API getAdSelectionData ایجاد می شود. این شامل موارد زیر است:
-
adSelectionId: یک عدد صحیح غیر شفاف برای شناسایی این فراخوانیgetAdSelectionData. مشتری فناوری تبلیغات باید این مقدارadSelectionIdحفظ کند زیرا به عنوان نشانگر تماسgetAdSelectionDataعمل می کند. این شناسه توسطpersistAdSelectionResultAPI برای رمزگشایی نتیجه حراج از سرور Bidding و Auction مورد نیاز است و همچنین توسط APIهایreportImpressionوreportEventمورد نیاز است. -
adSelectionData: این داده های حراج رمزگذاری شده است که توسط Bidding و سرور مزایده برای اجرای مزایده ها مورد نیاز است. این روش شامل:- دادههای مخاطب سفارشی فیلتر شده براساس محدودیت فرکانس، فیلترهای نصب برنامه و الزامات مزایده سرور برای مخاطبان سفارشی.
- در نسخه بعدی، حاوی اطلاعات نصب برنامه خواهد بود.
public class GetAdSelectionDataOutcome {
Public getAdSelectionId(long adSelectionId);
public byte[] getAdSelectionData();
}
خطاها، استثناها و مدیریت شکست
اگر تولید داده انتخاب آگهی به دلایلی مانند آرگومانهای نامعتبر، مهلت زمانی یا مصرف بیش از حد منابع با موفقیت تکمیل نشود، فراخوانی OutcomeReceiver.onError() یک AdServicesException با رفتارهای زیر ارائه میکند:
- اگر
getAdSelectionDataبا آرگومانهای نامعتبر آغاز شود،AdServicesExceptionیک IllegalArgumentException را به عنوان علت نشان میدهد. - همه خطاهای دیگر
AdServicesExceptionبا یکIllegalStateExceptionبه عنوان علت دریافت می کنند.
درخواستی را به یک سرویس فروشنده غیرقابل اعتماد ارسال کنید
با استفاده از AdSelectionData ، SDK روی دستگاه میتواند با گنجاندن دادهها در یک درخواست POST یا PUT ، درخواستی را به سرویس تبلیغات فروشنده ارسال کند:
fetch('https://www.example-ssp.com/auction', {
method: "PUT",
body: data,
...
})
SDK روی دستگاه مسئول رمزگذاری این داده ها است. توصیه می شود از یک راه حل کارآمد فضا مانند ارسال درخواست به سرویس آگهی فروشنده به عنوان داده های چندبخشی/فرم استفاده کنید.
پاسخی از یک سرویس فروشنده نامعتبر دریافت کنید
همانطور که در توضیح سرور مزایده و مزایده توضیح داده شده است، هنگامی که سرویس فروشنده نامعتبر درخواست را دریافت می کند، برای تبلیغات متنی با خریداران شریک تماس می گیرد.
سرویس فروشنده نامعتبر adSelectionData و AuctionConfig رمزگذاری شده را به سرویس SellerFrontEnd سرور Bidding و Auction که در یک TEE اجرا می شود، ارسال می کند.
هنگامی که حراج مخاطب محافظت شده کامل شد، سرویس SellerFrontEnd نتیجه حراج را رمزگذاری می کند و آن را به عنوان پاسخی به سرویس فروشنده نامعتبر برمی گرداند.
سرویس فروشنده نامعتبر پاسخی را به دستگاه ارسال می کند که حاوی آگهی متنی و/یا نتیجه حراج مخاطب محافظت شده رمزگذاری شده است.
پس از دریافت پاسخ، کد فناوری آگهی فروشنده روی دستگاه میتواند فقط از آگهی متنی در پاسخ استفاده کند یا اگر به نظر میرسد ارزش افزایشی در دریافت نتیجه مخاطب محافظت شده وجود دارد، میتواند با فراخوانی API PersistAdSelectionResult رمزگشایی نتیجه مخاطب محافظتشده را انتخاب کند.
API PersistAdSelectionResult
برای رمزگشایی نتیجه مخاطب محافظت شده، فناوری تبلیغات فروشنده میتواند دومین API مخاطب محافظتشده persistAdSelectionResult فراخوانی کند. API نتیجه را رمزگشایی میکند و AdSelectionOutcome را برمیگرداند، همان شیئی که امروز از حراج روی دستگاه بازگردانده میشود.
برای دسترسی به API، تماسگیرنده باید دسترسی به API مخاطب محافظت شده را فعال کند و مجوز ACCESS_ADSERVICES_CUSTOM_AUDIENCE را در مانیفست خود تعریف کند .
public void persistAdSelectionResult(
PersistAdSelectionResultRequest persistAdSelectionResultRequest,
Executor executor,
OutcomeReceiver<AdSelectionOutcome, Exception> receiver) {}
PersistAdSelectionResultRequest
تماس گیرنده باید موارد زیر را در درخواست تنظیم کند:
public final class PersistAdSelectionResultRequest {
Public setAdSelectionId(long adSelectionId);
public setSeller(AdTechIdentifier seller);
public setAdSelectionResult(byte[] adSelectionResult);
}
-
adSelectionId: شناسه مات ایجاد شده توسط تماسgetAdSelectionDataکه تماس گیرنده می خواهد نتیجه آن را رمزگشایی کند. -
seller: شناسه فنی آگهی فروشنده باید در درخواست تنظیم شود تا بررسی های ثبت نام قبل از سرویس دهی به درخواست انجام شود. -
adSelectionResult: نتیجه مزایده رمزگذاری شده ایجاد شده توسط سرور Bidding and Auction که تماس گیرنده می خواهد رمزگشایی کند.
پاسخ AdSelectionOutcome
اگر برنده مخاطب محافظتشده وجود داشته باشد، AdSelectionOutcome URI رندر آگهی برنده را برمیگرداند. هنگامی که adSelectionResult رمزگشایی شد، دادههای گزارش به صورت داخلی باقی میمانند. فراخوانی OutcomeReceiver.onResult() یک AdSelectionOutcome را برمی گرداند که حاوی:
-
URI: اگر یک تبلیغ مخاطب محافظت شده برنده وجود داشته باشد، یک URL رندر آگهی برای آگهی برنده بازگردانده می شود. اگر برنده مخاطب محافظت شده وجود نداشته باشد، «Uri.EMPTY برگردانده می شود. -
adSelectionId:adSelectionIdمرتبط با این مزایده سرور اجرا می شود.
خطاها، استثناها و مدیریت شکست
اگر تولید داده انتخاب آگهی به دلایلی مانند آرگومانهای نامعتبر، مهلت زمانی یا مصرف بیش از حد منابع با موفقیت تکمیل نشود، فراخوانی OutcomeReceiver.onError() یک AdServicesException با رفتارهای زیر ارائه میکند:
- اگر
getAdSelectionDataبا آرگومان های نامعتبر شروع شود،AdServicesExceptionیکIllegalArgumentExceptionبه عنوان علت نشان می دهد. - همه خطاهای دیگر
AdServicesExceptionبا یکIllegalStateExceptionبه عنوان علت دریافت می کنند.
ملاحظات حفظ حریم خصوصی
adSelectionData رمزگذاری می شود تا مطمئن شود که داده های در حال انتقال فقط برای PPAPI و سرورهای مورد اعتماد قابل دسترسی است.
با وجود رمزگذاری، نشت داده ممکن است به دلیل اندازه adSelectionData رخ دهد. اندازه adSelectionData می تواند به دلایل زیر متفاوت باشد:
- تغییرات در داده های
CustomAudienceموجود در دستگاه. - تغییرات در منطق فیلتر
CustomAudience. - تغییرات در ورودی تماس
getAdSelectionData.
تغییر در اندازه adSelectionData را می توان برای ایجاد شناسه بین برنامه ای همانطور که در بحث نشت 1 بیتی ذکر شد استفاده کرد. بسیاری از اقدامات کاهشی قابل اعمال برای نشت 1 بیتی نیز در اینجا قابل اجرا هستند.
برای مدیریت این نشتها، قصد داریم همان adSelectionData را برای همه تماسها با getAdSelectionData API ایجاد کنیم. در نسخههای اولیه، همه CustomAudiences روی دستگاه برای ایجاد adSelectionData استفاده میشوند و محموله رمزگذاریشده برای پوشاندن تغییرات اندازه، قرار میگیرد. همچنین تأثیر پارامترهای ورودی GetAdSelectionData را بر adSelectionData ایجاد شده محدود خواهیم کرد.
با این حال، ایجاد adSelectionData یکسان برای همه فنآوریهای تبلیغاتی با استفاده از تمام دادههای حراج روی دستگاه، حجم زیادی را ایجاد میکند که اکنون باید در هر تماس به سرور فناوری تبلیغات منتقل شود. استفاده از تمام مخاطبان سفارشی روی دستگاه برای تولید بار مزایده همچنین اکوسیستم را در معرض سوء استفاده از سوی نهادهای مخرب قرار می دهد. ما این نگرانی ها را در بخش بهینه سازی اندازه و کاهش سوء استفاده پوشش داده ایم.
بهینه سازی اندازه
انتظار میرود SDK مشتری فناوری تبلیغات، بایتهای رمزگذاریشده adSelectionData را در تماس متنی HTTP PUT/POST که با سرور فناوری تبلیغات انجام میشود، بستهبندی کند. برای زمان تاخیر و هزینه رفت و برگشت کمتر، لازم است اندازه adSelectionData را تا آنجا که ممکن است کاهش دهید و در عین حال بر ابزار تاثیری نداشته باشید.
ما قصد داریم برای کاهش اندازه adSelectionData ، بهینهسازیهای زیر را در نسخههای آینده بررسی و معرفی کنیم:
بار تولید شده در یک مجموعه ثابت از اندازههای سطل با بالشتک : برای به حداقل رساندن نشت ناشی از تغییرات اندازه و در عین حال امکان بارگذاری کمتر، پیشنهاد میکنیم از سطل اندازه ثابت برای محموله تولیدی استفاده کنید. کوچک نگه داشتن تعداد سطل ها، به عنوان مثال، 7، منجر به کمتر از 3 بیت آنتروپی لو رفته در هر تماس با
getAdSelectionDataمی شود.اگر دادههای روی دستگاه از حداکثر اندازه سطل بیشتر شود، از استراتژیهایی مانند مقادیر اولویت برای تصمیمگیری در مورد حذف دادهها استفاده میشود.
پیکربندی خریدار : ما در حال ارزیابی امکان سنجی اجازه دادن به خریداران برای تنظیم یک پیکربندی محموله برای هر خریدار هستیم. این پیکربندی برای شناسایی حراج هایی که خریدار علاقه مند به پیوستن است مفید خواهد بود. در صورت امکان، در حین ثبتنام، یک فناوری تبلیغاتی خریدار میتواند نقطه پایانی را ثبت کند که مخاطبان محافظتشده پیکربندی بار را با سرعت منظم روزانه از آنجا دریافت کنند. از طرف دیگر، APIهای حفظ حریم خصوصی یک API را در معرض دید قرار میدهند تا به فناوریهای تبلیغاتی خریدار اجازه دهد این نقطه پایانی را ثبت کنند.
سپس از این پیکربندی برای ارزیابی سهم خریدار در
adSelectionDataایجاد شده برای هر درخواستgetAdSelectionDataاستفاده میشود.پیکربندی محموله خریدار به خریداران اجازه می دهد تا مشخص کنند:
- فهرست فروشندگان مجاز : مخاطبان سفارشی خریدار فقط در صورتی به محموله اضافه میشوند که تماس
getAdSelectionDataتوسط فروشندهای در لیست مجاز آغاز شود. ما پیکربندی محموله را به صورت روزانه واکشی می کنیم تا لیست مجاز را به روز نگه داریم. - محدودیت اندازه به ازای هر فروشنده : خریدار میتواند برای تعیین اندازه دادهای که باید در زمان شروع حراج توسط فروشنده خاصی، در محموله ارسال شود، یک محدودیت اندازه برای هر فروشنده تعیین کند. اگر خریدار بخواهد منابع بیشتری را به پردازش داده های حراج از فروشندگان خاص اختصاص دهد، این امر مفید خواهد بود. SellerFrontendService فقط داده های خاص خریدار را به هر BuyerFrontendService ارسال می کند. بنابراین، با تعریف محدودیت اندازه برای هر فروشنده، خریدار میتواند به صراحت میزان دادههای دریافت شده و پردازش شده توسط BuyerFrontendService سرور مزایده و مزایده خود را برای حراجهایی که توسط فروشنده اجرا میشود، کنترل کند.
- فهرست فروشندگان مجاز : مخاطبان سفارشی خریدار فقط در صورتی به محموله اضافه میشوند که تماس
پیکربندی فروشنده : ما در حال ارزیابی امکانسنجی یک پیکربندی حراج برای هر فروشنده هستیم که به فروشندگان اجازه میدهد پارامترهای حراج را برای کنترل اندازه بار و شرکتکنندگان در حراج تعریف کنند. در صورت امکان، در حین ثبتنام، فناوری تبلیغات فروشنده میتواند نقطه پایانی را مشخص کند که از آنجا مخاطب محافظتشده میتواند پیکربندی حراج هر فروشنده را با سرعتی منظم دریافت کند. سپس از این پیکربندی برای تعیین ترکیب و محدودیتهای
adSelectionDataتولید شده برای هر درخواستgetAdSelectionDataاستفاده میشود.مشابه پیکربندی خریدار، پیکربندی به ازای هر فروشنده به فروشندگان این امکان را میدهد تا مشخص کنند که انتظار دارند کدام دسته از خریداران را در یک حراج ببینند و محدودیتهایی را برای سهم هر خریدار در اندازه بار مشخص کنند.
پیکربندی حراج فروشنده به فروشندگان اجازه می دهد تا مشخص کنند:
- لیست خریداران مجاز : برای حراج هایی که توسط فروشنده معین آغاز شده است، فقط خریداران موجود در لیست مجاز می توانند مخاطبان سفارشی را برای حراج مشارکت دهند. پیکربندی حراج باید هر روز به روز شود تا لیست مجاز با لیست مجاز خریداران سمت سرور به روز شود.
- محدودیت اندازه برای هر خریدار : فروشندگان می توانند برای تنظیم اندازه داده های بارگذاری شده توسط هر خریدار در محموله ارسال شده به SellerFrontendService، محدودیتی برای هر خریدار تعیین کنند. اگر خریدار از محدودیت اندازه هر خریدار فراتر رود، از اولویت CustomAudience تنظیم شده در پیکربندی بار خریدار برای دریافت داده ها در محدوده های مورد انتظار استفاده می شود.
- اولویت به ازای هر خریدار : به فروشندگان اجازه دهید اولویت هر خریدار را تعیین کنند. اولویت خریدار برای شناسایی اینکه کدام اطلاعات خریدار باید در محموله محفوظ بماند، استفاده میشود، اگر اندازه محموله از حد مجاز حجم بار بیشتر شود.
- حداکثر اندازه برای محموله : فروشندگان مختلف ممکن است تخصیص منابع متفاوتی داشته باشند و ممکن است بخواهند حداکثر اندازه برای بار مزایده هر درخواست تعیین کنند. حداکثر اندازه حداکثر به سطلهای اندازه ثابتی که توسط Protected Audience API تنظیم شده است، احترام میگذارد.
تغییر مخاطب سفارشی
- تعیین اولویت مخاطبان سفارشی : به خریداران اجازه می دهد تا یک مقدار اولویت را در یک مخاطب سفارشی مشخص کنند. فیلد
priorityبرای شناسایی مخاطبان سفارشی استفاده میشود که اگر مجموعه مخاطبان سفارشی خریدار از محدودیتهای اندازه هر فروشنده یا هر خریدار فراتر رود، باید در حراجی گنجانده شوند. یک مقدار اولویت نامشخص در یک مخاطب سفارشی به طور پیش فرض0.0.
- تعیین اولویت مخاطبان سفارشی : به خریداران اجازه می دهد تا یک مقدار اولویت را در یک مخاطب سفارشی مشخص کنند. فیلد
تغییرات داده های بار
- کاهش دادههای ارسال شده در محموله : همانطور که در بهینهسازی محموله خدمات مناقصه و مزایده توضیح داده شده است، حجم بالاتر توسط دادههای
adsمخاطبین سفارشی، سیگنالهای پیشنهاد کاربر، سیگنالهای Android هدایت میشود. محموله های بالاتر را می توان با موارد زیر کاهش داد:- درخواست از مشتری برای ارسال شناسه های رندر آگهی (به جای اشیاء آگهی) در بار.
- اینکه مشتری هیچ داده تبلیغاتی را در بار ارسال نکند.
- عدم ارسال سیگنال های پیشنهادی کاربر در محموله مشتری.
- کاهش دادههای ارسال شده در محموله : همانطور که در بهینهسازی محموله خدمات مناقصه و مزایده توضیح داده شده است، حجم بالاتر توسط دادههای
در حالی که این استراتژیها به فنآوران تبلیغات اجازه میدهند تا پیکربندیهایی را برای مدیریت ترکیب و محدودیتهای بار adSelectionData تعریف کنند، همچنین میتوانند با تغییر پارامترهای پیکربندی به عاملی برای تعدیل اندازه adSelectionData تبدیل شوند. برای جلوگیری از این امر، پیکربندی هر روز توسط مخاطب محافظت شده از نقطه پایانی پیکربندی شده دریافت میشود.
بهینه سازی تاخیر
برای اینکه مزایدههای سرور سطح مطلوبی از کاربرد داشته باشند، باید مطمئن باشیم که getAdSelectionData API و persistAdSelectionResult API تأخیر پایینی در هر تماس دارند. در حالی که هدف ما ارائه پشتیبانی از ویژگیها برای APIها در سال 2023 است، نسخه بعدی ما بر روی معیارهای تأخیر و بهینهسازی برای APIها تمرکز خواهد کرد.
ما در حال بررسی راهبردهای زیر برای حفظ تأخیر در محدوده قابل قبول هستیم:
پیش تولید دادههای مخاطب محافظتشده به ازای هر فروشنده : از آنجایی که پیکربندی حراج فروشنده و پیکربندی بار خریدار برای مدت زمان قابلتوجهی (روزانه) پایدار خواهد بود، این پلتفرم میتواند دادههای مخاطب حفاظتشده واجد شرایط را از قبل محاسبه و ذخیره کند.
این امر مستلزم ایجاد مکانیزمی برای نظارت بر بهروزرسانیهای مخاطبان سفارشی و اصلاح دادههای مخاطب محافظتشده از پیش تولید شده بر اساس بهروزرسانیها است. این پلتفرم همچنین باید SLOها را در مورد تاخیر مسابقه ای که فناوری تبلیغات می تواند بین به روز رسانی های سفارشی مخاطبان و مشاهده تغییر در
adSelectionDataایجاد شده برای مزایده سرور انتظار داشته باشد، اعلام کند.از آنجایی که یک دستگاه یک مدل محاسباتی منابع محدود با اولویتهای فرآیندی متفاوت ارائه میکند، ما تشخیص میدهیم که ارائه این تسهیلات پیش از تولید باید با قابلیت اطمینان بالا و تضمینهای SLO همراه باشد.
سپس بر اساس پیشتولید دادههای مخاطب محافظتشده انجام میشود
- فروشنده میخواهد دادههای مخاطب محافظت شده را از قبل ایجاد کند.
- خریداران واجد شرایط شرکت در حراجی که توسط یک فروشنده خاص آغاز شده است.
- شناسایی مخاطبان سفارشی به ازای هر خریدار که بخشی از محموله هستند بر اساس:
- محدودیت اندازه هر خریدار، اولویت هر خریدار و حداکثر محدودیت اندازه تعریف شده در پیکربندی فروشنده،
- محدودیت اندازه هر فروشنده، اولویت مخاطب سفارشی در پیکربندی خریدار تعریف شده است.
استفاده مشتاقانه از فیلتر منفی : در صورت ترجیح فروشنده، پلتفرم میتواند
adSelectionDataرا با از پیش تولید دادههای مخاطب محافظتشده و اعمال فیلتر منفی از فراخوان حیاتیgetAdSelectionDataاز قبل محاسبه کند. این به فروشندگان این امکان را می دهد که ضمن پذیرش کهنگی در فیلتر منفی، تاخیر کاهش را متعادل کنند.این پلتفرم میتواند این پشتیبانی را با ارائه یک گزینه پیشفرض در پیکربندی فروشنده با محدودیت کهنگی و یک گزینه لغو در
getAdSelectionDataفراهم کند تا در صورت نیاز، جدیدترین محاسبات را امکانپذیر کند. از طرف دیگر، این پلتفرم میتواند یک API اولیه اضافی برای فراخوانی قبل ازgetAdSelectionDataبرای گرم کردن حراج فراهم کند.محاسبه بار برای حراجهای متعدد : در سناریوهای خاص، ممکن است ترجیح داده شود که یک API با عملکرد تأخیر به قیمت افزایش کهنگی دادهها داشته باشید. برای ارائه این، پلتفرم میتواند یک API اولیه را برای محاسبه کل محموله و ارجاع به بار محاسبهشده برای تماسگیرنده معرفی کند.
برای تماسهای بعدی با
getAdSelectionData، تماسگیرنده میتواند ارجاع به بار از پیش محاسبهشده برای تولیدadSelectionDataارائه دهد.
این سه استراتژی در مرحله اکتشاف اولیه هستند و به منظور توصیف مسیری هستند که پلتفرم ممکن است برای بهینه سازی تاخیر در پیش بگیرد. همانطور که نمایههای تاخیر دقیقتر API و الزامات فناوری تبلیغات را بررسی میکنیم، به پیشنهاد استراتژیهای اضافی ادامه خواهیم داد.
کاهش سوء استفاده و شناسایی
همانطور که در ملاحظات حفظ حریم خصوصی ذکر شد، adSelectionData با استفاده از تمام دادههای خریدار در دستگاه تولید میشود.
با این حال، اگر از تمام دادههای خریدار روی دستگاه برای تولید خروجی adSelectionData استفاده شود، یک نهاد مخرب میتواند به عنوان یک خریدار ظاهر شود و دادههای خریدار متقلبانه ایجاد کند تا عملکرد اندروید را کاهش دهد، بار سنگین را برای افزایش هزینه فناوری تبلیغات برای اجرای حراجها یا اجرای مناقصه و غیره ایجاد کند.
کاهش
برخی اقدامات ذکر شده در بخش ملاحظات اندازه مانند پیکربندی بار خریدار حاوی فروشندگان مجاز و پیکربندی حراج فروشنده حاوی خریداران مجاز به حذف داده های غیرمنتظره در محموله کمک می کند.
سایر اقدامات در نظر گرفتن اندازه مانند اجازه دادن به SSPها برای تعیین اولویت خریدار، قرار دادن سهمیه هر خریدار در محموله تولید شده، و تعیین حداکثر اندازه برای هر بار مزایده نیز می تواند به کاهش تأثیر نفخ بار مخرب کمک کند. هدف از این اقدامات این است که به فنآوران تبلیغات اجازه دهد تعریف کنند که با کدام فناوری تبلیغاتی همکاری میکنند و محدودیتهای قابل قبولی برای باری که برای پردازش نیاز دارند تعیین کنند.
همانطور که قبلا ذکر شد، تمام اقدامات کاهشی معرفی شده برای ضد سوء استفاده و محدودیت های اندازه باید به ملاحظات حفظ حریم خصوصی پایبند باشند.
شناسایی موجودات مخرب
در حالی که این کاهشها از تولید adSelectionData برای مزایدههای سرور محافظت میکنند، اما به شناسایی موجودیتهای مخرب یا محافظت از پلتفرم در برابر سوء استفادههایی مانند ایجاد تعداد بیسابقه مخاطبان سفارشی از سوی خریدار کمک نمیکنند.
برای تأیید پایداری و سلامت پلت فرم، باید مکانیزمی برای شناسایی موجودات مخرب، شناسایی ناقلان سوء استفاده و شناسایی انگیزه حملات خاص پیدا کنیم. در نسخههای بعدی، توضیحدهندههایی را معرفی خواهیم کرد که بردارهای سوء استفاده احتمالی و محافظتهای موجود برای مقابله با آنها را شرح میدهند.