الإعلانات المدمجة مع المحتوى هي مواد عرض إعلانية يتم تقديمها للمستخدمين من خلال عناصر واجهة مستخدم مدمجة في المنصة. ويتم عرضها باستخدام الفئات نفسها التي تستخدمها حاليًا في لوحات العرض، ويمكن تنسيقها لتتطابق مع التصميم المرئي لتطبيقك.
عند تحميل إعلان مدمج مع المحتوى، يتلقّى تطبيقك عنصر إعلان يحتوي على مواد العرض الخاصة به، ثم يكون التطبيق هو المسؤول عن عرضها، وليس حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة.
بشكل عام، يتضمّن عرض الإعلانات المدمجة مع المحتوى بنجاح جزأين: تحميل إعلان باستخدام حزمة SDK ثم عرض محتوى الإعلان في تطبيقك.
توضّح هذه الصفحة كيفية استخدام حزمة SDK لتحميل الإعلانات المُدمَجة مع المحتوى.
المتطلبات الأساسية
- أكمِل دليل البدء.
اختبار الإعلانات دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام إعلانات اختبارية بدلاً من الإعلانات المباشرة الخاصة بالمنتج.
أسهل طريقة لتحميل الإعلانات التجريبية هي استخدام رقم تعريف وحدة الإعلانات التجريبية المخصّص للإعلانات المدمجة مع المحتوى على iOS:
ca-app-pub-3940256099942544/3986624511
تم إعداد هذا المعرّف خصيصًا لعرض إعلانات اختبارية لكل طلب، ويمكنك استخدامه في تطبيقاتك أثناء الترميز والاختبار وتصحيح الأخطاء. ما عليك سوى التأكّد من استبداله برقم تعريف الوحدة الإعلانية الخاص بك قبل نشر تطبيقك.
للحصول على تفاصيل حول الإعلانات الاختبارية في حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"، يُرجى الاطّلاع على مقالة تفعيل الإعلانات الاختبارية.
تحميل الإعلانات
يتم تحميل الإعلانات المدمجة مع المحتوى باستخدام الفئة
GADAdLoader، التي ترسل رسائل إلى عناصرها الفرعية وفقًا للبروتوكول
GADAdLoaderDelegate.
إعداد أداة تحميل الإعلانات
قبل أن تتمكّن من تحميل إعلان، عليك تهيئة أداة تحميل الإعلانات.
يوضّح الرمز التالي كيفية تهيئة GADAdLoader:
Swift
استبدِل nativeAdUnitID برقم تعريف وحدتك الإعلانية.
Objective-C
استبدِل kNativeAdUnitID برقم تعريف وحدتك الإعلانية.
ستحتاج إلى رقم تعريف وحدة إعلانية (يمكنك استخدام رقم التعريف التجريبي)، وثوابت لتمريرها في مصفوفة adTypes لتحديد أشكال الإعلانات المدمجة مع المحتوى التي تريد طلبها، وأي خيارات تريد ضبطها في المَعلمة options. يمكن العثور على قائمة القيم المحتملة للمعلمة options في صفحة "ضبط خيارات الإعلانات المدمجة".
يجب أن يحتوي الصفيف adTypes على هذه القيمة الثابتة :
تنفيذ مفوّض أداة تحميل الإعلانات
يجب أن ينفّذ وكيل أداة تحميل الإعلانات البروتوكولات الخاصة بنوع إعلانك.
بالنسبة إلى الإعلانات المدمجة مع المحتوى، يتضمّن بروتوكول GADNativeAdLoaderDelegate رسالة يتم إرسالها إلى عنصر التحكّم عند تحميل إعلان مدمج مع المحتوى.
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// To be notified of events related to the native ad interactions, set the delegate property
// of the native ad
nativeAd.delegate = self
// TODO: Display the native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// To be notified of events related to the native ad interactions, set the delegate property
// of the native ad
nativeAd.delegate = self;
// TODO: Display the native ad.
}
طلب إدراج الإعلانات
بعد تهيئة GADAdLoader، استدعِ الطريقة loadRequest: لطلب عرض إعلان:
Swift
adLoader.load(Request())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
يقبل الإجراء
loadRequest:
في
GADAdLoader
عناصر
GADRequest
نفسها التي تقبلها البانرات والإعلانات البينية. يمكنك استخدام عناصر الطلب لإضافة معلومات الاستهداف، تمامًا كما تفعل مع الأنواع الأخرى من الإعلانات.
تحميل إعلانات متعدّدة (اختياري)
لتحميل إعلانات متعدّدة في طلب واحد، اضبط العنصر
GADMultipleAdsAdLoaderOptions
عند بدء GADAdLoader.
Swift
Objective-C
يبلغ الحد الأقصى لعدد الإعلانات لكل طلب خمسة إعلانات، ولا نضمن أن تعرض حزمة SDK العدد المطلوب بالضبط من الإعلانات.
ستكون جميع إعلانات Google المعروضة مختلفة عن بعضها البعض، ولكن لا يمكن ضمان أن تكون الإعلانات من المساحة الإعلانية المحجوزة أو المشترين من الأطراف الثالثة فريدة.
لا تستخدِم الفئة GADMultipleAdsAdLoaderOptions إذا كنت تستخدم ميزة التوسّط، لأنّ طلبات الإعلانات المدمجة مع المحتوى المتعدّدة لا تعمل مع أرقام تعريف الوحدات الإعلانية التي تم ضبطها لاستخدام ميزة التوسّط.
تحديد وقت انتهاء التحميل
بعد أن يطلب أحد التطبيقات loadRequest:، يمكنه الحصول على نتائج الطلب باستخدام طلبات إلى:
-
adLoader:didFailToReceiveAdWithError:فيGADAdLoaderDelegate -
adLoader:didReceiveNativeAd:فيGADNativeAdLoaderDelegate
سيؤدي طلب عرض إعلان واحد إلى إجراء طلب واحد لإحدى هاتين الطريقتين.
سيؤدي طلب عرض إعلانات متعدّدة إلى تنفيذ عملية ردّ واحدة على الأقل على الطرق المذكورة أعلاه، ولكن ليس أكثر من الحد الأقصى لعدد الإعلانات المطلوبة.
بالإضافة إلى ذلك، يوفّر GADAdLoaderDelegate ميزة adLoaderDidFinishLoading
معاودة الاتصال. تشير طريقة التفويض هذه إلى أنّ أداة تحميل الإعلانات قد انتهت من تحميل الإعلانات، ولن يتم تسجيل أي إعلانات أو أخطاء أخرى للطلب. في ما يلي مثال على كيفية استخدامها عند تحميل عدّة إعلانات مدمجة مع المحتوى في وقت واحد:
Swift
func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
// The adLoader has finished loading ads.
}
Objective-C
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
// The adLoader has finished loading ads.
}
التعامل مع الطلبات التي تعذّر تنفيذها
توسّع البروتوكولات بروتوكول GADAdLoaderDelegate الذي يحدّد رسالة يتم إرسالها عند تعذّر تحميل الإعلانات.
Swift
func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
// The adLoader failed to receive an ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
// The adLoader failed to receive an ad.
}
تلقّي إشعارات بشأن أحداث "الإعلانات المدمجة مع المحتوى"
لتلقّي إشعارات بشأن الأحداث المتعلّقة بتفاعلات الإعلان المدمج مع المحتوى، اضبط السمة الخاصة بالمفوّض في الإعلان المدمج مع المحتوى:
Swift
// Set the delegate before making an ad request.
adLoader.delegate = self
Objective-C
// Set the delegate before making an ad request.
self.adLoader.delegate = self;
بعد ذلك، نفِّذ
GADNativeAdDelegate
لتلقّي عمليات استدعاء الوظائف التالية:
Swift
func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
أفضل الممارسات
اتّبِع هذه القواعد عند تحميل الإعلانات.
يجب أن تخزِّن التطبيقات التي تستخدم الإعلانات المُدمَجة مع المحتوى في قائمة، قائمة الإعلانات مؤقتًا مسبقًا.
عند التخزين المؤقت المسبق للإعلانات، امحُ ذاكرة التخزين المؤقت وأعِد التحميل بعد ساعة واحدة.
لا تتصل بالرقم
loadRequest:مرة أخرى علىGADAdLoaderإلى أن ينتهي تحميل الطلب السابق، كما هو موضّح فيadLoaderDidFinishLoading:.احصر تخزين الإعلانات المدمجة في ذاكرة التخزين المؤقت على ما هو مطلوب فقط. على سبيل المثال، عند التخزين المؤقت المسبق، لا يتم تخزين سوى الإعلانات التي تظهر على الشاشة مباشرةً. تستهلك الإعلانات المدمجة مع المحتوى مساحة كبيرة من الذاكرة، ويؤدي تخزينها مؤقتًا بدون إزالتها إلى استخدام مفرط للذاكرة.
إيقاف عرض الإعلانات المدمجة مع المحتوى عندما لا تكون قيد الاستخدام
عرض إعلانك
بعد تحميل إعلان، كل ما عليك فعله هو عرضه للمستخدمين. يمكنك الانتقال إلى دليل الإعلانات المتقدّمة المدمجة لمعرفة كيفية إجراء ذلك.