إضافة الإعلانات الخلالية إلى تطبيق Unity

تتيح لك Audience Network إمكانية تحقيق أرباح من تطبيقاتك على أنظمة Android وiOS من خلال إعلانات فيسبوك. الإعلانات الخلالية هي تجربة إعلان بوضع ملء الشاشة يمكن استخدامها عند نقاط الانتقال في دفق التطبيق، على سبيل المثال بين الأنشطة أو أثناء الإيقاف المؤقت بين المستويات داخل لعبة. يمكن أن يكون محتوى التصميم عبارة عن صور أو مقاطع فيديو أو إعلانات دوّارة. يوضح هذا الدليل كيفية إضافة الإعلانات الخلالية إلى تطبيقك.

احرص على قراءة دلائل بدء استخدام Audience Network وبدء استخدام تطبيق Unity قبل المتابعة.

خطوات الإعلان الخلالي

الخطوة الأولى: إنشاء كائن إعلان خلالي

الخطوة الثانية: إضافة أحداث الاستدعاء

الخطوة الثالثة: تحميل الإعلان

الخطوة الرابعة: عرض الإعلان

الخطوة الأولى: إنشاء كائن إعلان خلالي

تتمثل الخطوة الأولى لعرض إعلان خلالي في إنشاء كائن InterstitialAd في برنامج C#‎ النصي المرفق في GameObject.

...
using AudienceNetwork;
...

public class InterstitialAdTest : MonoBehaviour
{
    ...
    private InterstitialAd interstitialAd;
    private bool isLoaded;
    ...

    public void LoadInterstitial()
    {
        this.interstitialAd = new InterstitialAd("YOUR_PLACEMENT_ID");
        this.interstitialAd.Register(this.gameObject);

        // Set delegates to get notified on changes or when the user interacts with the ad.
        this.interstitialAd.InterstitialAdDidLoad = (delegate() {
            Debug.Log("Interstitial ad loaded.");
            this.isLoaded = true;
        });
        interstitialAd.InterstitialAdDidFailWithError = (delegate(string error) {
            Debug.Log("Interstitial ad failed to load with error: " + error);
        });
        interstitialAd.InterstitialAdWillLogImpression = (delegate() {
            Debug.Log("Interstitial ad logged impression.");
        });
        interstitialAd.InterstitialAdDidClick = (delegate() {
            Debug.Log("Interstitial ad clicked.");
        });

        this.interstitialAd.interstitialAdDidClose = (delegate() {
            Debug.Log("Interstitial ad did close.");
            if (this.interstitialAd != null) {
                this.interstitialAd.Dispose();
            }
        });

        // Initiate the request to load the ad.
        this.interstitialAd.LoadAd();
    }
    ...
}

تتضمن جهة إنشاء InterstitialAd المعلمات التالية:

  • placementId - معرف موضع Audience Network لوحدة الإعلان الخلالي هذه.

الخطوة الثانية: إضافة أحداث الاستدعاء

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

...
// Set delegates to get notified on changes or when the user interacts with the ad.
this.interstitialAd.InterstitialAdDidLoad = (delegate() {
    Debug.Log("Interstitial ad loaded.");
    this.isLoaded = true;
});
interstitialAd.InterstitialAdDidFailWithError = (delegate(string error) {
    Debug.Log("Interstitial ad failed to load with error: " + error);
});
interstitialAd.InterstitialAdWillLogImpression = (delegate() {
    Debug.Log("Interstitial ad logged impression.");
});
interstitialAd.InterstitialAdDidClick = (delegate() {
    Debug.Log("Interstitial ad clicked.");
});

this.interstitialAd.interstitialAdDidClose = (delegate() {
    Debug.Log("Interstitial ad did close.");
    if (this.interstitialAd != null) {
        this.interstitialAd.Dispose();
    }
});
...

استدعاء نشاط الإعلان التالف في Android لتطبيق Unity

لا يتعلق ذلك سوى بنظام Android.

لا تدعم ألعاب Unity الحالية الخاصة بنظام Android سوى Activity الرئيسي في Unity للحصول على launchMode من singleTask. اعرض مستند Unity لملف بيانات Android ومستند Android للنشاط.

نظرًا لأننا نستخدم Activity لعرض إعلانات Interstitial وRewarded Video، قد يكون نشاط الإعلان تالفًا دون إغلاقه بشكل صحيح عندما يستعين المستخدم بأحد التطبيقات كخلفية، ثم يعيد تشغيله باستخدام الأيقونة وليس من مبدل التطبيقات. يمكنك استخدام الاستدعاءات التالية، والتحقق مما إذا أغلق المستخدم الإعلان أم لا:

بالنسبة للإعلانات الخلالية:

this.interstitialAd.interstitialAdDidClose = (delegate() { Debug.Log("Interstitial ad did close."); this.didClose = true; if (this.interstitialAd != null) { this.interstitialAd.Dispose(); } }); #if UNITY_ANDROID /* *لا يتعلق سوى بنظام Android. * لن يتم تشغيل هذا الاستدعاء إلا في حالة تلف نشاط الإعلان الخلالي * دون إغلاقه بشكل صحيح. لا يحدث ذلك إلا في حالة * استخدام تطبيق يتضمن launchMode:singleTask (مثل لعبة تطبيق Unity) * كخلفية، ثم إعادة تشغيله من خلال النقر على الأيقونة. */ this.interstitialAd.interstitialAdActivityDestroyed = (delegate() { if (!this.didClose) { Debug.Log("Interstitial activity destroyed without being closed first."); Debug.Log("Game should resume."); } }); #endif 

بالنسبة لإعلانات الفيديو بمكافأة:

this.rewardedVideoAd.rewardedVideoAdDidClose = (delegate() { Debug.Log("Rewarded video ad did close."); this.didClose = true; if (this.rewardedVideoAd != null) { this.rewardedVideoAd.Dispose(); } }); #if UNITY_ANDROID /* *لا يتعلق سوى بنظام Android. * لن يتم تشغيل هذا الاستدعاء إلا في حالة تلف نشاط الفيديو بمكافأة * دون إغلاقه بشكل صحيح. لا يحدث ذلك إلا في حالة * استخدام تطبيق يتضمن launchMode:singleTask (مثل لعبة تطبيق Unity) * كخلفية، ثم إعادة تشغيله من خلال النقر على الأيقونة. */ this.rewardedVideoAd.rewardedVideoAdActivityDestroyed = (delegate() { if (!this.didClose) { Debug.Log("Rewarded video activity destroyed without being closed first."); Debug.Log("Game should resume. User should not get a reward."); } }); #endif 

الخطوة الثالثة: تحميل الإعلان

بمجرد إنشاء مثيل لـ InterstitialAd، تكون الخطوة التالية هي تحميل إعلان. ويتم إجراء ذلك من خلال الأسلوب loadAd() في الفئة InterstitialAd.

في المثال الموضح أعلاه، إليك كيفية تحميل الإعلان:

...
this.interstitialAd.LoadAd();
...

الخطوة الرابعة: عرض الإعلان

وأخيرًا، بعد تحميل الإعلان الخلالي، يمكنك استدعاء الأسلوب Show لعرض الإعلان الخلالي على الشاشة. على سبيل المثال، يمكنك توفير وظيفة ShowInterstitial، واستدعاء هذه الوظيفة عندما يأتي وقت عرض الإعلان الخلالي:

// Show button
public void ShowInterstitial()
{
    if (this.isLoaded) {
        this.interstitialAd.Show();
        this.isLoaded = false;

    } else {
        Debug.Log("Interstitial Ad not loaded!");
    }
}

الخطوات التالية

اتبع الدلائل التي نوفرها لدمج مختلف تنسيقات الإعلانات في تطبيق Unity لديك:

بمجرد أن تكون مستعدًا لعرض البث المباشر باستخدام تطبيقك وتحقيق الأرباح، يجب تقديم تطبيقك للمراجعة بعد التأكد من التزامه بسياسات Audience Network ومعايير مجتمع فيسبوك.