تبلیغات بومی در اندروید

قالب تبلیغات بومی به ناشر اجازه می‌دهد تا تبلیغی را که به کاربر نشان داده می‌شود، سفارشی‌سازی کند. پس از دریافت تبلیغ از SDK، ناشران می‌توانند طرح‌بندی و ظاهر تبلیغ را تغییر دهند تا با رابط کاربری برنامه بهتر هماهنگ شوند: اضافه کردن فیلتر رنگ، تغییر تایپوگرافی و اضافه کردن پوشش‌های سفارشی. برای بهینه‌سازی عملکرد یا تجربه کاربری تبلیغات بومی، ناشران اغلب محدودیت‌های نمایش را تعیین می‌کنند یا پخش ویدیو را به SDK منتقل می‌کنند. در نهایت، ناشران می‌توانند شنونده‌های کلیک تبلیغ را برای نظارت بر رویدادهای اضافی مانند کشیدن انگشت به سمت بالا سفارشی‌سازی کنند.

فرمت تبلیغات بومی (Native Ads) در مقایسه با نمایش سایر فرمت‌های تبلیغاتی، به سطح بالاتری از اعتماد به ناشر نیاز دارد. SDKها معمولاً می‌خواهند نقض سیاست‌ها را تشخیص دهند و تأیید کنند که محتوای تبلیغ داده شده به ناشر به کاربر نشان داده شده است.

پشتیبانی از بنر تبلیغاتی در زمان اجرای SDK از طریق رابط برنامه‌نویسی SurfaceControlViewHost انجام می‌شود. این به SDK اجازه می‌دهد تا عناصر رابط کاربری را از فرآیند زمان اجرای SDK بدون دستکاری توسط برنامه کلاینت نمایش دهد. از حالت‌های SurfaceView Z above یا Z below برای تعیین اینکه آیا سطحی که رابط کاربری SDK در آن رندر می‌شود، بالاتر یا پایین‌تر از پنجره برنامه کلاینت است، استفاده کنید. هنگامی که یک تبلیغ با استفاده از حالت Z above رندر می‌شود، SDK MotionEvents از تعامل کاربر دریافت می‌کند، اما نماهای برنامه کلاینت روی تبلیغ قابل مشاهده نیستند. هنگامی که یک تبلیغ در حالت Z below رندر می‌شود، برنامه نماهای خود را در بالای تبلیغ نشان می‌دهد، اما MotionEvents از تعامل کاربر روی تبلیغ به برنامه می‌رود، نه به SDK.

کتابخانه‌های جت‌پک privacysandbox.ui می‌توانند توسط SDK و ناشر برای ایجاد و نگهداری یک جلسه رابط کاربری استفاده شوند.

ظرف تبلیغاتی متعلق به برنامه

ما نمونه اولیه‌ای از این روش را ارائه دادیم که در آن SDK مالکیت تمام نماهای شامل یک تبلیغ بومی (از جمله پوشش‌های برنامه) را در اختیار داشت و دریافتیم که اگرچه امکان‌پذیر است، اما محدودیت‌هایی را بر رابط کاربری اعمال می‌کند و پیچیدگی ادغام با SDK را افزایش می‌دهد. یک رویکرد عملی‌تر این است که به برنامه اجازه دهیم مالکیت اکثر نماها را در اختیار داشته باشد. SDK همچنان می‌تواند با استفاده از SandboxedSdkView از privacysandbox.ui ، برخی از رابط‌های کاربری مانند نمای تبلیغ را خود نمایش دهد. این رویکرد بیشترین انعطاف‌پذیری را در نحوه پشتیبانی از موارد استفاده موجود و آینده برای این قالب تبلیغ ارائه می‌دهد: با این رویکرد، توسعه‌دهنده برنامه می‌تواند اجزای تبلیغ را جابجا کند و در صورت نیاز آنها را سبک‌بندی کند، در حالی که SDK در صورت تمایل، مالکیت پخش‌کننده ویدیو را حفظ می‌کند و دسترسی به کنترل‌های رسانه را حفظ می‌کند.

نموداری که نحوه‌ی جریان داده‌ها بین ناشر و SDK را نشان می‌دهد.
جریان کنترل تبلیغات بومی پیشنهادی.

اعلان‌ها درباره وضعیت آگهی

SDK های مختلف به ویژگی‌های مختلف نماهای تبلیغاتی برای تشخیص تقلب و نقض سیاست‌ها نگاه می‌کنند. ما می‌خواهیم از این امر پشتیبانی کنیم، بدون اینکه تعیین کنیم از کدام ویژگی‌ها استفاده شود، یا اینکه به گلوگاه SDK برای تغییر مجموعه ویژگی‌های مورد جستجو تبدیل شویم. ما پیشنهاد می‌کنیم با استفاده از NativeAdContainerInfo ، نمایشی از کانتینر تبلیغاتی و نماهای فرزندان آن ایجاد کنیم. این یک شیء قابل تقسیم با گیرنده‌های مختلف خواهد بود که اطلاعات محدود به کانتینر تبلیغاتی و محتویات آن را افشا می‌کنند، جایی که چنین اطلاعاتی حریم خصوصی را حفظ کرده و محاسبه آن پرهزینه نیست . SDK قادر خواهد بود دسته‌های سیگنال‌های موجود در NativeAdContainerInfo را انتخاب کند. SDK هر زمان که وضعیت تبلیغ به روش‌های مرتبط با SDK تغییر کند، مانند رویدادهای قابل پرداخت مانند نمایش تبلیغ و کلیک‌های کاربر، این شیء را دریافت می‌کند.

علاوه بر این، ناشر قادر خواهد بود تگ‌های مخصوص نمایش (رشته‌ها) را به هر فرزند اضافه شده به NativeAdContainer اضافه کند، که می‌تواند برای اطلاع‌رسانی به SDK در مورد اینکه هر فرزند مربوط به کدام دارایی تبلیغاتی است، استفاده شود.

وقتی کاربر روی نماهای متعلق به SDK کلیک می‌کند، کتابخانه رابط کاربری MotionEvent را به همراه MotionEvent اصلی، به همراه ویژگی‌های ترجمه شده به فضای مختصات SDK به SDK ارسال می‌کند. برای نسخه‌های آینده اندروید، ما در حال بررسی روش‌هایی هستیم که به برنامه کلاینت اجازه می‌دهد تا فوکوس لمسی را برای همه حرکات کاربر روی بخش‌های متعلق به SDK این تبلیغ بومی که توسط SDK مدیریت می‌شوند، منتقل کند.

گواهی‌ها

گواهی‌های زیر برای SDK در دسترس خواهد بود تا اطمینان بیشتری در مورد ارائه تبلیغات حاصل شود:

  1. تأیید صحت دستگاه : از APIهای پلتفرم مانند تأیید کلید برای تعیین صحت دستگاه استفاده کنید.
  2. هویت APK : از APIهای SdkSandbox مانند SdkSandboxController.getClientPackageName و APIهای PackageManager مانند requestChecksum برای تأیید هویت APK استفاده کنید.
  3. VerifiedMotionEvents : در نسخه‌های آینده اندروید، ما در حال بررسی این هستیم که به برنامه کلاینت این امکان را بدهیم که فوکوس لمسی را برای همه حرکات کاربر در بخش‌های متعلق به SDK این تبلیغ بومی که توسط SDK مدیریت می‌شوند، منتقل کند. MotionEvents می‌توان با استفاده از APIهای سیستم به VerifiedMotionEvents تبدیل کرد. SDK می‌تواند در صورت تمایل، رابط کاربری خود را در پاسخ به تعامل کاربر نشان دهد.

سوالات باز

  1. آیا ترجیح داده می‌شود که SDK خودش VerifiedMotionEvents تولید کند، یا اینکه کتابخانه رابط کاربری ارائه دهنده این کار را برای SDK انجام دهد؟
  2. آیا برای SDK ترجیح داده می‌شود که به ناشر اجازه دهد مالک نماهای حاوی ویدیو باشد، یا اینکه خودش مالک این نماها باشد؟
  3. چه ویژگی‌هایی را می‌خواهید در شیء AppOwnedAdContainerInfo لحاظ کنید؟
  4. انتظار دارید چند تبلیغ یا کامپوننت تبلیغاتی متعلق به SDK به طور همزمان روی صفحه نمایش داده شود؟