เพิ่มโฆษณาคั่นไปยังแอพ Unity

Audience Network ช่วยให้คุณสร้างรายได้จากแอพ Android และ iOS ของคุณได้ด้วยโฆษณาบน Facebook โฆษณาคั่นคือประสบการณ์โฆษณาแบบเต็มหน้าจอที่สามารถใช้เป็นจุดช่วงต่อระหว่างคลิปในขั้นตอนการทำงานของแอพ เช่น ระหว่างกิจกรรมต่างๆ หรือช่วงหยุดชั่วคราวระหว่างเกมแต่ละระดับ เนื้อหาของชิ้นงานโฆษณาอาจเป็นรูปภาพ วิดีโอ หรือภาพสไลด์ก็ได้ คู่มือนี้จะอธิบายวิธีเพิ่มโฆษณาคั่นไปยังแอพของคุณ

อย่าลืมดูคู่มือเริ่มต้นใช้งาน Audience Network และเริ่มต้นใช้งาน Unity ก่อนดำเนินการต่อ

ขั้นตอนของโฆษณาคั่น

ขั้นตอนที่ 1: สร้างอ็อบเจ็กต์โฆษณาคั่น

ขั้นตอนที่ 2: การเพิ่มเหตุการณ์การเรียกกลับ

ขั้นตอนที่ 3: โหลดโฆษณา

ขั้นตอนที่ 4: การแสดงโฆษณา

ขั้นตอนที่ 1: สร้างอ็อบเจ็กต์โฆษณาคั่น

ขั้นตอนแรกในการแสดงโฆษณาคั่นคือการสร้างอ็อบเจ็กต์ 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 - ID ตำแหน่งการจัดวาง Audience Network สำหรับหน่วยโฆษณาคั่นนี้

ขั้นตอนที่ 2: การเพิ่มเหตุการณ์การเรียกกลับ

ถัดไป คุณสามารถนำการเรียกกลับบางรายการไปใช้เพื่อสมัครรับข้อมูลเหตุการณ์วงจรอายุของโฆษณาได้ รับเหตุการณ์เหล่านี้โดยการลงทะเบียนตัวแทนสำหรับเหตุการณ์ ตามที่แสดงในตัวอย่างด้านล่าง

...
// 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();
    }
});
...

การเรียกกลับสำหรับกิจกรรมโฆษณาที่ถูกทำลายใน Unity ของ Android

สำหรับ 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 

ขั้นตอนที่ 3: โหลดโฆษณา

เมื่อสร้างอินสแตนซ์ InterstitialAd แล้ว ขั้นตอนถัดไปคือการโหลดโฆษณา ซึ่งทำได้โดยใช้เมธอด loadAd() ในคลาส InterstitialAd

ในตัวอย่างที่แสดงด้านบน วิธีโหลดโฆษณาทำได้ดังนี้

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

ขั้นตอนที่ 4: การแสดงโฆษณา

ขั้นตอนสุดท้าย หลังจากมีการโหลดโฆษณาคั่นแล้ว คุณจะสามารถเรียกเมธอด 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 และมาตรฐานชุมชนของ Facebook