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

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

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

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

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

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

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

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

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

/6499/example/native

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

لمزيد من المعلومات عن آلية عمل الإعلانات الاختبارية لحزمة "SDK لإعلانات Google على الأجهزة الجوّالة"، اطّلِع على اختبار الإعلانات.

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

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

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

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

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

Swift

adLoader = GADAdLoader(adUnitID: "/6499/example/native",
    rootViewController: self,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/native"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

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

يجب أن تحتوي المصفوفة adTypes على واحد أو أكثر من الثوابت التالية :

تنفيذ تفويض أداة تحميل الإعلانات

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

Swift

public func adLoader(_ adLoader: GADAdLoader,
            didReceive nativeAd: GADNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd *)nativeAd;

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

Swift

func adLoader(_ adLoader: GADAdLoader,
  Receive customNativeAd: GADCustomNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;

طلب إدراج الإعلانات

بعد إعداد GADAdLoader، يمكنك استدعاء طريقة loadRequest: لطلب إعلان:

Swift

adLoader.load(GAMRequest())

Objective-C

[self.adLoader loadRequest:[GAMRequest request]];

تقبل الطريقة loadRequest: في GADAdLoader كائنات GAMRequest نفسها لإعلانات البانر والإعلانات البينية. يمكنك استخدام كائنات الطلب لإضافة معلومات الاستهداف، تمامًا كما تفعل مع أنواع الإعلانات الأخرى.

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

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

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

معالجة الطلبات التي تعذّر تنفيذها

تعمل البروتوكولات أعلاه على توسيع بروتوكول GADAdLoaderDelegate الذي يحدد الرسالة التي يتم إرسالها عند تعذُّر تحميل الإعلانات.

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didFailToReceiveAdWithError error: NSError)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didFailToReceiveAdWithError:(NSError *)error;

تلقّي إشعارات بشأن أحداث الإعلانات المدمجة مع المحتوى

لتلقّي إشعارات بالأحداث ذات الصلة بتفاعلات الإعلانات المدمجة مع المحتوى، يجب ضبط الموقع المفوَّض للإعلان المدمج مع المحتوى:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

بعد ذلك، نفِّذ السمة GADNativeAdDelegate لتلقّي المكالمات المفوَّضة التالية:

Swift

func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
  // 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:.

عرض إعلانك

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