以下是一个使用AdMob Unity插件来显示奖励广告的示例代码:
首先,确保你已经安装了Google Mobile Ads Unity插件。可以通过Unity Asset Store或者从Google Mobile Ads GitHub仓库下载。
创建一个C#脚本文件,例如RewardAd.cs,并将以下代码粘贴到文件中:
using GoogleMobileAds.Api;
using UnityEngine;
public class RewardAd : MonoBehaviour
{
private RewardedAd rewardedAd;
private void Start()
{
// 在AdMob网站上创建奖励广告单元,并将广告单元ID替换为你自己的
string adUnitId = "YOUR_REWARD_AD_UNIT_ID";
// 创建奖励广告实例
rewardedAd = new RewardedAd(adUnitId);
// 创建请求并加载广告
AdRequest request = new AdRequest.Builder().Build();
rewardedAd.LoadAd(request);
// 添加广告加载完成的事件监听器
rewardedAd.OnAdLoaded += HandleRewardedAdLoaded;
// 添加广告加载失败的事件监听器
rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad;
// 添加广告被用户关闭的事件监听器
rewardedAd.OnAdClosed += HandleRewardedAdClosed;
// 添加用户获得奖励的事件监听器
rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
}
private void HandleRewardedAdLoaded(object sender, EventArgs args)
{
// 广告加载完成后,可以显示广告
if (rewardedAd.IsLoaded())
{
rewardedAd.Show();
}
}
private void HandleRewardedAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
// 广告加载失败时的处理代码
}
private void HandleRewardedAdClosed(object sender, EventArgs args)
{
// 广告被关闭时的处理代码
}
private void HandleUserEarnedReward(object sender, Reward args)
{
// 用户获得奖励时的处理代码
}
}
将RewardAd.cs脚本文件附加到一个游戏对象上,例如一个按钮。
在AdMob网站上创建一个奖励广告单元,并将YOUR_REWARD_AD_UNIT_ID替换为你自己的广告单元ID。
在你的游戏中调用RewardAd.cs脚本中的方法来加载和显示奖励广告。例如,在按钮的OnClick事件处理方法中调用:
public void ShowRewardAd()
{
RewardAd rewardAd = FindObjectOfType();
if (rewardAd != null)
{
rewardAd.ShowRewardAd();
}
}
这样,当用户点击按钮时,奖励广告将会加载并显示。当广告被关闭时,将会调用HandleRewardedAdClosed方法,当用户获得奖励时,将会调用HandleUserEarnedReward方法。你可以根据需要在这些方法中添加自定义的处理代码。