تحميل إعلان مدمج مع المحتوى

اختيار النظام الأساسي: Android iOS Flutter Unity Android (الإصدار القديم)

"الإعلانات المدمجة مع المحتوى" هي مواد عرض إعلانية يتم عرضها للمستخدمين من خلال مكوّنات واجهة مستخدِم متوافقة مع النظام الأساسي. ويتم عرضها باستخدام أنواع العروض نفسها التي تستخدمونها حاليًا لإنشاء تصاميمكم، ويمكن تنسيقها لتتطابق مع التصميم المرئي لتطبيقكم.

عند تحميل "إعلان مدمج مع المحتوى"، يتلقّى تطبيقكم عنصرًا إعلانيًا يحتوي على مواد عرضه، ثم يكون التطبيق مسؤولاً عن عرضها بدلاً من GMA Next-Gen SDK

بشكل عام، يتضمّن عرض "الإعلانات المدمجة مع المحتوى" بنجاح جزأين: تحميل إعلان باستخدام حزمة SDK ثم عرض محتوى الإعلان في تطبيقكم.

توضّح هذه الصفحة كيفية استخدام حزمة SDK لتحميل الإعلانات المدمجة مع المحتوى.

المتطلبات الأساسية

الاختبار دائمًا باستخدام الإعلانات الاختبارية

عند إنشاء تطبيقاتكم واختبارها، احرصوا على استخدام الإعلانات الاختبارية بدلاً من الإعلانات الفعلية. وقد يؤدي عدم إجراء ذلك إلى تعليق حسابكم.

أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام رقم تعريف الوحدة الإعلانية الاختبارية المخصّص "للإعلانات المدمجة مع المحتوى":

شكل الإعلان رقم تعريف الوحدة الإعلانية النموذجية
مدمج مع المحتوى /21775744923/example/native
فيديو محلي /21775744923/example/native-video

تحميل إعلان

لتحميل "إعلان مدمج مع المحتوى"، استخدِم NativeAdLoader.load() التي تأخذ NativeAdRequest وNativeAdLoaderCallback.

import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest

class NativeFragment : Fragment() {

  private var nativeAd: NativeAd? = null

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    loadAd()
  }

  private fun loadAd() {
    // Build an ad request with native ad options to customize the ad.
    val adRequest = NativeAdRequest
      .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
      .build()

    val adCallback =
      object : NativeAdLoaderCallback {
        override fun onNativeAdLoaded(nativeAd: NativeAd) {
          // Called when a native ad has loaded.
        }
        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Called when a native ad has failed to load.
        }
      }

    // Load the native ad with our request and callback.
    NativeAdLoader.load(adRequest, adCallback)
  }

  companion object {
    // Sample native ad unit ID.
    const val AD_UNIT_ID = "/21775744923/example/native"
  }
}

ضبط معاودة الاتصال بحدث "الإعلان المدمج مع المحتوى"

عند معالجة onNativeAdLoaded، اضبطوا NativeAd باستخدام NativeAdEventCallback لتعريف الدوال لتلقّي أحداث يتم في مراحل النشاط "الإعلان المدمج مع المحتوى":

  nativeAd.adEventCallback =
    object : NativeAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // Native ad showed full screen content.
      }
      override fun onAdDismissedFullScreenContent() {
        // Native ad dismissed full screen content.
      }
      override fun onAdFailedToShowFullScreenContent {
        // Native ad failed to show full screen content.
      }
      override fun onAdImpression() {
        // Native ad recorded an impression.
      }
      override fun onAdClicked() {
        // Native ad recorded a click.
      }
    }

اختياري: تحميل إعلانات متعدّدة

لتحميل إعلانات متعدّدة، استخدِموا load() مع المَعلمة الاختيارية numberOfAds. الحد الأقصى للقيمة التي يمكنكم ضبطها هو 5، ما يمثّل عدد الإعلانات. قد لا تعرض GMA Next-Gen SDK العدد الدقيق للإعلانات التي طلبتموها.

private fun loadAd() {
  // Build an ad request with native ad options to customize the ad.
  val adRequest = NativeAdRequest
    .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
    .build()

  val adCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Called when a native ad has loaded.
      }
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Called when a native ad has failed to load.
      }
      override fun onAdLoadingCompleted() {
        // Called when all native ads have loaded.
      }
    }

  // Load the native ad with our request and callback.
  NativeAdLoader.load(adRequest, 3, adCallback)
}

الإعلانات التي تعرضها GMA Next-Gen SDK فريدة، على الرغم من أنّ الإعلانات من المستودع المحجوز أو المشترين الخارجيين قد لا تكون فريدة.

إذا كنتم تستخدمون التوسّط، لا تستخدموا طريقة load(). لا تعمل طلبات عرض "الإعلانات المدمجة مع المحتوى" المتعدّدة لأرقام تعريف الوحدات الإعلانية التي تم ضبطها للتوسّط.

أفضل الممارسات

اتّبِعوا هذه القواعد عند تحميل الإعلانات.

  • يجب أن تخزّن التطبيقات التي تستخدم "الإعلانات المدمجة مع المحتوى" في قائمة مؤقتًا قائمة الإعلانات.

  • عند التخزين المؤقت للإعلانات، محوا ذاكرة التخزين المؤقت وأعيدوا التحميل بعد ساعة واحدة.

  • احصروا التخزين المؤقت "للإعلانات المدمجة مع المحتوى" على ما هو مطلوب فقط. على سبيل المثال، عند التخزين المؤقت، خزِّنوا مؤقتًا الإعلانات التي تظهر على الشاشة على الفور فقط. تستهلك "الإعلانات المدمجة مع المحتوى" مساحة كبيرة من الذاكرة، ويؤدي تخزينها مؤقتًا بدون إزالتها إلى استخدام مفرط للذاكرة.

  • أزيلوا "الإعلانات المدمجة مع المحتوى" عندما لا تعودون بحاجة إليها.

تسريع الأجهزة لإعلانات الفيديو

لكي تظهر إعلانات الفيديو بنجاح في طرق عرض "الإعلانات المدمجة مع المحتوى"، يجب تفعيل ميزة "تسريع الفيديو على الجهاز".

تكون ميزة تسريع الأجهزة مفعّلة تلقائيًا، ولكن قد تختار بعض التطبيقات إيقافها. إذا كان هذا ينطبق على تطبيقكم، ننصحكم بتفعيل ميزة "تسريع الفيديو على الجهاز" لفئات الأنشطة التي تستخدم الإعلانات.

تفعيل ميزة تسريع الأجهزة

إذا كان تطبيقكم لا يعمل بشكل صحيح مع تفعيل ميزة تسريع الأجهزة على مستوى العالم، يمكنكم التحكّم فيها للأنشطة الفردية أيضًا. لتفعيل ميزة تسريع الأجهزة أو إيقافها، استخدِموا السمة android:hardwareAcceleratedلعنصرَي <application> و <activity> في ملف AndroidManifest.xml. يُفعِّل المثال التالي ميزة "تسريع الفيديو على الجهاز" للتطبيق بأكمله، ولكنّه يوقفها لنشاط واحد:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

راجِعوا دليل تسريع الأجهزة لمزيد من المعلومات حول خيارات التحكّم في ميزة "تسريع الأجهزة". يُرجى العِلم أنّه لا يمكن تفعيل ميزة "تسريع الأجهزة" لطرق عرض الإعلانات الفردية إذا كانت ميزة "تسريع الأجهزة" غير مفعّلة للنشاط، لذا يجب أن تكون ميزة "تسريع الأجهزة" مفعّلة للنشاط نفسه.

عرض إعلانكم

بعد تحميل إعلان، كل ما تبقّى هو عرضه للمستخدمين. لمزيد من المعلومات، راجِعوا مقالتَي "الإعلانات المدمجة مع المحتوى (متقدم)" أو "الإعلانات المدمجة مع المحتوى بملء الشاشة".

مثال

نزِّلوا التطبيق النموذجي الذي يوضّح كيفية استخدام GMA Next-Gen SDK وشغِّلوه .