You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity激励广告:如何统计观看次数并触发对应奖励?

激励广告计数解锁方案(结合现有关卡代码)

1. 广告次数统计核心逻辑

直接用你已在使用的PlayerPrefs存储广告观看次数,实现达标判断:

// 设定需要观看的广告次数阈值,示例为3次
private const int REQUIRED_AD_COUNT = 3;

// 获取当前已观看的广告次数,默认0次
private int GetAdWatchCount()
{
    return PlayerPrefs.GetInt("AdWatchCount", 0);
}

// 广告成功播放完成后调用此方法
public void OnAdWatchedComplete()
{
    int currentCount = GetAdWatchCount();
    currentCount++;
    PlayerPrefs.SetInt("AdWatchCount", currentCount);
    PlayerPrefs.Save(); // 强制写入本地,避免数据丢失

    // 检查是否达到解锁条件
    if (currentCount >= REQUIRED_AD_COUNT)
    {
        // 可二选一或同时执行两种奖励
        UnlockAllLevels();
        GiveCoinReward(150); // 奖励150金币,数值可自行调整

        // 可选:重置计数,防止重复触发奖励
        PlayerPrefs.SetInt("AdWatchCount", 0);
        PlayerPrefs.Save();
    }
}

2. 整合全关卡解锁逻辑

修改你现有的关卡锁定代码,加入全关卡解锁的判断逻辑:

public Button[] lvlButtons;

void Start()
{
    RefreshLevelButtons();
}

private void RefreshLevelButtons()
{
    int unlockedLevel = PlayerPrefs.GetInt("levelAt", 2);
    bool isAllUnlocked = PlayerPrefs.GetInt("AllLevelsUnlocked", 0) == 1;

    for (int i = 0; i < lvlButtons.Length; i++)
    {
        // 要么全关卡解锁,要么按原逻辑判断单关卡是否解锁
        lvlButtons[i].interactable = isAllUnlocked || (i + 2 <= unlockedLevel);
    }
}

// 解锁所有关卡的方法
private void UnlockAllLevels()
{
    PlayerPrefs.SetInt("AllLevelsUnlocked", 1);
    PlayerPrefs.Save();
    RefreshLevelButtons(); // 立刻更新按钮交互状态
}

3. 金币奖励实现

同样用PlayerPrefs存储金币数值,实现奖励逻辑:

private void GiveCoinReward(int coinAmount)
{
    int currentCoins = PlayerPrefs.GetInt("PlayerCoins", 0);
    currentCoins += coinAmount;
    PlayerPrefs.SetInt("PlayerCoins", currentCoins);
    PlayerPrefs.Save();

    // 此处需添加UI更新代码,将新的金币数展示到游戏UI上
    // UpdateCoinDisplay(currentCoins);
}

关键注意事项

  • 必须在广告成功播放完成并触发官方奖励回调时调用OnAdWatchedComplete(),比如Unity Ads的OnUserEarnedReward、AdMob的OnRewardedAdUserEarnedReward,避免未看完广告就触发奖励。
  • 测试阶段可通过PlayerPrefs.DeleteAll()清空所有存储数据,快速重置测试流程。
  • 若后续需要支持多存档或更复杂的数据管理,可替换PlayerPrefs为JSON文件、本地数据库等方案,当前需求下PlayerPrefs足够简洁实用。

内容的提问来源于stack exchange,提问作者iSTAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:30:39