"الإعلانات المدمجة مع المحتوى" هي مواد عرض إعلانية يتم عرضها للمستخدمين من خلال مكوّنات واجهة مستخدِم متوافقة مع النظام الأساسي. ويتم عرضها باستخدام أنواع العروض نفسها التي تستخدمها حاليًا لإنشاء تصاميمك، ويمكن تنسيقها لتتطابق مع التصميم المرئي لتطبيقك.
عند تحميل "إعلان مدمج مع المحتوى"، يتلقّى تطبيقك عنصرًا إعلانيًا يحتوي على مواد العرض الخاصة به، ويكون التطبيق مسؤولاً عن عرضها بدلاً من GMA Next-Gen SDK
بشكل عام، يتضمّن عرض "الإعلانات المدمجة مع المحتوى" بنجاح جزأَين: تحميل إعلان باستخدام حزمة SDK ثم عرض محتوى الإعلان في تطبيقك.
توضّح هذه الصفحة كيفية استخدام حزمة SDK لتحميل الإعلانات المدمجة مع المحتوى.
المتطلبات الأساسية
- إعداد GMA Next-Gen SDK
- GMA Next-Gen SDK 0.6.0-alpha01 أو إصدار أحدث
الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام الإعلانات الاختبارية بدلاً من الإعلانات الفعلية. وقد يؤدي عدم إجراء ذلك إلى تعليق حسابك.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام رقم تعريف الوحدة الإعلانية الاختبارية المخصّص "للإعلانات المدمجة مع المحتوى":
| شكل الإعلان | رقم تعريف الوحدة الإعلانية التجريبية |
|---|---|
| مدمج مع المحتوى | /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>
راجِع دليل تسريع الأجهزة لمزيد من المعلومات حول خيارات التحكّم في ميزة "تسريع الأجهزة". يُرجى العِلم أنّه لا يمكن تفعيل ميزة "تسريع الأجهزة" لطرق عرض الإعلانات الفردية إذا كانت ميزة "تسريع الأجهزة" غير مفعّلة للنشاط، لذا يجب أن تكون ميزة "تسريع الأجهزة" مفعّلة للنشاط نفسه.
عرض إعلانك
بعد تحميل إعلان، كل ما عليك فعله هو عرضه للمستخدمين. انتقِل إلى دليل "الإعلانات المدمجة مع المحتوى (متقدم) guide" لمعرفة كيفية إجراء ذلك.
مثال
نزِّل التطبيق النموذجي الذي يوضّح كيفية استخدام GMA Next-Gen SDK وشغِّله .