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

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

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

عند تحميل إعلان مدمج مع المحتوى، يتلقّى تطبيقك عنصر إعلان يتضمّن مواد العرض الخاصة به، ويكون التطبيق هو المسؤول عن عرضها، وليس Google Mobile Ads SDK.

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

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

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

قبل المتابعة، عليك إعداد Google Mobile Ads SDK.

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

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

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

ca-app-pub-3940256099942544/3986624511

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

لمعرفة تفاصيل عن الإعلانات الاختبارية في Google Mobile Ads SDK، يُرجى الاطّلاع على مقالة تفعيل الإعلانات الاختبارية.

تحميل الإعلانات

يتم تحميل "الإعلانات المدمجة مع المحتوى" باستخدام الفئة GADAdLoader التي ترسل رسائل إلى المفوَّضين وفقًا لبروتوكول GADAdLoaderDelegate.

إعداد أداة تحميل الإعلانات

قبل أن تتمكّن من تحميل إعلان، عليك إعداد أداة تحميل الإعلانات. يوضّح الرمز التالي كيفية إعداد GADAdLoader:

Swift

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  // To receive native ads, the ad loader's delegate must
  // conform to the NativeAdLoaderDelegate protocol.
  adTypes: [.native],
  // Use nil for default options.
  options: nil)
// Set the delegate before making an ad request.
adLoader.delegate = self

استبدِل nativeAdUnitID برقم تعريف وحدتك الإعلانية.

Objective-C

self.adLoader =
    [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                       // The UIViewController parameter is optional.
                       rootViewController:self
                                  // To receive native ads, the ad loader's delegate must
                                  // conform to the NativeAdLoaderDelegate protocol.
                                  adTypes:@[ GADAdLoaderAdTypeNative ]
                                  // Use nil for default options.
                                  options:nil];
// Set the delegate before making an ad request.
self.adLoader.delegate = self;

استبدِل kNativeAdUnitID برقم تعريف وحدتك الإعلانية.

ستحتاج إلى معرّف وحدة إعلانية (يمكنك استخدام المعرّف الاختباري)، وثوابت لتمريرها في مصفوفة adTypes لتحديد أشكال الإعلانات المدمجة مع المحتوى التي تريد طلبها، وأي خيارات تريد ضبطها في المَعلمة options. يمكن العثور على قائمة القيم المحتملة للمَعلمة options في صفحة إعداد خيارات الإعلانات المدمجة مع المحتوى.

يجب أن تحتوي مصفوفة adTypes على هذا الثابت :

تنفيذ المفوَّض الخاص بأداة تحميل الإعلانات

يجب أن ينفّذ مفوَّض أداة تحميل الإعلانات بروتوكولات خاصة بنوع إعلانك. بالنسبة إلى "الإعلانات المدمجة مع المحتوى"، يتضمّن بروتوكول GADNativeAdLoaderDelegate رسالة يتم إرسالها إلى المفوَّض عند تحميل "إعلان مدمج مع المحتوى".

Swift

func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self

  // TODO: Display the native ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
  // Set the delegate to receive notifications for interactions with 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

let multipleAdOptions = MultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5
adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  adTypes: [.native],
  options: [multipleAdOptions])

Objective-C

GADMultipleAdsAdLoaderOptions *multipleAdOptions = [[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdOptions.numberOfAds = 5;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                                   // The UIViewController parameter is optional.
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ multipleAdOptions ]];

يبلغ الحد الأقصى لعدد الإعلانات لكل طلب عرض إعلان خمسة إعلانات، وليس مضمونًا أن تعرض حزمة تطوير البرامج (SDK) العدد الدقيق للإعلانات المطلوبة.

ستكون جميع إعلانات Google المعروضة مختلفة عن بعضها البعض، مع العلم أنّه لا يمكن ضمان أن تكون الإعلانات من المساحة الإعلانية المحجوزة أو المشترين من جهات خارجية فريدة.

لا تستخدِم الفئة GADMultipleAdsAdLoaderOptions إذا كنت تستخدم التوسّط، لأنّ طلبات الإعلانات المدمجة مع المحتوى المتعدّدة لا تعمل مع معرّفات الوحدات الإعلانية التي تم إعدادها للتوسّط.

تحديد وقت انتهاء التحميل

بعد أن يطلب أحد التطبيقات loadRequest:، يمكنه الحصول على نتائج الطلب باستخدام الطلبات إلى:

سيؤدي طلب إعلان واحد إلى استدعاء واحد لإحدى هذه الطرق.

سيؤدي طلب عرض إعلانات متعددة إلى استدعاء واحد على الأقل للطرق المذكورة أعلاه، ولكن ليس أكثر من الحد الأقصى لعدد الإعلانات المطلوبة.

بالإضافة إلى ذلك، يوفّر 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

nativeAd.delegate = self

Objective-C

nativeAd.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:.

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

  • يجب إتلاف "الإعلانات المدمجة مع المحتوى" عندما لا تكون قيد الاستخدام.

عرض إعلانك

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