อัปเดตล่าสุด: กุมภาพันธ์ 2023
หน้านี้ครอบคลุมการย้ายข้อมูลสำหรับเวอร์ชันปัจจุบันและเวอร์ชันก่อนหน้า
ย้ายข้อมูลจากเวอร์ชัน 7 เป็นเวอร์ชัน 8
ตอนนี้รูปแบบเต็มหน้าจอใช้เมธอดการโหลดแบบคงที่แล้ว
ในเวอร์ชัน 7 ของปลั๊กอิน โฆษณาคั่นระหว่างหน้าและโฆษณาที่มีการให้รางวัลมีเมธอด LoadAd() ระดับอินสแตนซ์สําหรับการโหลดโฆษณา ในขณะที่โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลและโฆษณาแอป
เปิดมีเมธอด Load() แบบคงที่สําหรับการโหลดโฆษณา ในเวอร์ชัน 8 รูปแบบโฆษณาแบบเต็มหน้าจอทั้งหมด (โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล และโฆษณาเปิดแอป)
จะมีเมธอด Load() แบบคงที่สําหรับการโหลดโฆษณา นี่คือตัวอย่างวิธี
โหลดโฆษณาคั่นระหว่างหน้า
เวอร์ชัน 8 (ปัจจุบัน)
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
const string adUnitId = "unexpected_platform";
#endif
private InterstitialAd _interstitialAd;
private void LoadAd()
{
    // Load an interstitial ad
    InterstitialAd.Load(adUnitId, new AdRequest(),
        (InterstitialAd ad, LoadAdError loadAdError) =>
        {
            if (loadAdError != null)
            {
                Debug.Log("Interstitial ad failed to load with error: " +
                           loadAdError.GetMessage());
                return;
            }
            else if (ad == null)
            {
                Debug.Log("Interstitial ad failed to load.");
                return;
            }
            Debug.Log("Interstitial ad loaded.");
            _interstitialAd = ad;
        });
}
เวอร์ชัน 7 (เดิม)
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
const string adUnitId = "unexpected_platform";
#endif
private InterstitialAd _interstitialAd;
private void LoadInterstitialAd()
{
    // Initialize an InterstitialAd.
    _interstitialAd = new InterstitialAd(adUnitId);
    // Called when an ad request has successfully loaded.
    _interstitialAd.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request has failed to load.
    _interstitialAd.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    _interstitialAd.LoadAd(request);
}
private void HandleOnAdLoaded(object sender, EventArgs args)
{
    Debug.Log("Interstitial ad loaded.");
}
private void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    if (args != null)
    {
        Debug.Log("Interstitial ad failed to load with error: " +
                   args.LoadAdError.GetMessage());
    }
}
ตัวอย่างวิธีโหลดโฆษณาที่มีการให้รางวัลมีดังนี้
เวอร์ชัน 8 (ปัจจุบัน)
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/5224354917";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/1712485313";
#else
const string adUnitId = "unused";
#endif
private RewardedAd _rewardedAd;
private void LoadRewardedAd()
{
    // Load a rewarded ad
    RewardedAd.Load(adUnitId, new AdRequest(),
        (Rewarded ad, LoadAdError loadError) =>
        {
            if (loadError != null)
            {
                Debug.Log("Rewarded ad failed to load with error: " +
                           loadError.GetMessage());
                return;
            }
            else if (ad == null)
            {
                Debug.Log("Rewarded ad failed to load.");
                    return;
            }
            Debug.Log("Rewarded ad loaded.");
            _rewardedAd = ad;
        });
}
เวอร์ชัน 7 (เดิม)
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
const string adUnitId = "ca-app-pub-3940256099942544/5224354917";
#elif UNITY_IPHONE
const string adUnitId = "ca-app-pub-3940256099942544/1712485313";
#else
const string adUnitId = "unused";
#endif
private RewardedAd _rewardedAd;
private void LoadRewardedAd()
{
    // Initialize an InterstitialAd.
    _rewardedAd = new RewardedAd(adUnitId);
    // Called when an ad request has successfully loaded.
    _rewardedAd.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request has failed to load.
    _rewardedAd.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    _rewardedAd.LoadAd(request);
}
private void HandleOnAdLoaded(object sender, EventArgs args)
{
    Debug.Log("Rewarded ad loaded.");
}
private void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    if (args != null)
    {
        Debug.Log("Rewarded ad failed to load with error: " +
                   args.LoadAdError.GetMessage());
    }
}
ใช้ CanShowAd() เพื่อตรวจสอบความพร้อมในการแสดงโฆษณาเต็มหน้าจอ
ในเวอร์ชัน 7 โฆษณาแบบเต็มหน้าจอ (โฆษณาคั่นระหว่างหน้า โฆษณาที่มีการให้รางวัล โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
และโฆษณาเปิดแอป) มีเมธอด IsLoaded() ซึ่งจะแสดงผล true หากโหลดโฆษณาแล้ว
 เนื่องจากการเปลี่ยนแปลงวิธีโหลดโฆษณา ในเวอร์ชัน 8 คุณจะไม่มี
สิทธิ์เข้าถึงออบเจ็กต์โฆษณาแบบเต็มหน้าจอจนกว่าจะโหลดโฆษณาเสร็จ ซึ่งทำให้
เมธอด IsLoaded() ล้าสมัย
เวอร์ชัน 8 มีเมธอดใหม่ชื่อ CanShowAd() ซึ่งจะแสดงผล true หากโฆษณา
ยังแสดงได้ ตัวอย่างวิธีใช้ CanShowAd() ในโฆษณาคั่นระหว่างหน้ามีดังนี้
เวอร์ชัน 8 (ปัจจุบัน)
private InterstitialAd _interstitalAd;
public void ShowInterstitialAd()
{
    if (_interstitalAd != null && _interstitalAd.CanShowAd())
    {
        _interstitalAd.Show();
    }
    else
    {
        Debug.Log("Interstitial ad cannot be shown.");
    }
}
เวอร์ชัน 7 (เดิม)
private InterstitialAd _interstitalAd;
public void ShowInterstitialAd()
{
    if (_interstitalAd != null && _interstitalAd.IsLoaded())
    {
        _interstitalAd.Show();
    }
    else
    {
        Debug.Log("Interstitial ad is not ready yet.");
    }
}
ใช้ Show(Action) เพื่อแสดงโฆษณาที่มีการให้รางวัล 
ในเวอร์ชัน 7 ของปลั๊กอิน โฆษณาที่มีการให้รางวัลมีเมธอด Show() พร้อมเหตุการณ์ OnUserEarnedReward แยกต่างหากสำหรับจัดการสัญญาณรางวัลของผู้ใช้ และโฆษณาคั่นที่มีการให้รางวัลมีเมธอด Show(Action<Reward>) พร้อมการเรียกกลับสำหรับจัดการสัญญาณรางวัลของผู้ใช้ ในเวอร์ชัน 8 รูปแบบโฆษณาที่มีการให้รางวัลและโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลจะมีเมธอด Show(Action<Reward>) พร้อมด้วย
การเรียกกลับเพื่อจัดการการแจ้งเตือนรางวัลสำหรับผู้ใช้
ตัวอย่างวิธีแสดงโฆษณาที่มีการให้รางวัลมีดังนี้
เวอร์ชัน 8 (ปัจจุบัน)
private RewardedAd _rewardedAd;
public void ShowRewardedAd()
{
    if (_rewardedAd != null && _rewardedAd.CanShowAd())
    {
        _rewardedAd.Show((Reward reward) =>
        {
            Debug.Log("Rewarded ad granted a reward: " +
                    reward.Amount);
        });
    }
    else
    {
        Debug.Log("Rewarded ad cannot be shown.");
    }
}
เวอร์ชัน 7 (เดิม)
private RewardedAd _rewardedAd;
public void ShowRewardedAd()
{
    if (_rewardedAd != null && _rewardedAd.CanShowAd())
    {
        _rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
        _rewardedAd.Show();
    }
    else
    {
        Debug.Log("Rewarded ad is not ready yet.");
    }
}
public void HandleUserEarnedReward(object sender, Reward reward)
{
    Debug.Log("Rewarded ad granted a reward: " +
               reward.Amount);
}
ตอนนี้ผู้มอบสิทธิ์เหตุการณ์โฆษณารับอาร์กิวเมนต์ประเภทที่เฉพาะเจาะจงแล้ว
ใน API เวอร์ชัน 7 เราได้ใช้
EventHandlers
เมื่อกำหนดผู้มอบสิทธิ์ของเหตุการณ์ ในเวอร์ชัน 8 เราได้ใช้Generic
Delegates
 สําหรับเหตุการณ์โฆษณา ด้วยเหตุนี้ ตอนนี้เหตุการณ์จะส่งมูลค่าของเหตุการณ์โดยตรงโดยไม่ต้องห่อหุ้มไว้ในคลาส EventArg
ตัวอย่างการใช้ OnAdPaid (แทน OnPaidEvent)
เวอร์ชัน 8 (ปัจจุบัน)
private BannerView _bannerView;
public void ConfigureBanner()
{
    _bannerView.OnAdPaid += (AdValue value) =>
    {
        AdValue value = value;
    };
}
เวอร์ชัน 7 (เดิม)
private BannerView _bannerView;
public void ConfigureBanner()
{
    _bannerView.OnPaidEvent += (object sender, AdValueEventArg arg) =>
    {
        AdValue value = arg.Value;
    };
}
ตอนนี้รูปแบบโฆษณาเป็นไปตามอินเทอร์เฟซแบบเดียวกันแล้ว
ในเวอร์ชัน 7 ของปลั๊กอิน ชื่อเหตุการณ์ระหว่าง รูปแบบโฆษณาแบบเต็มหน้าจอมีความคลาดเคลื่อน ในเวอร์ชัน 8 เราได้เปลี่ยนชื่อเมธอด API หลายรายการเพื่อให้ สอดคล้องกันในรูปแบบโฆษณาต่างๆ
ตารางต่อไปนี้แสดงการเปลี่ยนแปลงคลาสที่เปิดตัวใน v8
| BannerView | |
|---|---|
| v7 | v8 | 
| OnAdLoaded | OnBannerAdLoaded | 
| OnAdFailedToLoad | OnBannerAdLoadFailed | 
| OnAdOpening | OnAdFullScreenContentOpened | 
| OnAdClosed | OnAdFullScreenContentClosed | 
| OnPaidEvent | OnAdPaid | 
| InterstitialAd | |
| LoadAd() | InterstitialAd.Load() | 
| InterstitialAd() | InterstitialAd.Load() | 
| OnAdLoaded | InterstitialAd.Load() | 
| OnAdFailedToLoad | InterstitialAd.Load() | 
| OnAdOpening | OnAdFullScreenContentOpened | 
| OnAdClosed | OnAdFullScreenContentClosed | 
| OnAdFailedToShow | OnAdFullScreenContentFailed | 
| OnAdDidRecordImpression | OnAdImpressionRecorded | 
| OnPaidEvent | OnAdPaid | 
| RewardedAd | |
| LoadAd() | RewardedAd.Load() | 
| RewardedAd() | RewardedAd.Load() | 
| OnAdLoaded | RewardedAd.Load() | 
| OnAdFailedToLoad | RewardedAd.Load() | 
| OnAdOpening | OnAdFullScreenContentOpened | 
| OnAdClosed | OnAdFullScreenContentClosed | 
| OnAdFailedToShow | OnAdFullScreenContentFailed | 
| OnAdDidRecordImpression | OnAdImpressionRecorded | 
| OnPaidEvent | OnAdPaid | 
| Show() | Show() | 
| OnUserEarnedReward | Show() | 
| RewardedInterstitialAd | |
| LoadAd() | RewardedInterstitialAd.Load() | 
| OnPaidEvent | OnAdPaid | 
| OnAdDidPresentFullScreenContent | OnAdFullScreenContentOpened | 
| OnAdDidDismissFullScreenContent | OnAdFullScreenContentClosed | 
| OnAdFailedToPresentFullScreenContent | OnAdFullScreenContentFailed | 
| OnAdDidRecordImpression | OnAdImpressionRecorded | 
| AppOpenAd | |
| LoadAd() | AppOpenAd.Load() | 
| OnPaidEvent | OnAdPaid | 
| OnAdDidPresentFullScreenContent | OnAdFullScreenContentOpened | 
| OnAdDidDismissFullScreenContent | OnAdFullScreenContentClosed | 
| OnAdFailedToPresentFullScreenContent | OnAdFullScreenContentFailed | 
| OnAdDidRecordImpression | OnAdImpressionRecorded | 
| AdErrorEventArgs | |
| AdErrorEventArgs.AdError | ใช้ AdError โดยตรง | 
| AdFailedToLoadEventArgs | |
| AdFailedToLoadEventArgs.LoadAdError | ใช้ LoadAdError โดยตรง | 
| AdValueEventArgs | |
| AdValueEventArgs.AdValue | ใช้ AdValue โดยตรง |