โฆษณาคั่นระหว่างหน้า

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

โฆษณาคั่นระหว่างหน้าเป็นโฆษณาแบบเต็มหน้าจอที่ครอบคลุมอินเทอร์เฟซของแอปโฮสต์ โดยมักแสดงที่จุดเปลี่ยนหน้าปกติในขณะที่ใช้งานแอป เช่น ระหว่างที่หยุดระหว่างด่านต่างๆ ในเกม เมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า ผู้ใช้มีตัวเลือกในการแตะโฆษณาและไปยังปลายทางต่อไปหรือปิดโฆษณานั้นและกลับไปที่แอป กรณีศึกษา

คู่มือนี้อธิบายวิธีผสานรวมโฆษณาคั่นระหว่างหน้าลงในแอป Unity

สิ่งที่ต้องมีก่อน

สร้างโฆษณาคั่นระหว่างหน้า

ขั้นตอนแรกในการแสดงโฆษณาคั่นระหว่างหน้าคือการสร้างออบเจ็กต์ InterstitialAd ในสคริปต์ที่แนบมากับ GameObject

ลองใช้ตําแหน่งโฆษณารุ่นเบต้าใหม่เพื่อการผสานรวมโฆษณาที่ง่ายขึ้นด้วย Unity Editor

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

เครื่องมือสร้างสําหรับ InterstitialAd มีพารามิเตอร์ต่อไปนี้

  • adUnitId - รหัสหน่วยโฆษณา AdMob ที่InterstitialAdควรโหลดโฆษณา

คุณควรคํานึงถึงวิธีการใช้หน่วยโฆษณาต่างๆ โดยขึ้นอยู่กับแพลตฟอร์ม คุณจะต้องใช้หน่วยโฆษณา iOS ในการส่งคําขอโฆษณาบน iOS และใช้หน่วยโฆษณา Android ในการส่งคําขอบน Android

ทดสอบโฆษณาทดสอบอยู่เสมอ

โค้ดตัวอย่างด้านบนมีรหัสหน่วยโฆษณา และคุณสามารถส่งคําขอโฆษณาที่มี รหัสเป็นอิสระได้ โดยได้รับการกําหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทนโฆษณาจริงสําหรับทุกคําขอ ซึ่งทําให้ใช้งานได้อย่างปลอดภัย

อย่างไรก็ตาม เมื่อคุณลงทะเบียนแอปใน UI ของ AdMob และสร้างรหัสหน่วยโฆษณาของคุณเองเพื่อใช้ในแอป คุณจะต้องกําหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบอย่างชัดแจ้ง เมื่อกําลังพัฒนา เรื่องนี้สําคัญมาก การทดสอบกับโฆษณาจริง (แม้ว่าจะไม่เคยแตะก็ตาม) ถือเป็นการละเมิดนโยบายของ AdMob และอาจทําให้บัญชีถูกระงับ ดูโฆษณาทดสอบเพื่อดูข้อมูลเกี่ยวกับวิธีทําให้ได้รับโฆษณาทดสอบเสมอเมื่อพัฒนา

โหลดโฆษณา

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

ต่อไปนี้คือตัวอย่างที่แสดงการโหลดโฆษณา

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

แสดงโฆษณา

โฆษณาคั่นระหว่างหน้าควรแสดงระหว่างการหยุดดูกระบวนการตามปกติของแอปตามปกติ ระหว่างด่านต่างๆ ของเกมถือเป็นตัวอย่างที่ดีมากหรือหลังจากที่ผู้ใช้ทํางานเสร็จ หากต้องการแสดงโฆษณาคั่นระหว่างหน้า ให้ใช้เมธอด isLoaded() เพื่อยืนยันว่าโหลดเสร็จแล้ว จากนั้นเรียกใช้ show()

โฆษณาคั่นระหว่างหน้าจากตัวอย่างโค้ดก่อนหน้านี้อาจแสดงเมื่อจบเกมดังที่แสดงด้านล่าง

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

เหตุการณ์โฆษณา

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

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

เหตุการณ์ OnAdFailedToLoad มีอาร์กิวเมนต์เหตุการณ์พิเศษ ซึ่งส่งอินสแตนซ์ HandleAdFailedToLoadEventArgs ที่มี Message เพื่ออธิบายข้อผิดพลาด

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
เหตุการณ์โฆษณาคำอธิบาย
OnAdLoaded ระบบจะเรียกใช้เหตุการณ์ OnAdLoaded เมื่อโฆษณาโหลดเสร็จแล้ว
OnAdFailedToLoad ระบบจะเรียกใช้เหตุการณ์ OnAdFailedToLoad เมื่อโหลดโฆษณาไม่สําเร็จ พารามิเตอร์ Message จะอธิบายประเภทของความล้มเหลวที่เกิดขึ้น
OnAdOpening ระบบจะเรียกใช้เมธอดนี้เมื่อโฆษณาแสดง ซึ่งครอบคลุมหน้าจอของอุปกรณ์
OnAdClosed เราจะเรียกใช้เมธอดนี้เมื่อโฆษณาคั่นระหว่างหน้าปิดอยู่เนื่องจากผู้ใช้แตะไอคอนปิดหรือใช้ปุ่มย้อนกลับ หากแอปหยุดเอาต์พุตเสียงหรือ Game Loop ชั่วคราว ส่วนนี้ก็เหมาะที่จะดําเนินการต่อ

ล้างโฆษณาคั่นระหว่างหน้า

เมื่อใช้ InterstitialAd เสร็จแล้ว โปรดตรวจสอบว่าได้เรียกใช้เมธอด Destroy() ก่อนที่จะลบการอ้างอิงไปยังเมธอด

interstitial.Destroy();

ซึ่งจะแจ้งปลั๊กอินที่ออบเจ็กต์นั้นๆ ไม่ได้ใช้อีกต่อไป และการเรียกคืนหน่วยความจําที่ออบเจ็กต์มีอยู่ การไม่เรียกใช้เมธอดนี้จะทําให้หน่วยความจํารั่วไหล

แนวทางปฏิบัติแนะนําบางประการ

พิจารณาว่าโฆษณาคั่นระหว่างหน้าเป็นประเภทโฆษณาที่เหมาะกับแอปของคุณหรือไม่
โฆษณาคั่นระหว่างหน้าทํางานได้ดีที่สุดในแอปที่มีจุดเปลี่ยนที่เป็นธรรมชาติ บทสรุปของงานภายในแอป เช่น การแชร์รูปภาพหรือการเล่นเกมผ่านด่านหนึ่งๆ ทําให้เกิดจุดดังกล่าว เนื่องจากผู้ใช้คาดหวังว่าจะหยุดพักการทํางานไป จึงทําให้การนําเสนอโฆษณาคั่นระหว่างหน้าเป็นเรื่องง่ายโดยไม่ขัดจังหวะประสบการณ์ของผู้ใช้ อย่าลืมพิจารณาว่าจุดใดในเวิร์กโฟลว์ของแอปที่คุณจะแสดงโฆษณาคั่นระหว่างหน้า รวมถึงแนวโน้มที่ผู้ใช้จะตอบสนอง
อย่าลืมหยุดการดําเนินการชั่วคราวเมื่อแสดงโฆษณาคั่นระหว่างหน้า
โฆษณาคั่นระหว่างหน้ามีหลายประเภท ได้แก่ ข้อความ รูปภาพ วิดีโอ และอื่นๆ สิ่งสําคัญคือการตรวจสอบว่าเมื่อแอปแสดงโฆษณาคั่นระหว่างหน้า แอปจะระงับการใช้ทรัพยากรบางส่วนด้วยเพื่อให้โฆษณาได้รับประโยชน์จากทรัพยากรเหล่านั้น เช่น เมื่อโทรเพื่อแสดงโฆษณาคั่นระหว่างหน้า อย่าลืมหยุดเอาต์พุตเสียงที่แอปสร้างขึ้นไว้ชั่วคราว คุณสามารถเล่นเสียงต่อในเครื่องจัดการเหตุการณ์ onAdClosed() ซึ่งจะเรียกใช้ได้เมื่อผู้ใช้โต้ตอบกับโฆษณาจบแล้ว นอกจากนี้ ให้พิจารณาหยุดงานการคํานวณอย่างหนักหน่วงชั่วคราว (เช่น การวนรอบเกม) ขณะแสดงโฆษณา วิธีนี้จะทําให้ผู้ใช้ไม่เห็นกราฟิกที่ช้าหรือไม่ตอบสนอง หรือวิดีโอที่กระตุกอยู่
ให้รอเวลาโหลดให้เพียงพอ
คุณควรแสดงโฆษณาคั่นระหว่างหน้าในเวลาที่เหมาะสมด้วย เพราะสิ่งที่สําคัญคือทําให้ผู้ใช้ไม่ต้องรอให้โหลดเสร็จก่อน เมื่อโหลดโฆษณาล่วงหน้าโดยเรียกใช้ loadAd() ก่อนที่จะโทร show() จะทําให้แอปมีโฆษณาคั่นระหว่างหน้าที่โหลดไว้โดยสมบูรณ์และพร้อมเมื่อถึงเวลาแสดงโฆษณา
อย่าทําให้โฆษณาดูท่วม
การเพิ่มความถี่ของโฆษณาคั่นระหว่างหน้าในแอปอาจดูเป็นวิธีที่ดีในการเพิ่มรายได้ แต่ก็อาจทําให้ประสบการณ์ของผู้ใช้แย่ลงและอัตราการคลิกผ่านต่ําลงด้วย ตรวจสอบว่าผู้ใช้ไม่ได้รบกวนบ่อยจนทําให้ใช้งานแอปไม่ได้

แหล่งข้อมูลเพิ่มเติม

ตัวอย่าง

  • ตัวอย่าง HelloWorld ∧ การติดตั้งใช้งานรูปแบบโฆษณาทั้งหมดเพียงเล็กน้อย

เรื่องราวความสำเร็จ