أشكال الإعلانات المدمجة مع المحتوى المخصّصة

يمكن للناشرين على "إدارة إعلانات Google" إنشاء أشكال "إعلانات مدمجة مع المحتوى" من خلال تحديد قوائم مخصّصة لمواد العرض. ويمكن استخدام أشكال الإعلانات المخصّصة المدمجة مع المحتوى هذه مع الإعلانات المحجوزة. تتيح أشكال "الإعلانات المدمجة مع المحتوى" المخصّصة للناشرين إرسال بيانات عشوائية خاصة بالصور والسلاسل إلى تطبيقاتهم. يتم تمثيل هذه البيانات باستخدام عنصر CustomNativeTemplateAd.

تحميل أشكال "الإعلانات المدمجة مع المحتوى" المخصّصة

يتم تحميل أشكال "الإعلانات المخصّصة المدمجة مع المحتوى" باستخدام عناصر AdLoader. تضبط طريقة forCustomTemplateAd() السمة AdLoader للتعامل مع أشكال "الإعلانات المخصّصة المدمجة مع المحتوى". يرتبط كل شكل من أشكال "الإعلانات المدمجة مع المحتوى" المخصّصة بقيمة معرّف النموذج. يجب تحديد معرّف نموذج شكل الإعلان المدمج مع المحتوى المخصّص الذي يريد تطبيقك أن يطلبه من AdLoader. ابحث عن أرقام تعريف النماذج في واجهة مستخدم "مدير إعلانات Google" للعثور على رقم تعريف نموذج شكل الإعلان المدمج مع المحتوى الذي تريد طلبه.

void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
        .forCustomNativeAd("10063170")
        .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

بما أنّه يمكن إعداد وحدة إعلانية واحدة لعرض أكثر من نموذج واحد لتصميم الإعلان، يمكن استدعاء forCustomTemplateAd() عدّة مرات باستخدام أرقام تعريف مختلفة للنماذج من أجل إعداد Adloader لأكثر من شكل واحد من "الإعلانات المخصّصة المدمجة مع المحتوى". يوضّح مقتطف الرمز البرمجي أدناه كيفية إعداد AdLoader لعدّة نماذج مخصّصة لأشكال الإعلانات الأصلية.

void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
        .forCustomNativeAd("10063170")
        .forCustomNativeAd("10063171")
        .forCustomNativeAd("10063172")
        .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

أحداث الإعلانات في شكل "الإعلانات المدمجة مع المحتوى" المخصّصة

تقدّم الفئة AdLoader أحداث الإعلانات من النوع EventHandler لإعلامك بمراحل نشاط شكل "إعلان مدمج مع المحتوى" مخصّص. يوضّح المثال أدناه كيفية التسجيل لتلقّي أحداث الإعلانات المدمجة مع المحتوى المخصّصة:

adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

تحتوي الطريقة HandleCustomNativeAdLoaded() على المَعلمة CustomNativeEventArgs. يمكن الوصول إلى شكل "الإعلان المدمج مع المحتوى" المخصّص الذي تم تحميله من خلال مَعلمة الحدث هذه، كما هو موضّح أدناه:

private boolean adLoaded;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    customNativeTemplateAd = args.nativeAd;
    adLoaded = true;
}

عرض أشكال "الإعلانات المدمجة مع المحتوى" المخصّصة

توفّر أشكال "الإعلانات المدمجة مع المحتوى" المخصّصة إمكانية استخدام أي عدد من مواد العرض من الصور والنصوص التي يحدّدها المستخدم. يمكن الوصول إلى مواد العرض هذه من خلال الفئة CustomNativeTemplateAd التي توفّر الطريقتَين GetTexture2D() وGetText() اللتين تستخدمان معرّف المتغيّر الخاص بحقل النموذج كمعلَمة.

يستخرج مثال التنفيذ التالي مواد العرض من CustomNativeTemplateAd:

public const int NATIVE_AD_TEMPLATE_1 = 10063170;
public const int NATIVE_AD_TEMPLATE_2 = 10063171;

private boolean adLoaded;
private Texture2d mainImageTexture;
private string headline;
private CustomNativeTemplateAd customNativeTemplateAd;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeTemplateAd.GetTexture2D("MainImage");
        headline = customNativeTemplateAd.GetText("Headline");

        string templateId = customNativeTemplateAd.GetCustomTemplateId();
        if (templateId == NATIVE_AD_TEMPLATE_1)
        {
            ...
        }
        else if (templateId == NATIVE_AD_TEMPLATE_2)
        {
            ...
        }
        ...
        adLoaded = false;
    }
}
...

void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    customNativeTemplateAd = args.nativeAd;
    adLoaded = true;
    ...
}

التعامل مع النقرات ومرّات الظهور الخاصة بأشكال "الإعلانات المدمجة مع المحتوى" المخصّصة

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

تسجيل مرّات الظهور

لتسجيل مرّة ظهور لشكل إعلان مدمج مع المحتوى مخصّص، استدعِ طريقة RecordImpression() على CustomNativeTemplateAd المقابل:

customNativeTemplateAd.RecordImpression();

النقرات على الإبلاغ

لإبلاغ حزمة SDK عن حدوث نقرة على مادة عرض، استدعِ طريقة PerformClick() في CustomNativeTemplateAd المقابل، وأدخِل اسم مادة العرض التي تم النقر عليها. على سبيل المثال، إذا كان لديك مادة عرض في تنسيق الإعلان المخصّص على الأجهزة الجوّالة باسم "MainImage" وأردت تسجيل نقرة على الملف يتوافق مع مادة العرض هذه، سيبدو الرمز البرمجي على النحو التالي:

customNativeTemplateAd.PerformClick("MainImage");

عند تسجيل نقرة على إعلان نموذج مخصّص، هناك ردّان محتملان من حزمة SDK، ويتمّ تنفيذهما بهذا الترتيب:

  1. ابحث عن أداة تحليل محتوى لعنوان URL الخاص بالرابط لصفحة معيّنة في الإعلان، وابدأ بالأداة الأولى التي تحلّل المحتوى.
  2. افتح متصفّحًا وانتقِل إلى عنوان URL التقليدي المقصود للإعلان.

إجراءات النقر المخصّصة

قد تقرّر معالجة إجراء النقر بنفسك لأشكال &quot;الإعلانات المدمجة مع المحتوى&quot; المخصّصة بدلاً من توجيه المستخدم إلى رابط لصفحة في التطبيق أو متصفّح ويب. يمكنك إجراء ذلك من خلال توفير Action<CustomNativeTemplateAd, string> اختياري في طريقة AdLoader.Builder.forCustomTemplateAd(). من خلال ضبط إجراء النقر المخصّص هذا، يمكنك تجاهل سلوك النقر في حزمة SDK الموضّح أعلاه. في ما يلي مثال يستخدم إجراء نقر مخصّصًا لتسجيل نقرة على مادة عرض معيّنة:

private void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
        .forCustomNativeAd("10063170", HandleCustomNativeAdClicked)
        .Build();
    adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
    adLoader.LoadAd(createAdRequest());
}

private void HandleCustomNativeAdClicked(CustomNativeTemplateAd customNativeTemplateAd, string assetName)
{
    Debug.Log("Native ad asset with name " + assetName + " was clicked.");
}