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

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

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

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

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

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

تتوفّر نماذج للغتي Java وKotlin.

يمكنك أيضًا الاطّلاع على بعض قصص نجاح العملاء: دراسة الحالة 1، دراسة الحالة 2.

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

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

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

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

شكل الإعلان نموذج لرقم تعريف الوحدة الإعلانية
مدمج مع المحتوى ca-app-pub-3940256099942544/2247696110
فيديو محلي ca-app-pub-3940256099942544/1044960115

تحميل إعلان

لتحميل إعلان مدمج مع المحتوى، استخدِم طريقة 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 = "ca-app-pub-3940256099942544/2247696110"
  }
}

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

عند التعامل مع 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 وشغِّله.