آخرین بهروزرسانی: فوریه ۲۰۲۳
این صفحه مهاجرتها را برای نسخههای فعلی و قبلی پوشش میدهد.
مهاجرت از نسخه ۷ به نسخه ۸
فرمتهای تمام صفحه اکنون از یک روش بارگذاری استاتیک استفاده میکنند
در نسخه ۷ این افزونه، تبلیغات بینابینی و پاداشی دارای یک متد LoadAd() در سطح نمونه برای بارگذاری یک تبلیغ بودند، در حالی که تبلیغات بینابینی پاداشی و تبلیغات باز شدن برنامه دارای یک متد Load() ایستا برای بارگذاری تبلیغات بودند. در نسخه ۸، تمام قالبهای تبلیغات تمام صفحه (بینابینی، پاداشی، تبلیغات بینابینی پاداشی و باز شدن برنامه) دارای یک متد Load() ایستا برای بارگذاری تبلیغات خواهند بود. در اینجا مثالی از نحوه بارگذاری یک تبلیغ بینابینی آورده شده است:
نسخه ۸ (فعلی)
#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;
});
}
نسخه ۷ (قدیمی)
#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());
}
}
در اینجا مثالی از نحوه بارگذاری یک تبلیغ جایزهدار آورده شده است:
نسخه ۸ (فعلی)
// 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;
});
}
نسخه ۷ (قدیمی)
// 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() برای بررسی آمادگی نمایش تبلیغات تمام صفحه استفاده کنید
در نسخه ۷، تبلیغات تمام صفحه (بینابینی، پاداشی، بینابینی پاداشی و تبلیغات باز برنامه) دارای متد IsLoaded() بودند که در صورت بارگذاری تبلیغ true را برمیگرداند. با توجه به تغییر در نحوه بارگذاری تبلیغات، در نسخه ۸ تا زمانی که تبلیغ بارگذاری نشود، به شیء تبلیغ تمام صفحه دسترسی ندارید، که باعث میشود متد IsLoaded() منسوخ شود.
نسخه ۸ یک متد جدید به نام CanShowAd() دارد که در صورت نمایش تبلیغ، true را برمیگرداند. در اینجا مثالی از نحوه استفاده از CanShowAd() در یک تبلیغ بینابینی آورده شده است:
نسخه ۸ (فعلی)
private InterstitialAd _interstitalAd;
public void ShowInterstitialAd()
{
if (_interstitalAd != null && _interstitalAd.CanShowAd())
{
_interstitalAd.Show();
}
else
{
Debug.Log("Interstitial ad cannot be shown.");
}
}
نسخه ۷ (قدیمی)
private InterstitialAd _interstitalAd;
public void ShowInterstitialAd()
{
if (_interstitalAd != null && _interstitalAd.IsLoaded())
{
_interstitalAd.Show();
}
else
{
Debug.Log("Interstitial ad is not ready yet.");
}
}
از نمایش (عملکرد) استفاده کنید ) برای نمایش تبلیغات جایزهدار
در نسخه ۷ این افزونه، تبلیغات جایزهدار دارای متد Show() با یک رویداد جداگانه OnUserEarnedReward برای مدیریت سیگنالهای پاداش کاربر بودند و تبلیغ بینابینی جایزهدار دارای متد Show(Action<Reward>) با یک فراخوانی برای مدیریت سیگنال پاداش کاربر بود. در نسخه ۸، قالبهای تبلیغات بینابینی جایزهدار و جایزهدار دارای یک متد Show(Action<Reward>) با یک فراخوانی برای مدیریت اعلان پاداش کاربر خواهند بود.
در اینجا مثالی از نحوه نمایش یک تبلیغ جایزهدار آورده شده است:
نسخه ۸ (فعلی)
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.");
}
}
نسخه ۷ (قدیمی)
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، ما هنگام تعریف نمایندههای رویداد از EventHandlers استفاده میکردیم. در نسخه ۸، نمایندههای عمومی را برای رویدادهای تبلیغاتی اتخاذ کردیم. در نتیجه، رویدادها اکنون مقادیر رویداد را مستقیماً و بدون قرار گرفتن در کلاس EventArg منتشر میکنند.
در اینجا مثالی از استفاده از OnAdPaid (به جای OnPaidEvent ) آورده شده است:
نسخه ۸ (فعلی)
private BannerView _bannerView;
public void ConfigureBanner()
{
_bannerView.OnAdPaid += (AdValue value) =>
{
AdValue value = value;
};
}
نسخه ۷ (قدیمی)
private BannerView _bannerView;
public void ConfigureBanner()
{
_bannerView.OnPaidEvent += (object sender, AdValueEventArg arg) =>
{
AdValue value = arg.Value;
};
}
قالبهای تبلیغاتی اکنون با یک رابط کاربری واحد مطابقت دارند.
در نسخه ۷ این افزونه، تفاوتهایی در نام رویدادها بین قالبهای تبلیغاتی تمام صفحه وجود داشت. در نسخه ۸، ما بسیاری از متدهای API خود را تغییر نام دادهایم تا در قالبهای تبلیغاتی ما سازگار باشند.
جدول زیر تغییرات کلاس معرفی شده در نسخه ۸ را فهرست میکند.
BannerView | |
|---|---|
| نسخه ۷ | نسخه ۸ |
| OnAdLoaded | OnBannerAdLoaded |
| OnAdFailedToLoad | بارگذاری بنر تبلیغاتی ناموفق |
| افتتاح در تبلیغات | OnAdFullScreenContentOpened |
| OnAdClosed | OnAdFullScreenContentبسته شد |
| رویداد آنلاین | آنادپید |
InterstitialAd | |
| بارگذاری آگهی() | تابع ()InterstitialAd.Load |
| تبلیغ بینابینی() | تابع ()InterstitialAd.Load |
| OnAdLoaded | تابع ()InterstitialAd.Load |
| OnAdFailedToLoad | تابع ()InterstitialAd.Load |
| افتتاح در تبلیغات | OnAdFullScreenContentOpened |
| OnAdClosed | OnAdFullScreenContentبسته شد |
| نمایش ناموفق در تبلیغات (OnAdFailedToShow) | OnAdFullScreenContentFailed |
| نمایش رکورد در آگهی | ثبت شده در OnAdImpression |
| رویداد آنلاین | آنادپید |
RewardedAd | |
| بارگذاری آگهی() | تابع ()RewardedAd.Load |
| تبلیغات پاداشی() | تابع ()RewardedAd.Load |
| OnAdLoaded | تابع ()RewardedAd.Load |
| OnAdFailedToLoad | تابع ()RewardedAd.Load |
| افتتاح در تبلیغات | OnAdFullScreenContentOpened |
| OnAdClosed | OnAdFullScreenContentبسته شد |
| نمایش ناموفق در تبلیغات (OnAdFailedToShow) | OnAdFullScreenContentFailed |
| نمایش رکورد در آگهی | ثبت شده در OnAdImpression |
| رویداد آنلاین | آنادپید |
| نمایش() | نمایش() |
| پاداش کسب شده توسط کاربر | نمایش() |
RewardedInterstitialAd | |
| بارگذاری آگهی() | تابع ()RewardedInterstitialAd.Load |
| رویداد آنلاین | آنادپید |
| OnAdDidPresentFullScreenContent | OnAdFullScreenContentOpened |
| OnAdDidDismissFullScreenContent | OnAdFullScreenContentبسته شد |
| OnAdFailedToPresentFullScreenContent | OnAdFullScreenContentFailed |
| نمایش رکورد در آگهی | ثبت شده در OnAdImpression |
AppOpenAd | |
| بارگذاری آگهی() | تابع ()AppOpenAd.Load |
| رویداد آنلاین | آنادپید |
| OnAdDidPresentFullScreenContent | OnAdFullScreenContentOpened |
| OnAdDidDismissFullScreenContent | OnAdFullScreenContentبسته شد |
| OnAdFailedToPresentFullScreenContent | OnAdFullScreenContentFailed |
| نمایش رکورد در آگهی | ثبت شده در OnAdImpression |
AdErrorEventArgs | |
| خطای AdErrorEventArgs.AdError | مستقیماً از AdError استفاده کنید. |
AdFailedToLoadEventArgs | |
| AdFailedToLoadEventArgs.LoadAdError | مستقیماً از LoadAdError استفاده کنید. |
AdValueEventArgs | |
| AdValueEventArgs.AdValue | مستقیماً از AdValue استفاده کنید. |