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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

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

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

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

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

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

/6499/example/native

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

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

جارٍ تحميل الإعلانات

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

وبالإضافة إلى شكل الإعلان المدمج مع المحتوى الذي يحدّده النظام، يتوفّر للناشرين في GoogleAd Manager خيار إنشاء أشكال الإعلانات المدمجة مع المحتوى من خلال تحديد قوائم مخصّصة لمواد العرض. وتُعرف هذه الأشكال باسم أشكال الإعلانات المدمجة مع المحتوى المخصّصة، ويمكن استخدامها لإعلانات الإعلانات المدمجة مع المحتوى التي تُباع مباشرةً. وتسمح أشكال الإعلانات المدمجة مع المحتوى للناشرين بتمرير البيانات المنظّمة العشوائية إلى تطبيقاتهم. ويتم تمثيل هذه الإعلانات من خلال الفئة 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,
                    didReceive 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 مثل إعلانات البانر والإعلانات البينية. يمكنك استخدام عناصر الطلبات لإضافة معلومات استهداف، تمامًا كما تفعل مع أنواع الإعلانات الأخرى.

يمكن للقائم GADAdLoader الواحد إرسال طلبات متعددة، لكن فقط إذا تم تنفيذها واحدًا تلو الآخر. عند إعادة استخدام GADAdLoader، احرص على الانتظار حتى ينتهي كل طلب قبل الاتصال بـ loadRequest: مرة أخرى لبدء التالي. وفي حال الحاجة إلى طلب إعلانات متعددة بشكل متوازٍ، يمكنك دائمًا استخدام عناصر GADAdLoader متعددة.

حالات طلب الإعلانات

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

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

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

تعمل البروتوكولات أعلاه على توسيع بروتوكول 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 application to become inactive and
  // open a new application.
}

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 application to become inactive and
  // open a new application.
}

عرض إعلانك

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