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

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

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

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

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

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

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

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

اطلاعیه در مورد وضعیت آگهی

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

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

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

گواهینامه ها

گواهی‌های زیر برای SDK در دسترس خواهد بود تا اطمینان بیشتری در مورد ارائه آگهی دریافت کنید:

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

سوالات باز

ما از نظرات خود در مورد نکات زیر دعوت می کنیم:

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