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

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

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

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

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

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

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

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

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

/21775744923/example/native

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

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

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

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

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

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

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

Swift

adLoader = GADAdLoader(adUnitID: "/21775744923/example/native",
    // The UIViewController parameter is optional.
    rootViewController: rootViewController,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native"
    // The UIViewController parameter is nullable.
    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:.

عرض إعلانك

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