نصبهای جدید اپلیکیشنهای موبایل معمولاً توسط تبلیغات نصب اپلیکیشن هدایت میشوند. برای به حداکثر رساندن بازگشت سرمایه (ROI) هزینه تبلیغات، بهتر است تبلیغی برای نصب اپلیکیشن روی دستگاههایی که از قبل همان اپلیکیشن روی آنها نصب شده است، نمایش ندهید. در این پیشنهاد، ما به این روش «فیلتر کردن تبلیغات نصب اپلیکیشن» میگوییم.
این پیشنهاد نشان میدهد که چگونه مخاطب محافظتشده در اندروید از فیلترینگ تبلیغات متنی، بهویژه فیلترینگ تبلیغات نصب برنامه، به روشی با حفظ حریم خصوصی پشتیبانی میکند. برای شرکت در این طرح، برنامهی روی دستگاه باید صریحاً فیلترینگ تبلیغات نصب برنامه را انتخاب کند. در طول انتخاب تبلیغ، نامزدهای تبلیغ بر اساس فهرست برنامههای نصبشده روی دستگاه که توسط فناوری تبلیغات شناخته شده است، فیلتر میشوند.
فهرست برنامههای نصبشده فقط در جریان انتخاب آگهی قابل مشاهده است و برای فیلتر کردن یک آگهی خاص بر اساس وجود یک برنامه در دستگاه، به پلتفرم سمت خریدار متکی است.
برای تنظیم فیلتر تبلیغات نصب برنامه، این مراحل را دنبال کنید:
مرحله ۱: ثبت اپلیکیشن برای فیلتر کردن تبلیغات نصب اپلیکیشن
برای انتخاب فیلتر تبلیغات نصب برنامه، توسعهدهنده برنامه، API ثبت برنامه registerForAdFiltering را از برنامه خود یا یک SDK فناوری تبلیغات، با لیستی از eTLD+1 های خریدار فناوری تبلیغات، فراخوانی میکند. این به خریداران موجود در لیست و فقط آن خریداران اجازه میدهد تا تبلیغات را بر اساس وضعیت نصب برنامه، چه مستقیماً و چه با استفاده از SDK فناوری تبلیغات خود، فیلتر کنند. ثبت نام به توسعهدهنده برنامه کنترل کاملی در مورد اینکه آیا برنامه آنها باید در فیلتر تبلیغات نصب برنامه شرکت کند یا خیر، میدهد. java void registerForAdFiltering(List<AdTechIdentifier> buyers);
مرحله ۲: درخواست فیلتر کردن تبلیغات نصب برنامه
وقتی یک تبلیغ برای پیشنهاد قیمت در نظر گرفته میشود، خریداران میتوانند بر اساس وضعیت نصب برنامه، آن تبلیغ را علامتگذاری کنند تا فیلتر شود. این کار با درج نام بسته برنامه در فراداده تبلیغ انجام میشود. درخواست فیلتر کردن تبلیغات نصب برنامه بخشی از دادههای تبلیغاتی است که به فرآیند حراج مخاطبان محافظتشده وارد میشود. این دادههای تبلیغاتی بسته به اینکه آیا این یک تبلیغ زمینهای یا بازاریابی مجدد است، به طور متفاوتی ایجاد میشوند.
- برای مورد استفاده از تبلیغات زمینهای، که مورد استفاده اصلی برای فیلتر کردن تبلیغات نصب اپلیکیشن است، اطلاعات فیلترینگ به عنوان بخشی از دادههای تبلیغاتی که خریداران میتوانند هنگام پاسخ به یک پیشنهاد زمینهای خارج از مخاطب محافظتشده به فروشندگان ارائه دهند، گنجانده شده است. مخاطب محافظتشده انتظار دارد اطلاعات فیلترینگ به عنوان بخشی از پاسخ زمینهای، درست مانند هر فراداده خاص تبلیغ دیگر، بازگردانده شود.
- برای مورد استفاده بازاریابی مجدد، Protected Audience انتظار دارد اطلاعات فیلترینگ در مخاطب سفارشی گنجانده شود. دو فرصت برای این گنجانده شدن وجود دارد: هنگام پیوستن به مخاطب و هنگام دریافت دادههای مخاطب جدید به عنوان بخشی از فرآیند بهروزرسانی مخاطب. درخواست فیلتر کردن تبلیغات نصب برنامه باید در شیء
AdDataJSON به شکل زیر باشد:json { "render_uri": "https://..", "metadata": {..}, "filters": { "app_install": { "app_package_names": ["app1.package", "app2.package"] } } }
مرحله ۳: فیلتر کردن تبلیغات نصب اپلیکیشن در حین انتخاب تبلیغات
در طول درخواست تبلیغ، خریدار میتواند چندین تبلیغ را به همراه اطلاعات فیلتر به فروشنده ارسال کند تا تبلیغات مربوط به برنامههای نصب شده فیلتر شوند. طرف فروشنده موظف است اطلاعات فیلتر را به عنوان بخشی از پیکربندی تابع selectAds در فیلد adData ارسال کند. اندروید انتظار دارد قالب پیامی مشابه این باشد.
AdData myAdData = new AdData.Builder()
.setRenderUri(Uri.parse("https://.."))
.setMetadata("{...}")
.setFilters(new AdFilters.Builder()
.setAppInstalledFilter(new AppInstalledFilter.Builder()
.setPackageNames(ImmutableList.of("app1.package", "app2.package"))
.build())
.build())
.build();
AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig.Builder()
.setSeller(AdTechIdentifier.fromString("example-ssp1.com"))
.setDecisionLogicUri(Uri.parse("https://..."))
...
.setContextualAds(ImmutableList.of(new ContextualAd.Builder()
.setBuyer(AdTechIdentifier.fromString("example.com"))
.setReportingUri("https://example.com/reporting")
.setBid(20)
// myAdData could be taken from the JSON defined earlier
.setAd(myAdData)
.build()))
.build();
// Invoke ad services API to initiate ad selection workflow.
selectAds(myAdSelectionConfig);
فیلتر کردن در رابط برنامهنویسی کاربردی (API) selectAds پردازش میشود. اگر برنامه مشخص شده در پیام با برنامه موجود در لیست نصب برنامههای خاص خریداران فناوری تبلیغات مطابقت داشته باشد، مخاطب محافظتشده، تبلیغ را فیلتر میکند. دو نتیجه ممکن است:
- برنامه در این لیست یافت نمیشود، به این معنی که نصب و اجرا نشده است.
- برنامه در این لیست یافت میشود، به این معنی که نصب و اجرا شده است. اگر Protected Audience تشخیص دهد که یک برنامه از قبل وجود دارد، آن تبلیغ از لیست تبلیغاتی که حراج برای اجرای
scoreAdsروی آن استفاده میکند، حذف میشود.
ملاحظاتی که هنگام استفاده از تبلیغات زمینهای باید در نظر گرفته شوند
با فیلتر کردن تبلیغات نصب برنامه، APIهای مخاطب محافظتشده از فیلتر کردن تبلیغات متنی پشتیبانی میکنند. در شرایطی که حراج ترکیبی از تبلیغات متنی و ریمارکتینگ است، یا کاملاً فقط از تبلیغات متنی تشکیل شده است، چند نکته مهم است که باید مشخص شود.
- وقتی یک مزایده
selectAdاجرا میشود، خریدار میتواند لیستی از اشیاءContextualAdرا ارسال کند. این اشیاء شامل eTLD+1 خریدار تبلیغ، پیشنهاد قیمت برای تبلیغ، یک URL که به منطق گزارشدهی تبلیغ اشاره میکند، وAdDataحاوی URL محتوای واقعی تبلیغ و یک امضای تأیید متعلق به خریدار است (برای جزئیات بیشتر به امضای تبلیغات متنی مراجعه کنید. توجه داشته باشید که فرمتAdDataهم در تبلیغات متنی و هم در تبلیغات بازاریابی مجدد استفاده میشود. - در ابتدای فرآیند حراج، تبلیغات متنی و ریمارکتینگ با استفاده از مجموعهای از نامهای بسته که در
AdData.adFilters.appInstallFilters.packageNamesمشخص شدهاند، فیلتر میشوند. سپس، مقادیر پیشنهادی برای هر تبلیغ ریمارکتینگ تعیین میشود و هر دو تبلیغ ریمارکتینگ و متنی با استفاده از تابعscoreAdsارائه شده امتیازدهی میشوند. تبلیغی که بالاترین امتیاز را داشته باشد برنده میشود. توجه داشته باشید که این فرآیند حتی اگر هیچ تبلیغ ریمارکتینگی وجود نداشته باشد، کار میکند. اگر یک تبلیغ زمینهای در مزایده برنده شود و گزارش نمایش توسط برنامه فعال شود، Protected Audience یک تابع JS به نام
reportWin()را از URL گزارش موجود در دادههای تبلیغ زمینهای دانلود و اجرا میکند. این مشابه نحوه گزارشدهی برای یک تبلیغ بازاریابی مجدد است که در مزایده برنده میشود.نمونه تابع گزارشدهی جاوا اسکریپت:
function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer, contextual_signals) { let reporting_address = 'https://reporting.example.com'; return {'status': 0, 'results': {'reporting_uri': reporting_address + '?some_signal=' + per_buyer_signals.some_signal} }; }
امضای تبلیغات متنی
تبلیغات زمینهای که شامل فیلتر نصب برنامه هستند باید توسط خریدار امضا شوند. پلتفرم از این امضا برای تأیید فناوری تبلیغاتی که تبلیغات را ارائه داده و اینکه کدام فیلترهای نصب برنامه فناوری تبلیغاتی را باید روی تبلیغات اعمال کند، استفاده میکند. این کار برای جلوگیری از سوءاستفاده یک فناوری تبلیغاتی مخرب از هویت یک فناوری تبلیغاتی دیگر برای بهرهبرداری از ثبت فیلتر نصب برنامه آن فناوری تبلیغاتی انجام میشود.
Privacy Sandbox این کلیدها را از نقطه پایانی فناوری تبلیغات ارائه شده در هنگام ثبت نام دریافت خواهد کرد. ما به عنوان بهترین روش، توصیه میکنیم که کلیدها مرتباً بهروزرسانی شوند، اما حداکثر هر 6 ماه یکبار.
Privacy Sandbox از تکنسینهای تبلیغات میخواهد که در طول فرآیند ثبتنام، در دسترس بودن نقطه پایانی ارائه شده توسط تکنسین تبلیغات را تأیید کنند. برای جزئیات بیشتر در مورد اقدامات مورد نیاز تکنسینهای تبلیغات فعلی و جدید، به دستورالعملهای ثبتنام مراجعه کنید.
راهنمای توسعهدهندگان با دستورالعملهای دقیقتر برای پیادهسازی در آینده نزدیک منتشر خواهد شد.
برای شما توصیه میشود
- توجه: متن لینک زمانی نمایش داده میشود که جاوا اسکریپت غیرفعال باشد.
- راهنمای توسعهدهندگان اندروید برای API مخاطبان محافظتشده
- یادداشتهای انتشار
- پشتیبانی از هدفگیری سفارشی مخاطبان با استفاده از API مخاطب محافظتشده {% verbatim %}